🎬 第四章 音频基础
📄 一句话概括

音频格式先分有损与无损两大类,再比码率——要留底选无损,要传输选有损,码率越低越该选 Opus。

📝 本节和前面几节的关系

4.1.5 讲了场景怎么定要求,这一节讲最后一步:把声音存成什么文件。

一、先分两大类

无损:解压后与原始数据完全一致。 代表是 PCM/WAV(根本不压,文件大)与 FLAC(无损压缩,约一半)。 有损:解压后与原数据不同,但听感上可能分辨不出。 代表是 MP3、AAC、Opus 三兄弟。 这一刀切下去,后面的选择就清楚多了。

二、常见格式对照

PCM/WAV:约 1411 kbps——不压缩,适合存档与后期。 FLAC:约 700 kbps——无损压缩,解压后与原数据一致。 MP3:128~320 kbps——兼容性最好,老设备都认。 AAC:96~256 kbps——同码率下音质更好,视频伴音主力。 Opus:32~128 kbps——低码率下表现最好,实时通信用它。

三、格式与容器不是一回事

严格来说,WAV 是容器,PCM 才是里面的编码——只是两者常被当成一件事说。 同样地,.mp4 里装的可能是 AAC,也可能是 MP3。 这就是第 2.2.4 节讲过的:盒子与内容,要分开看。 所以看到扩展名先别急着下结论,用 MediaInfo 看一眼里面到底是什么编码。

四、怎么选

一句话:要留底选无损,要传输选有损,码率越低越该选 Opus。 展开一点:要后期处理选 WAV,要存档选 FLAC,要通用选 MP3,要配视频选 AAC,要低延迟选 Opus。 没有【最好的格式】,只有【这一件事最合适的格式】。

五、动手 Demo:音频格式,先分有损无损

五种常见格式,按有无损失与码率排开。

rows = [
    ("PCM/WAV", "无损(原始)", "1411 kbps",   "不压缩,文件大"),
    ("FLAC",    "无损压缩",     "约 700 kbps", "解压后与原数据一致"),
    ("MP3",     "有损",         "128~320 kbps", "兼容性最好"),
    ("AAC",     "有损",         "96~256 kbps", "同码率下音质更好"),
    ("Opus",    "有损",         "32~128 kbps", "低码率下表现最好"),
]
for a, b, c, d in rows:
    print("%-9s %-11s %-14s %s" % (a, b, c, d))

实跑输出:

--------------------------------------------------------------------
音频格式,先分有损无损
--------------------------------------------------------------------

  格式        类型             典型码率         特点
  -----------------------------------------------------------------
  PCM/WAV     无损(原始)     1411 kbps        不压缩,文件大
  FLAC        无损压缩         约 700 kbps      解压后与原数据一致
  MP3         有损             128~320 kbps     兼容性最好
  AAC         有损             96~256 kbps      同码率下音质更好
  Opus        有损             32~128 kbps      低码率下表现最好

  选格式就一句话:**要留底选无损,要传输选有损,码率越低越该选 Opus。**

选格式就一句话:要留底选无损,要传输选有损,码率越低越该选 Opus。

30 秒实验

  1. 找一个 WAV 和一个内容相同的 MP3,比较两者体积。
  2. 再用 MediaInfo 读一遍,看它们的码率差几倍。

常见误区

  1. 以为 WAV 一定比 MP3 音质好。WAV 只是不压缩,不代表音源本身就好。
  2. 把扩展名当成编码。.mp4 里装的可能是 AAC,也可能是 MP3。
自测三问(点开对答案) 1. 音频格式先分哪两大类? —— 无损和有损。 2. FLAC 与 WAV 有什么区别? —— 都是无损;WAV 不压缩(文件大),FLAC 无损压缩(约一半)。 3. 低码率场景该优先选哪个格式? —— Opus——它在低码率下表现最好。

相关笔记