对语音通话占用带宽的理解
有时候客户比較关心要申请多少M的带宽来保证server能够达到多少路的语音通话,这里仅描写叙述一下我个人的理解。
这里以G711编码为例进行说明,同一时候大家应该清楚G711编码的标准编码速率为64Kbps。而且如果使用的是不含有VLAN的静态IP上网方式的LAN上行设备(主要在以下计算“整个报文的大小”时须要考虑这些因素)。
1、先给出换算一路语音通话的带宽公式:
一路通话带宽X 整个报文的大小(假设进行媒体加密这里须要增加加密的填充字节)
------------------------ = -----------------------------------------------------------------------------
G711编码速率 指定打包时长的G711编码负载大小(假设进行媒体加密这里须要增加加密的填充字节)
一路通话带宽X = 整个报文的大小 * G711编码速率 / 指定打包时长的G711编码负载大小
这里分别算出“整个报文的大小”、“指定打包时长的G711编码负载大小”就可以求出“一路通话带宽X”。
(备注:G711编码速率为标准的64Kbps,为已知项)
2、整个报文的大小 = 以太网报头大小 + IP报头大小 + UDP报头大小 + RTP报头大小 + 指定打包时长的G711编码负载大小
“以太网报头大小”、“IP报头大小”、“UDP报头大小”、“RTP报头大小”这些都有标准定义,详细能够了解相关标准,这里觉得都是已知项。就不再进行描写叙述。
3、指定打包时长的G711编码负载大小
比方使用G711编码,20ms的打包时长得到的编码负载为80byte,计算方法例如以下:
G711编码的标准编码速率为64Kbps。
64Kbps = (64K)bit/秒 = (64K/8)byte/秒 = (8K)byte/秒 = (8K/1000)byte/毫秒 = (8byte)/毫秒
所以20ms的G711编码负载也就是 20 * 8byte = 160 byte
备注:
上面计算一路通话的带宽值是针对一个终端设备的一路通话。假设server支持媒体转发代理功能,计算server上一路通话带宽值的话须要乘以2。由于server一路通话相应着两个终端设备。