webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题

2023-05-15,,

webrtc QOS笔记音频buffer数据不足生成很多gap的问题

目录
webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题


记录个iusse.

插入音频数据后,GetAudioInternal 进行操作决策:

Normal:正常播放。

Acceleration:变声不变调的减速播放算法。

Preemptive expand:变声不变调的减速播放算法。

Expand:由 NetEq 或解码器生成的丢包隐藏。

Merge:如果上一次是 Expand 造假出来的数据,那为了听起来更舒服一些,会跟正常数据包做一次融合算法。

Comfort noise (CNG):是用来产生舒适噪声的,比单纯的静音包听起来会更舒服的静音状态。

Expand(PLC):丢包补偿,最重要的无中生有算法模块,解决 “真丢包” 时没数据的问题,造假专业户 ;

测试网络良好不丢包,关闭视频,单独听音频,存在很多gap,主要原因为缓存数据不足.


high limit : 目标水位,图中红色曲线,缓存水位高于此水位会进行加速播放

low limit : 低水位,图中蓝色曲线,缓存水位低于此水位会进行拉伸音频样本减速速播放

buffer limit : 当前音频缓存水位,图中黄色曲线

可见当前高低水位分别在220ms和160ms左右,缓存水位常小于低水位,造成数据不足产生gap。

定位到原因,就对拉升做做文章就好了,调整expand拉升参数,使水位稳定到低水位上

前后波形对比:

红色箭头指示部分gap位置

参考:

https://developer.aliyun.com/article/782756?

webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题的相关教程结束。

《webrtc QOS笔记二 音频buffer数据不足生成很多gap的问题.doc》

下载本文的Word格式文档,以方便收藏与打印。