zoukankan      html  css  js  c++  java
  • 对语音通话占用带宽的理解

    有时候客户比較关心要申请多少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一路通话相应着两个终端设备。


  • 相关阅读:
    *** 实现冒泡排序模板
    *** 实现stack模板
    python uses xml
    [转]给未来的电子通信工程师
    *** strRevert.cpp
    *** strlen.cpp
    *** checkRevStr.cpp 查看字符串是否是回文
    *** 自己代码:实现字符串比较
    *** 自写代码:查找两个字符串的最大公共子串
    *** 自写代码:在字符串中插入连续字符的个数
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/6902340.html
Copyright © 2011-2022 走看看