声卡采集到的原始音频数据是脉冲编码调制(Pulse Code Modulation),简称PCM。PCM是对连续变化的模拟信号进行抽样、量化和编码产生的数字信号。PCM的优点就是音质好,缺点就是体积大。
因此,在VoIP中用于网络传输时,通过编码进行数据压缩,根据编码后音频质量的损耗情况分为有损和无损编码,根据带宽占用情况分为窄带和宽带编码。
比特率 = 采样率 × 量化位数 × 声道数
比如:G.711比特率 = 8000 次/秒 × 8 比特/次 × 1 = 64,000 比特/秒 = 64 kbps
语音净荷:通常一个数据包包含20 毫秒的语音。
20 ms 的语音数据量 = 64 kbps × 0.02 秒 =1280 比特 = 160 字节。
一、编码类型
1.1 窄带编码(300-3400Hz)
1.1.1 G.711 (PCM)
比特率:64kbps
特性:无压缩波形编码,延迟<1ms,音质接近固话
场景:传统PSTN网络、基础VoIP系统(需充足带宽)
子类型:A-law(欧洲),称为PCMA、μ-law(北美/日本),称为PCMU
1.1.2 G.729 (CS-ACELP)
比特率:8kbps
特性:参数编码,压缩比8:1,延迟10ms
场景:带宽受限的VoIP通话、视频会议
1.1.3 G.723.1
比特率:5.3kbps(ACELP)/6.3kbps(MP-MLQ)
特性:高压缩比,延迟30ms,适用低带宽网络
场景:早期视频会议系统、老旧网络环境VoIP
G.723标准传输码率有5.3kb/s和6.3kb/s两种,在编程过程中可随时切换
1.2 低带宽优化编码
1.3 宽带高清编码(50-7000Hz)
1.3.1 G.722 (SB-ADPCM)
比特率:48/56/64kbps
特性:音质显著优于窄带编码,延迟约3ms
场景:企业级高清语音会议系统
1.3.2 AMR-WB (G.722.2)
比特率:6.6-23.85kbps(多档可调)
特性:自适应宽带编码,移动网络兼容性强
场景:4G/5G高清语音(VoLTE)、视频会议
1.4 新型自适应编码
1.4.1 Opus
比特率:6-510kbps动态调节
特性:支持窄带/宽带/超宽带(20kHz)抗丢包算法优化,延迟可低至5ms
场景:WebRTC实时通信、游戏语音
二、编码选择