HTML5 视频编解码器支持

Posted

技术标签:

【中文标题】HTML5 视频编解码器支持【英文标题】:HTML5 video codec support 【发布时间】:2011-04-10 23:21:51 【问题描述】:

html5 视频标签将支持哪些编解码器?

它会因浏览器而异,还是会支持特定的编解码器规范?

【问题讨论】:

【参考方案1】:

根据wikipedia:

当前的 HTML5 草案规范 未指定哪些视频格式 浏览器应该在视频中支持 标签。用户代理可以免费支持 他们认为的任何视频格式 合适。

HTML5 是草稿格式,这可能会改变。

关于各种算法的适用性一直存在争议,目前似乎并非所有相关人员都能就答案达成一致。三个主要的竞争者是 Ogg/Theora、H.264 和 VP8/WebM。各种实现的现状varies between the browsers。

当前的 HTML5 草案规范指出:

这将有助于 如果所有浏览器都可以互操作性 支持相同的编解码器。然而, 没有已知的编解码器可以满足 目前所有球员:我们需要一个 已知不需要的编解码器 按单位或按分销商许可, 与开放兼容的 源码开发模式,即 足以使用的质量, 这不是额外的 潜艇专利风险大 公司。这是一个持续的问题 此部分将更新一次 更多信息可用。

【讨论】:

【参考方案2】:

我读过的most detailed description of the HTML5 video situation 在 Dive Into HTML5 一书中。

【讨论】:

【参考方案3】:

规范不强制要求特定的编解码器。

长期以来,浏览器供应商之间存在着巨大的分歧。由于专利问题,Firefox 不会实施 H.264。由于担心缺乏硬件实施和带宽问题,以及对潜艇专利的一些模糊担忧,Apple 不会实施 Ogg Theora。谷歌表示,出于质量和带宽的考虑,他们不会在 Ogg Theora 中编码 YouTube 视频,尽管他们在 Chrome 中实现了 H.264 和 Ogg Theora。我相信 Opera 也关注 H.264 专利,微软支持 H.264 反对 Theora。

然后 Google 收购了 On2,并创建了 WebM,这是一个在 Matroska 容器中包含 VP8 视频和 Ogg Vorbis 音频的规范。 Firefox、Chrome 和 Opera 都致力于支持 WebM。微软和苹果还没有接受它,尽管微软has said 他们将支持 VP8 视频“当用户安装了 VP8 编解码器时”。这听起来与 Safari 的情况类似;您可以安装 QuickTime 插件来支持其他编解码器,例如 Ogg Theora 或 VP8/WebM,但它不支持开箱即用。

这里真正的问题是人们会在移动硬件上支持什么。因为有特殊用途的硬件来加速解码,专利成为一个更大的问题,而且由于资源有限,仅仅支持一长串编解码器变得不太可行。 Google 已承诺将在今年年底前在 android 3 中支持 WebM,但我不会打赌 Apple 或 Microsoft 会很快实现它。

可能的答案是一段时间内不会有一个标准编解码器。获得可以在任何地方播放的视频的最佳方法是使用 Ogg Theora 和 H.264 进行编码,并使用两个 <source> 元素来引用它们。随着浏览器越来越多地支持 WebM(Firefox 4、Chrome 6),您可能希望同时使用 H.264 和 WebM 进行编码。您现在可以开始对所有 3 个进行编码,但这有点多余,因为大多数支持 WebM 的浏览器也支持 Ogg Theora。

【讨论】:

【参考方案4】:

最初,Ogg Theora 视频是预期的最低公分母。然而,诺基亚和苹果等公司对该格式和specification was changed to avoid listing a specific codec 表示担忧。这给我们留下了三种格式,所有主流浏览器都不完全支持它们。

目前情况如下:

Internet Explorer 8 及更低版本根本不支持 video 标签。 IE 9 将支持 H.264。 Firefox 3.5+ 支持 Ogg Theora。 Firefox 4+ 支持 VP8 (WebM)。 Chrome 3+ 支持 Ogg Theora。 Chrome 6+ 支持 VP8。 H.264 support is about to be dropped。 Safari 3.1+ 支持 H.264。 Opera 10.50+ 支持 Ogg Theora。 Opera 10.60+ 支持 VP8。

如果考虑每个浏览器当前的市场份额,最常见的支持是 Ogg Theora,最不常见的是 H.264,这主要是因为 Ogg Theora 没有任何已知专利,而 H.264 是。由于支持 H.264 的成本,Firefox 很可能永远不会支持 H.264,而 Opera 也采取了类似的立场。 Chrome 现在在同一条船上,目前唯一支持它的浏览器是 Safari。然而,Ogg Theora 被广泛认为是一种平庸的格式(其优势在于开放性而不是编码本身),因此 VP8 支持作为一种替代的开放/免费格式正在增长。因此,至少目前,编解码器支持各不相同。最有可能获得普遍原生支持的格式是 VP8,但它不会在不久的将来发生。

请注意,这仅涵盖本机支持。例如,可以add H.264 support to Firefox 3.6+ with a plugin。

其他值得注意的平台:

ios 支持 H.264。 Android 支持 H.264。 Android 2.3 增加了 WebM 支持。

【讨论】:

【参考方案5】:

IE9 好像支持 WebM 和 H.264

http://www.eweek.com/c/a/Application-Development/Microsoft-Updates-IE9-HTML5-Video-with-WebM-Support-213252/

看起来微软也提供了plugin for Chrome to support H.264

【讨论】:

以上是关于HTML5 视频编解码器支持的主要内容,如果未能解决你的问题,请参考以下文章

为啥没有适用于所有浏览器的通用 HTML5 视频编解码器标准?

WEB浏览器视频流播放方案

多路RTSP流解码:最高可支持12路视频编解码

mp4的视频打开可以播放在页面上无法打开

在 Opencv 的 UYVY 编解码器中录制视频

h5 video 视频播放开发 和 问题集合