Ogg封装格式名词解释
Ogg 是一种开源、免费、无专利限制的多媒体容器格式(封装格式),由 Xiph.Org 基金会开发,主要用于封装自由编码格式的音视频流,如 Vorbis(音频)、Theora(视频)、Opus(音频) 等。其设计目标是为互联网提供一个完全开放的媒体传输与存储方案。
✅ 核心信息速览
| 项目 | 内容 |
|---|---|
| 全称 | Ogg Container Format(通常简称 Ogg) |
| 开发者 | Xiph.Org Foundation(开源组织) |
| 首次发布 | 2002 年 |
| 授权方式 | 完全开源、免版税、无专利限制 |
| 主要用途 | 封装自由音视频编码(Vorbis, Theora, Opus, FLAC 等) |
| 文件扩展名 | .ogg(音频为主)、.ogv(含视频)、.oga(纯音频) |
一、Ogg 的核心特点
1. 完全开放 & 免专利
- 所有规范公开,可自由实现;
- 不受 MPEG-LA、Dolby 等专利池约束;
- 被 Linux、Mozilla、Wikipedia 等开源/公益项目广泛采用。
2. 流式友好(Streaming-Oriented)
- 支持任意位置随机访问;
- 内置时间戳同步机制,适合网络实时传输;
- 可高效处理变码率(VBR) 音频。
3. 模块化设计
- 支持多轨道(多音轨、字幕、元数据);
- 可混合不同编码(如 Vorbis + Theora);
- 支持链式(Chaining):多个逻辑流拼接成一个文件。
4. 错误恢复能力强
- 每个数据页(Page)自带校验和;
- 即使部分损坏,后续内容仍可播放。
二、Ogg 常见封装的编码格式
| 编码类型 | 编码名称 | 说明 |
|---|---|---|
| 音频 | Vorbis | 开源音频编码,对标 MP3/AAC,效率更高 |
| 音频 | Opus | 超低延迟、高效率语音/音乐编码(WebRTC 默认) |
| 音频 | FLAC | 无损压缩音频(Ogg 可封装,但更常用 .flac 原生) |
| 视频 | Theora | 基于 VP3 的开源视频编码(已过时) |
| 视频 | Dirac(较少用) | BBC 开发的开源视频编码 |
📌 典型组合:
.ogg→ Vorbis 音频(最常见).ogv→ Theora 视频 + Vorbis 音频.opus→ Opus 音频(也可用.ogg封装)
三、浏览器支持情况(HTML5 <video> / <audio>)
| 浏览器 | Ogg + Vorbis | Ogg + Theora | Ogg + Opus |
|---|---|---|---|
| Firefox | ✅ 原生支持 | ✅ 支持 | ✅ 支持 |
| Chrome | ✅ 支持 | ⚠️ 旧版支持,新版弱化 | ✅ 支持 |
| Safari | ❌ 不支持 | ❌ 不支持 | ✅ iOS 11+ / macOS 10.13+ |
| Edge | ✅(Chromium 版) | ❌ | ✅ |
⚠️ 现状:
- Ogg/Theora 视频已基本被淘汰(被 WebM/VP9/AV1 取代);
- Ogg/Vorbis 音频仍在使用,但 Opus 正成为新标准;
- MP4(H.264 + AAC)仍是 Web 最兼容格式。
四、Ogg 文件结构简述
Ogg 采用 “页(Page)”为单位组织数据:
[Ogg Page Header] + [Segment Table] + [Payload Data]
- 每页包含 1~255 个“段”(Segments),每段 ≤ 255 字节;
- 支持交错存储(Interleaving)音视频帧,保证同步;
- 起始页包含 识别头(Identification Header),声明编码类型。
🔍 示例:
用ogginfo工具查看:ogginfo audio.ogg # 输出:Vorbis stream, 44.1kHz, stereo, bitrate ~128 kbps
五、优缺点总结
✅ 优点
- 完全免费开源,无法律风险;
- 流式传输性能好;
- 支持高质量音频(Vorbis/Opus);
- 错误鲁棒性强。
❌ 缺点
- 视频编码 Theora 效率低,已被 VP9/AV1 超越;
- Safari 长期不支持(直到近年才支持 Opus);
- 硬件解码支持弱(手机/电视芯片优先支持 MP4/H.264);
- 文件体积略大于 MP4(因封装开销)。
六、典型应用场景
| 场景 | 说明 |
|---|---|
| 维基百科音频 | 使用 Ogg/Vorbis 存储发音示例 |
| 开源游戏音效 | 如《Minecraft》早期版本 |
| Web 实时通信 | Opus over Ogg 用于录音回放 |
| Linux 桌面系统 | GNOME/KDE 默认音频格式之一 |
七、如何生成/转换 Ogg 文件?
使用 FFmpeg:
# 音频转 Ogg/Vorbis
ffmpeg -i input.mp3 -c:a libvorbis -q:a 5 output.ogg
# 音频转 Ogg/Opus
ffmpeg -i input.wav -c:a libopus -b:a 128k output.opus
# 视频转 Ogg/Theora(不推荐)
ffmpeg -i input.mp4 -c:v libtheora -c:a libvorbis output.ogv
💡 建议:
- 音频优先用 Opus(.opus 或 .ogg);
- 视频优先用 WebM(VP9/AV1)或 MP4(H.264),避免 Theora。
✅ 总结
| 关键点 | 说明 |
|---|---|
| Ogg 是什么? | 开源免费的多媒体容器格式 |
| 主要封装什么? | Vorbis(音频)、Opus(音频)、Theora(视频) |
| 是否适合 Web 视频? | ❌ Theora 已过时,视频应选 MP4/WebM |
| 是否适合 Web 音频? | ✅ Opus over Ogg 是现代选择(尤其语音) |
| 最大优势 | 免专利 + 开源 + 流式友好 |
💡 一句话记住:
Ogg 是自由软件世界的“媒体盒子”,装着 Vorbis 和 Opus 这些开源音轨——视频?早该交给 WebM 了。

浙公网安备 33010602011771号