使用html5 video播放的视频加载很慢怎么优化?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用html5 video播放的视频加载很慢怎么优化?相关的知识,希望对你有一定的参考价值。

new个video,指定播放列表的第一个视频路径为src。监听end事件,回调里面把video的src改成列表的下一个,再play

代码示例:
var vList = ['视频地址url1', 'url2', '...']; // 初始化播放列表
var vLen = vList.length; // 播放列表的长度

var curr = 0; // 当前播放的视频
var video = new Video();
video.addEventListener('end', play);
play();

function play(e)
video.src = vList[curr];
video.load(); // 如果短的话,可以加载完成之后再播放,监听 canplaythrough 事件即可
video.play();

curr++;
if (curr >= vLen) curr = 0; // 播放完了,重新播放

可以实现html5 播放多个视频。一个接一个的播放
参考技术A <video autoplay="autoplay" loop="loop" src="video.ogg"></video>
autoplay:当视频准备就绪就开始播放(不需要完全下载好,只要准备好了能播的时候就会马上播)
loop:循环播
参考技术B 视频文件太大会导致加载慢

在 html 中使用 iframe 播放视频

【中文标题】在 html 中使用 iframe 播放视频【英文标题】:Play videos with iframe in html 【发布时间】:2016-10-06 12:02:57 【问题描述】:

我想播放一个视频,但它只是下载。 这是我的代码:

<iframe src="videos/1.mp4"  ></iframe>

页面加载时的Result是:

如何使用 iframe 而不是 video 标签播放视频?

【问题讨论】:

这背后的逻辑是什么?我可以尝试在 P 标签内播放视频,因为我不想要视频元素,它也不起作用 我想你想要的是here。当然,如果需要,您可以将其放在 iframe 下。 我不认为因为一些人仍然坚持使用他们的史前浏览器而降低 HTML5 的标准会让你走得更远——这是他们自己的错和问题。也许您可以向旧浏览器显示一条消息,并告诉他们需要使用现代浏览器来享受网站的完整体验 不能在 IFRAME URL 中提供视频源,必须使用 video embed 标签。对于旧浏览器支持,您可以使用像 VideoJS 这样的 polyfill,它也可以使用 flash 播放器在旧浏览器中播放 【参考方案1】:

虽然有些浏览器可能支持这种导入视频的方式(使用&lt;iframe&gt;),但有些浏览器会将视频作为文件处理并尝试下载它。显示视频的正确方法是使用&lt;video&gt; 标签:

<video   controls>
  <source src="videos/1.mp4" type="video/mp4">
</video>

在此处查看 W3Schools 教程:video tag simple tutorial

【讨论】:

原来的问题没有视频标签:-)【参考方案2】:

只需使用&lt;video&gt;&lt;source src="..." type="video/mp4"&gt;&lt;/video&gt; 标签。

【讨论】:

【参考方案3】:

其实你的代码没有问题! 但问题在于 IDM(Internet 下载管理器),因为它会钩住您的浏览器请求的每个链接,并查找您尝试访问的目标是否与 IDM 的扩展列表中的内容相匹配,因此第一件事将在文件被执行后执行请求的是 IDM,因为它比您的浏览器具有更高的优先级,并且无论如何它都充当您浏览器中的侦听器。

你要么必须从钩子中排除“localhost” 或者你必须从 IDM 的扩展列表中删除 mp4 扩展(效率不高)

【讨论】:

【参考方案4】:

iframe 标签用于显示另一个页面,不用于播放视频。您无法播放带有该标签的视频,无论是 vimeo youtube 还是任何其他公司都允许您使用“iframe”添加视频,因为他们之前已经在该页面上配置了一些选项并放置了视频。这就是您可以通过 iframe 插入视频的原因。

现在,如果您想强制执行此操作,您应该执行以下操作:

    创建一个 html-并在该 html 中使用

    实现一个视频

    然后从另一页写&lt;iframe src = "yourwebcontentvideo.html" /&gt;

就是这样。

【讨论】:

【参考方案5】:

iframe 是一种 HTML 元素,它允许将外部网站、网页或文档(如 word、pdf)或视频嵌入 HTML 文档中。

这是一个通过您网站上的 iframe 标签加载 Youtube 视频的示例

输出:

<pre>
<code>

https://jsfiddle.net/anjaneyulu15/og64djL0/7/

</code>

</pre>

原创内容取自iframeinhtml.com

【讨论】:

【参考方案6】:

你可以使用这个,你可以使用 mp4 url​​ 作为 url 参数并返回 HTML VideoJS 播放器。 https://simplevideoplayer.bubbleapps.io/

【讨论】:

【参考方案7】:

您可以像这样生成动态内容:

let ifTest = document.getElementById('if-test');
let videoPath = 'https://file-examples-com.github.io/uploads/2017/04/file_example_MP4_480_1_5MG.mp4';
let videoHtml = '<html><body><video  autoplay="true" loop="true" muted="true" ><source src="' + videoPath + '" type="video/mp4" /></video></body></html>';

ifTest.setAttribute('srcdoc', videoHtml);
ifTest.setAttribute('style', 'width:264px; height:150px;')
&lt;iframe id="if-test" srcdoc=""&gt;&lt;/iframe&gt;

【讨论】:

以上是关于使用html5 video播放的视频加载很慢怎么优化?的主要内容,如果未能解决你的问题,请参考以下文章

html5 <video>怎么在页面加载好久开始播放视频

HTML5中audio标签的使用

html5 怎么点一个按钮,播放一个相应的视频

video.js分段自动加载视频html5视频播放器

如何让WebView中的Html5 Video全屏播放

html5开发,iphone中的微信内置浏览器如何让video标签的视频不全屏