流媒体 Buffer 设计原理

1. Buffer 设计大小依据:

 

 (1)   依据是 你所需要缓冲多长时间,比如是100ms还是50ms;

 (2)  大小: 即每秒钟会收到的字节数;

 

        Buffer = dwBytesPerSec * dwLatencyInMilliseconds / 1000;

 

2. 举例:

    采集声音:(G711规格)

        Buffer = 16 /8 * 8000  * (PTime) /1000

 

   其中, 16/8为每一个G711的Samplez占用2个字节,

            8000为采样率,即每1s需要采样8000个G711的Sample,

            PTime = 缓冲时间(ms),假设PTime为50ms,

 

            则 Buffer = 2*8000 * 50 / 1000 = 800 Bytes,(压缩前)

            即 Capture的Buffer 大小为 mp_byte CapBuf [800];

 

   这样,

           经过G711压缩后得到的大小为400Bytes 每个包。

 

3. 每隔多长时间单位发送?

    pTime * 采样频率。

    如: 20 * 8000 /1000 = 160 (20为PTime, 8000为采样频率),

          用WireShark截包看下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值