在AR1688设置选项中,"语音帧数"的范围是1到7。这意味着用户可以指定1到7帧语音放在同一个发送网络包中。没有对接收网络包中语音帧数的限制。
当我们计算Speex实际使用带宽的时候,我们只列举了1到4帧的情况。这是因为对于20毫秒帧长的Speex算法我们最多只允许4帧语音放在一个发送网络包中。对于iLBC算法30毫秒模式只允许3帧语音放在一个网络包中。这是为了防范意料之外的延时。
由于我们并不知道自动协商后到底用哪种算法,如果选择了语音帧数7而不做限制,用G.729的时候会带来70毫秒延时,而用iLBC 30毫秒模式则会带来210毫秒延时。因此我们限制总共发送包的延时不超过90毫秒。
|