碎片MP4不能在纯HTML5视频上播放



我需要使用视频标签在网络上使用3GB的视频。加载页面后,媒体元素需要很长时间才能接收'LoadedMetadata事件'

我发现 MOOV盒的大小太大(33mb)。因此,当我用'empty_moov frag_keyframe''ffmpeg'ffmpeg'重新编码它时,但是从'获取所有片段的信息也花费了更长的时间。Inspector-网络' tab in Chrome。

有没有办法加速播放'零散的mp4'带有HTML5视频标签的加载?

您不提及将视频传递给浏览器的协议,但是碎片的MP4通常使用ABR(自适应比特率)流协议传递。写作时最常用的ABR协议可能是HLS和DASH。

使用ABR允许客户端以较低的比率开始,因此可以加快初始播放的速度 - 然后可以升级到不同的质量水平,以达到特定设备和当前网络条件的最佳质量。

您可以通过大型流媒体服务看到这种效果,在启动时,视频质量明显降低,然后在10-20秒后改进。在此答案中查看更多信息:

  • https://stackoverflow.com/a/42365034/334402

bwsers通常不用HTML5标签本地支持ABR-因此,您通常会使用基于JavaScript的播放器,该播放器使用HTML5 MSE(媒体源扩展)机制来支持ABR。您可以看到开源的例子,例如:

  • http://dashif.org/reference/players/javascript/1.3.0/samples/dash-if-reference-player/index.html
  • https://shaka-player-demo.appspot.com/demo/#asset=//storage.googleapis.com/shaka-demo-assets/angel-angel-angel-angel-one/dash.mpd.lang=en-us

最新更新