Google 期待基于 VP8 Codec 构建应用广泛的视频标准

  • Abel Avram
  • 张龙

2010 年 5 月 25 日

话题:Java.NETRubyGoogle架构DevOps语言 & 开发

近日,Google 开源了WebM——用于视频压缩与编码的免费媒体文件格式。虽说这对于那些支持新标准的业界大佬们来说是个好消息,但他们还是有不少疑问,比如许可和代码质量等问题。

Google 在去年 8 月曾表示要以 1 亿美元的价格收购On2 Technologies,结果在今年 2 月该计划终获批准,收购价为 1 亿 3 千万美金。Google 此举的目的在于得到 On2 的视频压缩与编码技术,即我们所熟知的 VP8。VP8 的早期版本 VP3 于 2002 年开源,成为开源的Theora codec 的基础。

近日,Google 开源了WebM——用于视频压缩与编码的免费媒体文件格式,它主要包含如下组件:VP8 视频 codec、Vorbis音频 codec 以及Matroska媒体容器。目前支持 WebM 的浏览器有Chromium每夜构建版、Mozilla Firefox每夜构建版、Opera  Labs,从本月 24 日开始Chrome Dev也将开始支持 WebM。Google 宣布将在今年第 4 季度发布的 Gingerbread 中提供 WebM 的 Android 支持,同时 Google 的其他产品也将开始支持 WebM。现在 YouTube 已经开始对那些试用HTML 5的视频采用 VP8 了。

微软此前曾表示如果用户的 PC 上安装了 VP8 codec,那么Internet Explorer 9Silverlight就可以播放 WebM 视频,但是否直接将 VP8 codec 纳入到 Windows 中还是个问题。还有其他很多公司也都表示了支持 WebM 的意愿,包括软件厂商SkypeAdobe和 Oracle 以及硬件厂商 AMD、ARM、Logitech、NVIDIA、Qualcomm、MIPSTexas Instruments。Google表示“将与硬件厂商合作以便能有更多的设备可以支持 WebM,现在正与众多的显卡和芯片厂商密切合作以在生产的芯片中支持 VP8 硬件加速”。到目前为止,Apple 方面还没有回应是否在 Safari 中支持 WebM。

免费、开源的视频 codec 可以加快 HTML 5 的普及速度,同时也极有可能成为 Internet 事实上的视频标准;然而,自从 Google 发表声明以来,多方都在担心 VP8 codec 的许可以及性能问题。

Google 对 VP8 所采取的是修改的 BSD 许可,一个针对比特流规范、另一个针对源代码。这意味着无论用于何种目的都可以使用其代码与 codec,但如果你控告 Google,那么将立刻失去 VP8 的许可权。

Jason Garrett-Glaser 是一位使用 X264(基于 H.264 用于视频编码的开源库)的独立开发者,在看过 VP8 规范后说到

VP8 与 H.264 太像了:一言以蔽之,如果描述不那么严格的话,可以将 VP8 看作是“一个带有更好的熵编码的 H.264 Baseline Profile”。虽然我不是律师,但我实在不敢相信在这个诉讼满天飞的年代,他们怎么能这么干。与 VP8 相比,VC-1 与 H.264 之间的差别更大,但它还是没有逃过软件专利的手爪。在得到确凿的证据能够证明 VP8 这么干没错之前,我会保持谨慎的态度。由于 Google 并没有保护 VP8 用户能够免于专利诉讼,这将成为一个潜在的问题。

从目前的情况来看,VP8 有潜在的专利诉讼风险,这主要来自于 H.264 背后的 MPEG LA,这种不确定性可能会阻碍 VP8 的使用率。对于 Google 来说,一种可能的解决方案是对 WebM 的使用者提供补偿金以保护他们免遭诉讼,然而目前并没有迹象表明 Google 会采取这种方案。

另一个问题是代码质量。Garrett-Glaser 认为 VP8 codec 比 H.264 差远了:

作为一个规范,VP8 应该比 H.264 Baseline Profile 和 VC-1 好一些,但事实上它还无法与 H.264 Main 和 High Profile 抗衡...

作为一个编码器,VP8 在质量上介于 vid 和微软的 VC-1 之间,显然还有很大的改进空间,但这种改进并不能通过传统方式达成...

作为一个解码器,VP8 的解码速度还不如 ffmpeg 的 H.264,其改进空间也并不大...

现在并非使用 VP8 的黄金时刻,规范中充满了复制——粘贴的 C 代码,编码器的接口也缺少足够的特性而且还有 bug。他们尚没有确定下来比特流格式,更不必说让全世界都迁移到 VP8 上了。

Garrett-Glaser 的上述意见还是要一分为二地看待,毕竟他是个 H.264 开发者而非中立的第三方。另一方面,Google 承认规范已经到达最后阶段,但实现还需改进:

虽然我们对目前的质量和性能感到自豪,但还有很多工作要做。VP8 比特流已经确定了,但 WebM 格式的一些特性尚未完成。我们期待在随后的官方发布中质量和性能能更上一层楼,同时我们还会进行更多的测试。大家可以帮助我们完善路线图进而使我们能够胜利到达彼岸。

开源、免费许可的出现有可能极大地改变目前的在线视频市场,但尚需数月才能看到 VP8 是否有能力担此重任——成为可靠的 Web 客户端。你对此有何高见呢?你觉得这对于现在和未来的 Web 应用开发意味着什么呢?

查看英文原文:Google Wants a New Widely-Adopted Video Standard Based on the VP8 Codec

Java.NETRubyGoogle架构DevOps语言 & 开发