抖动缓冲:同一条网络轨迹下,三种策略谁更好?
Posted on in Tech
打电话时对方声音断断续续,是网络丢包;但还有一种更隐蔽的情况——包都到了,却因为到达时间不齐,播放端缺了当前该播的那一小段。抖动缓冲就是为这件事生的:网络里的包到达时间不规律,播放端却必须每 10ms 吐出一块音频。缓冲浅了会卡顿,深了又增加延迟。我把小固定、大固定和自适应三种策略放在同一条网络轨迹、同一段真人语音下跑了对比实验,用数据说话:没有哪种永远最好,自适应是在延迟与连续之间动态找平衡——它多半比小固定稳、比大固定快,但真遇到突然的抖动峰值,它照样会卡那么一下。整套实验我开源成了一个小项目 ajb-demo,代码在 GitHub 上,读者可以拉下来自己跑、自己听、自己调参数验证——让数据替你选该用哪种策略。