HTML5可以通过其视频标签播放.mpd清单文件吗?

时间:2017-04-26 11:27:39

标签: javascript html5 video-streaming mpeg-dash transcoding

我有一个Movie.Manifest.mpd文件,由5个.webm视频流(由不同大小和bps组成)和1个音频文件组成。我问的问题是:它可以通过“简单的”HTML5视频标签播放吗?

我已经尝试了这个并且它不起作用:

<video controls>
  <source src = "Movie_Manifest.mpd"/>
</video>

它确实有效,但它选择质量最低的视频流,输出结果很迟。我希望它有自适应比特流。您可能会想,“您认为您的带宽是那么慢吗?”是的,我的带宽很慢,但不是那么慢。此外,当我自己运行低质量的webm文件时,它运行顺畅。

重申:

1)我可以使用“简单”HTML5视频标签进行自适应比特流传输吗?

或者

2)我是否必须使用开源媒体播放器(视频标签将通过javascript访问)?

感谢和快乐的流媒体

1 个答案:

答案 0 :(得分:5)

  

HTML5可以通过视频标签播放.mpd清单文件吗?

不,浏览器必须直接支持DASH,目前没有浏览器支持。

  

我可以使用“简单”HTML5视频标签进行自适应比特流传输吗?

不,浏览器本身不支持用于自适应比特率的协议。有一些HLS支持,但它远非普遍。

  

我是否必须使用开源媒体播放器(视频标签可通过javascript访问)?

播放器代码是否为开源代码无关紧要。

基本上,您需要播放DASH或其他基于HTTP的分段媒体协议是一些利用媒体源扩展的JavaScript。 https://www.w3.org/TR/media-source/

媒体源扩展(MSE)是一种相对较新的标准,您可以编写将媒体块传送到浏览器的JavaScript。您不必在脚本中解码此媒体,您只需要提供它。这允许在JavaScript(HTTP(S),WebSocket和WebRTC数据通道)中已经使用的任何内容之上的自定义分发协议。

要在浏览器中播放DASH,通常的方法是使用DASH.js. https://github.com/Dash-Industry-Forum/dash.js/wiki它实际上是DASH的参考播放器,并且经过了极好的测试。

如果你愿意,你可以开发自己的播放器。 MSE与其接口并不太难。如果您有某些特殊原因想要使用自己的分发方法,那是可行的。