什么是 OGG 和 Opus?
Ogg 和 Opus 经常被混淆,因为它们在文件扩展名上紧挨着。简短版本:Ogg 是容器,Vorbis 和 Opus 是编解码器。.ogg 文件是一个包装器,里面装着编码后的音频(或视频)包;本页写入的两种编解码器是 Vorbis(2002 年诞生的开源编解码器,为与 MP3 竞争而生)和 Opus(2012 年的 IETF 标准 RFC 6716,如今在大多数比特率上超越所有其他有损编解码器)。两者永久免版税 — 无专利、无许可费,这就是网页、游戏和几乎所有即时通讯应用都标准化采用它们的原因。
锚定全页的五个事实:
• Ogg = 容器格式;Vorbis 和 Opus = 其中的编解码器(本页文件为 .ogg 或 .opus)
• 两者都是有损格式,与 MP3 一样 — 质量在编码时选定,丢弃的数据无法找回
• Vorbis 质量刻度 0–10;质量 5 的立体声约合 160 kbps
• Opus 从 6 到 510 kbps,128 kbps 下对大多数音乐透明
• 两者的元数据都是 Vorbis Comments — 开放标签体系,不是 ID3
容器与编解码器:.ogg 文件到底是什么
Ogg 容器(来自 Xiph.Org 基金会)对它的家族做的事,就像 MP4 对 AAC 做的事:把压缩后的包加框,加时间戳让播放器知道何时解码每个包,并对每页做校验和,使损坏的文件降级而不是彻底死掉。一个容器可以装不同的编解码器 — Vorbis 音频、Opus 音频、Ogg 中的 FLAC、甚至 Theora 视频 — 这就是为什么仅凭扩展名无法判断里面是哪个编解码器。这也是为什么一些老播放器打开 .ogg 文件只播放静音:它们认识容器却不认识里面的编解码器。现代浏览器、VLC 和 Foobar2000 在任何平台上都能处理两种编解码器。
Vorbis 与 Opus:两个开放编解码器,两个时代
Vorbis(2002)因 MP3 受专利束缚而诞生。它在每比特音质上决定性地胜过 MP3 — 质量 5 的 Vorbis 文件在约 160 kbps 下听感相当于约 192 kbps 的 MP3 — 并成为维基百科、Spotify 早期流媒体和 2000 年代大多数 PC 游戏的编解码器。
Opus(2012,RFC 6716)是继任者,它的设计解释了它的特性列表。它融合了两种编解码器:SILK(Skype 的语音编解码器,语音表现出色)和 CELT(Xiph 的音乐编解码器,全带宽声音表现出色)— 并在每一帧之间切换(或混合)。实际后果:它从 6 kbps 的电话语音质量到 510 kbps 的录音室全带宽都能工作;延迟极低(帧短至 5 ms,默认 26.5 ms — MP3 需要约 100 ms 以上),这对通话至关重要;它是 WebRTC 的强制编解码器,今天承载着 Chrome、Firefox、WhatsApp、Discord 和 Zoom 通话中的语音。
质量设置与 Vorbis Comments
上方两个格式面板暴露了每种编解码器的原生控制。Vorbis 由质量驱动:您选定目标质量(0–10),编码器为音乐的每个瞬间找到该质量所需的比特率 — 安静的段落分到更少的比特,密集的合唱分到更多。Opus 由比特率驱动:您设定平均比特率,编码器在其内部管理质量,128 kbps 对大多数听者已经透明。
两种格式的标签都用 Vorbis Comments:简单的 字段=值 对(艺术家、标题、专辑,以及任意长度的自由自定义字段)。上方的标签编辑器在编码时写入这些内容。Vorbis Comments 与 FLAC 使用的体系相同 — 开放格式家族的又一共同点。
常见误解
- OGG 听起来比 MP3 差。不会。受控听音测试一致把 Vorbis 排在同等比特率的 MP3 之上,Opus 又在两者之上。这种印象来自 2000 年代初解码 Vorbis 很差的播放器,而不是格式本身。
- Opus 只用于语音通话。不是。语音血统(SILK)只是它引擎的一半;另一半(CELT)为全带宽音乐而生。Opus 在 128 kbps 下对大多数音乐透明,并且是 YouTube 当前的音频编解码器。
- Ogg 文件使用 ID3 标签。不。Ogg 音频使用 Vorbis Comments。强行把 ID3 块塞进 Ogg 文件的工具产出的文件会被某些播放器拒绝 — 这也是让上方转换器原生写入标签的又一个理由。
相关工具:需要最大设备兼容性时用 音频转 MP3 / ID3 标签,无损输出用 音频转 WAV / FLAC,其他输出格式用 音频转 AIFF / ALAC / WavPack,Ogg Theora 视频用 视频转 OGG。