首页 > 应用开发 > IT综合 > 流媒体 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截包看下来就是每两个包之间间隔160个单位。
50 * 8000 /1000 = 400 (同样)
转自http://blog.csdn.net/Laong126/archive/2010/01/14/5190182.aspx
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24790158/viewspace-1040982/ ,如需转载,请注明出处,否则将追究法律责任。