编解码器横评

概述

本节将前面介绍的所有语音/音频编解码器放在一起做横向对比,帮助读者在实际项目中做出选择。

全景对比表

基本参数

编码器

年份

采样率

码率 (kbps)

帧长 (ms)

延迟 (ms)

频率范围

编码类型

专利

G.711

1972

8 kHz

64

0.125

300-3400

波形 (PCM)

免费

G.722

1988

16 kHz

48/56/64

1.5

50-7000

子带 ADPCM

免费

G.729a

1996

8 kHz

8

10

15

300-3400

CELP

过期

AMR-NB

1999

8 kHz

4.75-12.2

20

25

300-3400

ACELP

AMR-WB

2001

16 kHz

6.6-23.85

20

25

50-7000

ACELP

AAC-LC

1997

8-96 kHz

16-320

21

~46

全带宽

变换

AAC-ELD

2008

8-48 kHz

16-64

10

~15

全带宽

变换

Opus

2012

8-48 kHz

6-510

2.5-60

5-26.5

全带宽

混合

免费

EVS

2014

8-48 kHz

5.9-128

20

22-32

全带宽

混合

质量对比(MOS 评分)

以下 MOS 值来自 ITU-T 和 3GPP 的测试报告,仅供参考(测试条件不同,数值不完全可比):

窄带(8 kHz)

编码器 @ 码率

MOS

说明

G.711 @ 64 kbps

4.1

基准

G.729a @ 8 kbps

3.7

1/8 码率,质量略降

AMR-NB @ 12.2 kbps

4.0

最高码率模式

AMR-NB @ 4.75 kbps

3.0

最低码率模式

Opus NB @ 8 kbps

3.5-3.8

SILK 模式

Opus NB @ 16 kbps

4.0

SILK 模式

宽带(16 kHz)

编码器 @ 码率

MOS-WB

说明

G.722 @ 64 kbps

4.1

宽带基准

AMR-WB @ 23.85 kbps

4.1

最高码率

AMR-WB @ 12.65 kbps

3.8

Opus WB @ 16 kbps

4.0

SILK 模式

Opus WB @ 32 kbps

4.5

SILK 模式

EVS WB @ 13.2 kbps

4.2

混合模式

AAC-ELD @ 32 kbps

4.2

变换编码

超宽带/全带宽

编码器 @ 码率

MOS-SWB

说明

EVS SWB @ 24.4 kbps

4.5

超宽带

Opus FB @ 64 kbps

4.7

全带宽,CELT 模式

AAC-LC @ 128 kbps

4.8

音乐场景

AAC-ELD @ 48 kbps

4.4

低延迟

延迟对比

算法延迟是编码器引入的固有延迟(帧长 + 前瞻),不包括网络传输延迟:

G.711     ████ 0.125 ms
G.722     ████ 1.5 ms
Opus      ████████████████████ 5 ms (最小帧)
G.729     ██████████████████████████████ 15 ms
AAC-ELD   ██████████████████████████████ 15 ms
AAC-LD    ████████████████████████████████████████ 20 ms
EVS       ████████████████████████████████████████████ 22 ms (低延迟)
AMR-WB    ██████████████████████████████████████████████████ 25 ms
Opus      ██████████████████████████████████████████████████████ 26.5 ms (最大帧)
EVS       ████████████████████████████████████████████████████████████████ 32 ms (默认)
AAC-LC    ████████████████████████████████████████████████████████████████████████████████████████████ 46 ms

端到端延迟 = 算法延迟 × 2(编码 + 解码)+ 网络延迟 + Jitter Buffer 延迟

抗丢包能力

编码器

内置 FEC

PLC

说明

G.711

Appendix I

基于基音外推,效果一般

G.722

无标准

依赖外部 PLC

G.729

内置

基于 LP 参数外推

AMR

依赖信道编码

内置

移动网络提供信道 FEC

AAC-ELD

无标准

依赖外部机制

Opus

内置 in-band FEC

内置

SILK 模式 FEC + CELT PLC

EVS

依赖信道编码

高级 PLC

频域插值,效果优秀

Opus 的 in-band FEC 是其在互联网环境中的重要优势——在当前帧中嵌入前一帧的低码率冗余编码,接收端丢包时可用冗余数据恢复。

场景选择指南

        flowchart TD
  A[选择编解码器] --> B{应用场景?}
  B -->|WebRTC 浏览器| C[Opus<br/>必选,全能型]
  B -->|PSTN 互通| D[G.711<br/>兼容性第一]
  B -->|VoIP 电话| E{带宽限制?}
  E -->|充足| F[G.722 或 Opus<br/>宽带质量]
  E -->|受限| G[G.729a<br/>8 kbps 低码率]
  B -->|VoLTE/5G| H[EVS<br/>运营商标准]
  B -->|直播推流| I[AAC-LC<br/>音乐质量]
  B -->|Apple 生态| J[AAC-ELD 或 Opus<br/>低延迟]
  B -->|嵌入式/IoT| K{CPU 限制?}
  K -->|严格| L[G.711<br/>零复杂度]
  K -->|一般| M[Opus<br/>可调复杂度]
    

决策矩阵

需求

G.711

G.722

G.729a

AMR-WB

Opus

EVS

低码率

★★★

★★

★★★

★★★

高音质

★★

★★

★★★

★★★

低延迟

★★★

★★★

★★

★★

★★

★★

抗丢包

★★

★★

★★★

★★★

兼容性

★★★

★★

★★

★★

★★★

免专利

★★★

★★★

★★★

★★★

音乐

★★★

★★★

一句话总结

  • G.711:50 年不倒的兼容性之王,PSTN 互通必备

  • G.722:宽带语音先驱,企业 VoIP 的老朋友

  • G.729:低码率语音的经典,VoIP 网关常客

  • AMR/AMR-WB:移动通信的基石,VoLTE 的前辈

  • AAC-ELD:音乐场景的低延迟选手,Apple 生态的宠儿

  • Opus:互联网实时通信的全能冠军,WebRTC 的唯一指定

  • EVS:运营商网络的新王,5G 语音的未来