选编码标准的思路不是【哪个最好】,而是先看场景的硬约束——要兼容老设备选 MP3,要配视频选 AAC,要实时通话选 Opus。
4.2.3 讲了四类手段,这一节看这些手段怎么组成一个个标准。
一、标准是手段的组合
所谓【编码标准】,本质是把前面四类手段按不同权重拼在一起。 偏重兼容性的会把实现做简单,偏重音质的会把感知模型做精细。 所以标准之间的差别,不是【有没有某个手段】,而是【各用多少】。
二、几种主流标准
MP3:128~320 kbps——兼容性最好,几乎所有设备都认。 AAC:96~256 kbps——同码率下音质更好,视频伴音的主力。 AC-3:384~640 kbps——多声道,影院与电视广播用它。 Opus:32~128 kbps——低码率与低延迟,实时通话与 WebRTC 选它。 FLAC:约 700 kbps——无损,用于音乐存档。
三、各擅长什么
看清一个标准,只要回答三个问题:它要多少码率、它最擅长什么、它常出现在哪里。 MP3 的强项是【到处都能放】,AAC 的强项是【同样的体积更好听】。 AC-3 的强项是【多个声道】——它天生为环绕声设计。 Opus 的强项是【又小又快】——低码率下不糊,延迟还很低。 没有【最好的标准】,只有【某个场景下最合适的标准】。
四、怎么选
顺序是:先看场景的硬约束,再看质量与体积。 硬约束指的是那些【不满足就不能用】的条件——兼容性、延迟、声道数。 要兼容老设备 → MP3;要配视频 → AAC;要实时通话 → Opus;要存底 → FLAC。 硬约束定下来之后,再在剩下的空间里挑音质最好的那个。
五、动手 Demo:几种音频编码标准,各擅长什么
五种标准,各自的强项与出场场景都很明确。
rows = [
("MP3", "128~320 kbps", "兼容性", "老设备、本地音乐"),
("AAC", "96~256 kbps", "同码率音质", "视频伴音、流媒体"),
("AC-3", "384~640 kbps", "多声道", "影院、电视广播"),
("Opus", "32~128 kbps", "低码率与低延迟", "实时通话、WebRTC"),
("FLAC", "约 700 kbps", "无损", "音乐存档"),
]
for a, b, c, d in rows:
print("%-5s %-14s %-16s %s" % (a, b, c, d))
实跑输出:
--------------------------------------------------------------------
几种音频编码标准,各擅长什么
--------------------------------------------------------------------
标准 典型码率 最擅长 常见场景
--------------------------------------------------------------
MP3 128~320 kbps 兼容性 老设备、本地音乐
AAC 96~256 kbps 同码率音质 视频伴音、流媒体
AC-3 384~640 kbps 多声道 影院、电视广播
Opus 32~128 kbps 低码率与低延迟 实时通话、WebRTC
FLAC 约 700 kbps 无损 音乐存档
选标准的思路:**先看场景的硬约束**——
要兼容老设备 → MP3;要配视频 → AAC;要实时通话 → Opus;要存底 → FLAC。
选标准的思路:先看场景的硬约束—— 要兼容老设备选 MP3;要配视频选 AAC;要实时通话选 Opus;要存底选 FLAC。
30 秒实验
- 列出你最近用过的三种音频,分别判断属于哪个标准。
- 再想一下:如果换成另一个标准,会付出什么代价。
常见误区
- 以为 AAC 一定比 MP3 好。极高码率下差距很小,而兼容性反而更差。
- 只比码率不看场景。实时通话里延迟比音质更要命。
自测三问(点开对答案)
1. 几种主流标准各擅长什么? —— MP3 兼容性、AAC 同码率音质、AC-3 多声道、Opus 低码率低延迟、FLAC 无损。 2. 实时通话该选哪个标准? —— Opus——低码率、低延迟。 3. 选标准的第一步是什么? —— 先看场景的硬约束(兼容性、延迟、声道数),再看质量与体积。- ☐ 下一节(4.3.1 音频深度学习的简介)
相关笔记
- 音频编码基本手段 — 它们是由什么拼成的
- 音频格式 — 标准与文件格式的对应
- 音频使用场景及应用 — 场景决定标准
- 🎬 FFmpeg入门详解 · 索引