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

ale*_*973 8 javascript html5 transcoding video-streaming mpeg-dash

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

我试过这个并不起作用:

<video controls>
  <source src = "Movie_Manifest.mpd"/>
</video>
Run Code Online (Sandbox Code Playgroud)

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

重申一下:

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

要么

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

谢谢,快乐流媒体

Bra*_*rad 7

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与接口并不太难.如果您有某些特殊原因想要使用自己的分发方法,那么这是可行的.