在默认情况下,把模拟话音转换为数字话音后,按20ms一段20ms一段切开,用rtp封装起来,然后包上udp header,ip header,最后是layer 2的包头,然后发出去。
在voice这方面,是如何计算使用某种codec所消耗的带宽呢?
在默认情况下,把模拟话音转换为数字话音后,按20ms一段20ms一段切开,用rtp封装起来,然后包上udp header,ip header,最后是layer 2的包头,然后发出去。
假设咱们用g.729编码,并在ethernet上传输。一起来算算一路话音需要多大带宽吧。
g.729每路话音是8kbit/s,那么开始转换
8kbps x 1000 = 8000bps
8000bps / 8 = 1000 bytes/s,得到g.729每秒需要带宽1000 bytes
那么默认都是没20ms的话音封成一个packet,也就可以算出1妙内发送多少个packet
1s / 20ms = 50个
也就是说g.729每20ms需要的带宽为
1000bytes/s / 50 = 20bytes/s
之后以太网帧头6-byte,ip包头20-byte,udp包头8-byte,rtp包头12-byte
这样,再加上g.729的payload为20bytes
也就是说每20ms就要产生一个6 + 20 + 8 + 12 + 20 = 66-byte长度的帧
那么一秒就要发送50个66-byte,等于3300-byte,转成kbit/s
3300byte/s * 8 /1000 = 26.4kbit/s
最终得出g.729一路话音占用带宽(包括layer2 header)为26.4kbps
cisco的voice bandwidth计算工具