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

Can HTML5 Play a .mpd Manifest File Through Its Video Tag?

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

我已经试过了,但没用:

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

效果很好,但它选择了最低质量的视频流并且输出很慢。我希望它具有自适应比特流。您可能会想,"Do you think your bandwidth is just that slow?" 是的,我的带宽很慢,但没那么慢。此外,当我单独 运行 那个低质量的 webm 文件时,它 运行 很流畅。

所以重申一下:

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

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

谢谢,祝直播愉快

Can HTML5 Play a .mpd Manifest File Through Its Video Tag?

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

Can I use a "simple" HTML5 video tag for adaptive bit streaming?

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

Do I have to use an open source media player (that the video tag would be accessing through a 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 并不太难与之交互。如果您有一些特殊原因想要使用自己的分发方法,这是可行的。