Firefox 15(现在在 Beta 频道)通过 Opus 参考实现 支持 Opus 音频格式。
什么是 Opus?
Opus 是一种完全免费的音频格式,最近被 IETF 批准作为标准跟踪 RFC 发布。Opus 文件现在可以在 Firefox Beta 中播放。
Opus 提供以下优势:
- 比 MP3、Ogg 或 AAC 格式压缩率更高
- 适用于音乐和语音
- 动态可调比特率、音频带宽和编码延迟
- 支持交互式和预先录制应用程序
为什么我应该关心?
首先,Opus 是自由软件,对所有人免费,可用于任何目的。它也是一个 IETF 标准。编码器和解码器都是免费的,包括定点实现(适用于移动设备)。这些不是玩具演示。它们是我们所能做到的最好,已准备好投入实际应用。
我们认为 Opus 是一种适用于 Web 音频的令人难以置信的新格式。我们正在努力说服其他浏览器采用它,以 打破对通用 <audio> 格式的僵局。
该编解码器是由 IETF 互联网宽带音频编解码器工作组 的成员合作开发的,包括 Mozilla、微软、Xiph.Org、博通、Octasic 等。
我们 设计它 用于高质量、交互式音频(VoIP、电话会议),并将它用于即将发布的 WebRTC 标准。Opus 也是同类最佳,适用于实时流媒体和静态文件播放。事实上,它是第一个既适合交互式应用程序,又适合非交互式应用程序的音频编解码器。
Opus 与或优于基本上所有现有的有损音频编解码器,与它们在各自的最佳应用场景中竞争,包括:
- 通用音频编解码器(高延迟、高质量)
-
- MP3
- AAC(所有版本)
- Vorbis
- 语音编解码器(低延迟、低质量)
-
- G.729
- AMR-NB
- AMR-WB (G.722.2)
- Speex
- iSAC
- iLBC
- G.722.1(所有变体)
- G.719
而且没有一个编解码器具有支持 Opus 所有用例的通用性。
听力测试表明:
- 在 64 kbps 时,Opus 听起来比 HE-AAC 和 Vorbis 都好。
- 一个 64 kbps 的 Opus 文件 听起来与一个 96 kbps 的 MP3 文件一样好。
节省了大量带宽。它也更灵活。
Opus 可以流式传输:
- 窄带语音,比特率低至 6 kbps
- 全频音乐,每个频道的比特率为 256 kbps
在更高的比特率下,它是感知无损的。它还在这些极端之间动态缩放,具体取决于可用的网络带宽。
Opus 特别擅长压缩语音。那些 相同的测试结果(幻灯片 19)显示,对于全频单声道语音,Opus 在 32 kbps 时几乎是透明的。对于有声读物和播客来说,这是一个真正的胜利。
Opus 也非常适合短文件(如游戏音效)和启动延迟,因为与 Vorbis 不同,它不需要在每个文件开始时使用几千字节的码本。这也使得流式传输更加容易,因为服务器不必保留额外的数据来发送给在流媒体过程中加入的客户端。相反,它可以发送一个动态构建的小型通用标头。
如何在网页中使用它?
Opus 与 <audio> 元素一起工作,就像其他任何音频格式一样。
例如:
<audio src="ehren-paper_lights-64.opus" controls>
网页中的此代码将显示一个像这样的嵌入式播放器:
(需要 Firefox 15 或更高版本)
编码文件
目前,创建 Opus 文件的最佳方法是使用 opusenc
工具。你可以从以下位置获取源代码以及 Mac 和 Windows 二进制文件:
虽然 Firefox 15 是第一个支持原生 Opus 的浏览器,但播放功能将很快添加到 gstreamer、libavcodec、foobar2000 和其他媒体播放器中。
流式传输
实时流媒体应用程序从 Opus 的灵活性中受益匪浅。你无需事先决定是想要低带宽还是高质量,是针对语音优化还是音乐优化等等。流媒体服务器可以根据条件调整编码,而不会中断流媒体到播放器。
预编码文件可以从正常的 Web 服务器流式传输。流行的 Icecast 流媒体服务器 可以将一个动态生成的单一实时 Opus 流媒体转发给数千个连接的监听器。Opus 受 当前开发版本的 Icecast 支持。
更多信息
要了解更多信息,请访问 opus-codec.org,或加入 irc.freenode.net 上的 #opus。
关于 Timothy B. Terriberry
Timothy B. Terriberry 是 Xiph.Org 基金会的长期志愿者,参与了 Theora、Vorbis、CELT 和 Opus 等编解码器的开发工作。他自 2008 年以来一直为 Mozilla 的媒体支持做出贡献,并自 2010 年以来一直在开发 WebRTC。
35 条评论