yangkang2021.github.io
webrtc的nack
一. 结论
类型
默认状态
怎么开关
处理模块
默认nack历史时长
音频
不开启
用sdp开关
AudioReceiveStream下neteq分析和发起
5秒不可改
视频
开启
用sdp开关
RtpVideoStreamReceiver2的nack_module_分析和发起
1秒,且可用sdp改
二. 上图
sdp里面可以指定nack开关,视频sdp甚至nack历史包时间
音频neteq维护一个nacklist,在收到音频包的时候获取neteq的nacklist,进而发送rtcp的nack请求
视频的nack管理
三. 关于nack控制参数的传递
音频:recv_nack_enabled_来自sdp,音频nack历史包时间固定5秒,不可调节
config.rtp.nack.rtp_history_ms = use_nack ? kNackRtpHistoryMs : 0;
视频:rtp_history_ms来自sdp,视频nack历史包时间固定1秒,可以根据sdp修改。