我有一个Movie.Manifest.mpd文件,由5个.webm视频流(由不同大小和bps组成)和1个音频文件组成。我问的问题是:它可以通过“简单的”HTML5视频标签播放吗?
我已经尝试了这个并且它不起作用:
<video controls>
<source src = "Movie_Manifest.mpd"/>
</video>
它确实有效,但它选择质量最低的视频流,输出结果很迟。我希望它有自适应比特流。您可能会想,“您认为您的带宽是那么慢吗?”是的,我的带宽很慢,但不是那么慢。此外,当我自己运行低质量的webm文件时,它运行顺畅。
重申:
1)我可以使用“简单”HTML5视频标签进行自适应比特流传输吗?
或者
2)我是否必须使用开源媒体播放器(视频标签将通过javascript访问)?
感谢和快乐的流媒体
答案 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与其接口并不太难。如果您有某些特殊原因想要使用自己的分发方法,那是可行的。