如何计算使用某种codec所消耗的带宽呢?在默认情况下,把模拟话音转换为数字话音后,根据不同codec的ptime值将语音进行打包,即RTP封装起来,应用UDP协议将本段采集的语音信息发送到被叫方。
例如:G.711编码,并在Internet上传输。我们来算下一路G.711路话音需要多大带宽。G.711的采样率8k, G711默认20ms封成一个RTP包,也就可以算出1秒内发送多少个RTP包:1s / 20ms = 50个,也就是说G.711每20ms发送一个RTP包。以太网帧头14-byte,IP包头20-byte,UDP包头8-byte,RTP包头12-byte,再加上G.711的payload为160-bytes,也就是说每20ms就要产生一个14 + 20 + 8 + 12 + 160 = 214-byte长度的帧,那么一秒就要发送50个214-byte,等于50*214-byte= 10700-byte,转成kbit/s: 10700byte/s * 8 /1024 = 83.59kbit/s最终得出G.711一路话音占用带宽为83.59kbit/s。
语音通话一般是双向的,因此G.711一路通话带宽为 10700byte/s * 8 * 2 / 1024 = 167.19kbit/s