【问题标题】:VP9 WEBM video support in EDGE browserEDGE 浏览器中的 VP9 WEBM 视频支持
【发布时间】:2017-10-10 13:04:29
【问题描述】:

我看到 EDGE 通过在其浏览器配置中启用 MSE 中的 VP9 来声称在最新版本中支持 VP9 编解码器。

我尝试过这样做,但仍然无法正常工作,并且会引发错误,提示不支持这种类型的视频文件。

我在 EDGE 浏览器中启动了https://html5test.com/compare/browser/mybrowser.html URL,这表明浏览器不支持 VP9,同时 youtube 视频在 WebM vp9 编解码器中流式传输(使用统计数据供书呆子检查)。

我在我的 HTML 文件中使用它

<video>
    <source src="http:/url/123.webm" type="video/webm"/>
</video>

Youtube 的https://www.youtube.com/html5 声称它可以播放 MSE & WEBM vp9,并且它能够播放 vp9 视频,服务器为 vp9 和 MSE & vp9 提供请求的方式有什么不同。

我可以毫无问题地在 chrome 和 firefox 中播放 VP9 视频。 提前感谢您的帮助。

【问题讨论】:

    标签: html microsoft-edge webm mse vp9


    【解决方案1】:

    从 EdgeHTML 15.15063 开始,仅在使用 MSE(媒体源扩展)时才支持 WebM + VP9。您正在使用的标签:

    <video>
        <source src="http:/url/123.webm" type="video/webm"/>
    </video>
    

    没有使用 MSE。为此,您需要在 JavaScript 中创建一个 MediaSource 对象并将您的视频内容流式传输到 SourceBuffer 中。 Microsoft's streaming player example

    要使用 MSE API,请按以下步骤操作:

    1. 在页面的 HTML 部分定义一个 HTML5 视频元素。
    2. 在 JavaScript 中创建一个 MediaSource 对象。
    3. 使用 createObjectURL 创建一个以 MediaSource 对象为源的虚拟 URL。
    4. 将虚拟 URL 分配给视频元素的 src 属性。
    5. 使用 addSourceBuffer 创建一个 SourceBuffer,使用您要添加的视频的 MIME 类型。
    6. 从在线媒体文件中获取视频初始化片段,并通过 appendBuffer 将其添加到 SourceBuffer 中。
    7. 从媒体文件中获取视频数据的片段,用 appendBuffer 将它们附加到 SourceBuffer 中。
    8. 在视频元素上调用播放方法。
    9. 重复第 7 步直到完成。
    10. 清理。

    根据this Edge platform issue,微软只声称有限的 WebM + VP9 支持,如果没有社区通过 Windows 10 反馈中心和/或Microsoft Edge UserVoice 的大力推动,这种情况不太可能改变。

    Chrome 和 Firefox 支持没有 MSE 的 WebM + VP9,这就是它在这些浏览器中工作的原因。

    【讨论】:

      猜你喜欢
      • 2021-01-24
      • 2018-04-14
      • 1970-01-01
      • 2020-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多