这是 Greg Maxwell 撰写的一篇博文的转载(经许可),该博文是对 Google 的 Chris DiBona 在 WhatWG 邮件列表 中的评论做出的回应。讨论的编解码器与我们即将包含在 Firefox 3.5 中的编解码器相同,并且也是 Mozilla、维基百科和其他机构一直在投资的编解码器。
最近的 Google Chrome 开发者版支持这些编解码器,Opera 的未来版本也将支持它们。如果您安装了 Xiph Qt 组件,则 Theora 和 Vorbis 也可在 Safari 中使用。我们正迅速达到所有现代浏览器都支持这些开放编解码器并完全支持 video 标签 的程度。
您会注意到 Greg 的博文没有营销文档的语气——它并非旨在如此。这也不是对高清尺寸、高比特率视频的比较。相反,它试图对开放编解码器与世界上最大的视频网站上常用的格式和尺寸相比的表现给出诚实的比较。我认为您会同意 Greg 在文档末尾得出的结论,尤其是在 Vorbis 真正闪耀的音频方面。
以下是 Greg 的博文。
目的
2009 年 6 月 13 日,Google 的 Chris DiBona 在 WhatWG 邮件列表上做出了 一个引人注目的声明
“如果 [youtube] 切换到 Theora 并维持当前 YouTube 质量的哪怕一点表象,它将占用互联网上大部分可用的带宽。”
不幸的是,开放视频格式经常受到 FUD 的影响,以至于人们愿意相信这种大胆的断言,而不会要求提供证据。
在本比较中,我将证明这一说法是不公平和不合理的。通过一个简单的测试用例,我表明 Theora 具有竞争力,甚至优于 Google 今天在 YouTube 上分发的某些文件。
Theora 目前并不是最有效的视频编解码器。但它绝非糟糕,并且远优于许多其他广泛使用的选项。根据传统标准,Theora 具有竞争力。它还具有不受限制、计算复杂度合理以及完全开源的巨大优势。人们常常对 Theora 未能提供比特率与质量方面的最新技术的正确观察感到困惑,并将其理解为 Theora 表现不佳,而实际上它的表现相当不错。此外,Theora 编码器最近得到了很大改进,因此一些旧问题不再适用。
虽然不同的文件可能会产生不同的结果,但 WhatWG 上提出的指控非常广泛,因此我相信简单的比较可以可靠地证明其谬误。
我不认为 Chris 试图欺骗任何人,只是他与许多其他人一样,是过时和/或不准确信息的受害者。汽车爱好者可能会对两辆汽车之间 5 马力的差异大惊小怪,但对于大多数购车者来说,这些原始性能差异并不相关,甚至对于赛车的人来说也不是最重要的标准。同样,影音发烧友会挑剔压缩格式的质量,这种挑剔对于艺术的进步非常重要。但我认为,人们将这些微小的差异误认为与他们自己的编解码器选择相关的差异。
结果
通过下载服务可以获得 499kbit/sec 的 H.264+AAC 输出和 327kbit/sec 的 H.263(Sorensen Spark)+MP3 输出。YouTube 编码的文件可在 YouTube 网站 上获得。由于 YouTube 上的文件可能会更改,并且 Web 播放器不会公开底层比特率,因此我提供了两个编码文件。
~499kbit/sec 比较
YouTube

下载 (H.264+AAC; 17MiB)
Ogg/Theora+Vorbis

下载 / 观看 (Ogg/Theora+Vorbis; 17MiB)
~327kbit/sec 比较
YouTube

下载 (H.263+MP3; 12MiB)
Ogg/Theora+Vorbis

下载 / 观看 (Ogg/Theora+Vorbis; 12MiB)
Theora+Vorbis 测试用例使用了略低的比特率,以避免出现由于较大输出导致的质量改进问题。
为了进行公平的比较,您必须同时比较音频。即使没有音频差异,静止图像比较也是视频质量的糟糕替代品。
我仅提供此随机帧静止图像比较,因为我希望人们在没有证据表明结果有趣的情况下不会费心观看示例。
方法
为了避免在选择 H.264 编码器和编码选项时出现任何可能的偏差,并最大程度地提高与此特定问题的相关性,我使用了 YouTube 本身作为 H.264 编码器。这并非理想之选,因为 YouTube 不接受无损输入,但它接受任意高比特率输入。
我利用 Blender 基金会的 大雄兔 作为我的测试用例,因为它具有明确的许可状态,因为它是一个现实世界的测试用例,并且因为我以无损格式拥有它。我不知道有任何理由表明此特定剪辑会偏向 Theora 或 H.264。
我选择使用带声道的测试用例,因为大多数实际使用都包含声音。没有人会在没有音频的情况下实现 HTML5 视频,也没有人在没有 Theora 或 Vorbis 的情况下实现另一个。Vorbis 处于领先地位的性能是整体 Ogg/Theora+Vorbis 解决方案的贡献因素。
- 从 media.xiph.org 获取无损 640×360 大雄兔源 PNG 和 FLAC。
- 使用 ImageMagick 的 convert 实用程序将图像重新采样到 480×270。
- 使用 gstreamer 的 jpegenc,生成质量为 100 的 mjpeg + PCM 音频流。结果约为 1.5Gbytes,比特率约为 20Mbit/sec。
- 截断文件以使其低于 YouTube 1Gbyte 的限制,生成 input_mjpeg.avi (706MiB)。
- 将文件上传到 YouTube 并等待其转码。
- 使用众多 Web 下载服务之一下载 YouTube 生成的 FLV 和 H.264 文件。(我使用了 keepvid)
- 使用 libtheora 1.1a2 和 Vorbis aoTuv 5.7 从上传到 YouTube 的同一文件 (input_mjpeg.avi) 生成与 youtube 499kbit/sec 比特率相当的文件。
- 将上传到 YouTube 的文件重新采样到 400×226。
- 使用 libtheora 1.1a2 和 Vorbis aoTuv 5.7 从 input_mjpeg.avi 的 400×226 降采样副本生成与 youtube 327kbit/sec 比特率相当的文件。
我后来发现 YouTube 有时会提供其他尺寸。我尝试了 youtube-dl 实用程序,它表明我的文件不可用这些其他尺寸。否则,我还会将它们包含在本比较中。
Theora 编码使用了 250 帧的关键帧间隔。使用的 theora 1.1a2 编码器软件可从 theora.org 获取。使用的 Vorbis 编码器可从 aoTuV 网站获取。未执行任何软件修改。
我的结论
在低比特率下比较视频可能很困难,即使 YouTube 的更高比特率选项也无法达到良好的质量。主要挑战在于,所有这些速率下的文件都将存在问题,因此评论者常常被迫决定哪两种完全不同的缺陷更糟糕。有时人们会得出不同的结论。
也就是说,我相信 Theora+Vorbis 的结果远优于 YouTube 327kbit/sec。其他一些人也向我表达了相同的观点,而且我希望您也会得出同样的结论。这并不奇怪,因为我们一直在告诉人们 Theora 优于 H.263,尤其是在较低比特率下,而 YouTube 仅使用 H.263 的子集。
低比特率情况还受益于 Vorbis 相比 MP3 的显著优势。例如,低速率 YouTube 剪辑中开头处的蟋蟀声音听不见,但在 Ogg/Theora+Vorbis 版本中听起来很好。
在 499kbit/sec H.264 的情况下,我相信在仔细比较后,许多人会更喜欢 H.264 视频。但是,差异并不算太大。我预计大多数休闲用户不太可能表达偏好或抱怨质量,如果一个被替换为另一个,并且我已经让几个人对文件进行了随意比较并表示漠不关心。由于 Theora+Vorbis 提供了如此可比的结果,我认为我可以自信地说,互联网即将灭亡的报道被大大夸大了。
当然,YouTube 可能正在使用劣质的处理链或编码选项,这些选项会牺牲质量以换取其他一些理想的特性(如更好的寻道粒度、编码速度或特定的速率控制模式)。但即使如此,我们也可以得出结论,采用开放的、不受限制的格式来补充或替代其当前产品不会导致质量或比特率方面的问题。
但请——亲自看看和听听。
关于 Christopher Blizzard
一次发布,让网络更美好。
27 条评论