小编典典

HTML5视频不流式传输,需要90秒才能加载

html

我有一个HTML5视频播放器:

<video width="800" height="475" id ="video" controls="" src="" autoplay></video>

这似乎在开发人员中100%有效,但是在生产视频中,加载视频可能需要90秒的时间。我想弄清楚html5播放器是否真的是流式播放器,或者它首先需要完整下载吗?一位同事通知我,设置标签的方法如下:

<video width="800" height="475" id ="video" controls="" src="" preload="none" autoplay></video>

如果preload选项为none或元数据,则应强制浏览器流式传输视频,而不是缓冲整个内容。我在这里有什么选择?我应该放弃html5播放器吗?我的印象是html5播放器是在我们的Intranet上进行流视频处理的正确方法。有什么建议么?


阅读 491

收藏
2020-05-10

共1个答案

小编典典

因为您必须通过公共互联网(而不是本地网络)移动文件,所以您需要使用ffmpeg之类的将元数据(MOOV原子)移动到视频文件的开头,以便可以更快地开始流式传输

./ffmpeg -y -i SourceFile.mp4 -s 1280x720 -c:v libx264 -b 3M -strict -2 -movflags faststart DestFile.mp4

上面的代码将在mp4容器中使用h264为您提供1280x720的输出,速度为3Mbps,然后进行第二遍操作以将moov元素移至文件的开头,从而使其能够更快地开始流式传输(有关更多详细信息,请参见此答案))。

您还应该检查生产服务器配置是否与开发服务器相匹配,特别是支持字节范围请求的能力,该请求允许更优化的内容流

2020-05-10