webrtc 添加音频重传(NACK)功能

本文探讨了WebRTC中音频丢包处理方案,包括PLC、FEC及NACK重传功能。NACK能有效应对连续丢包情况,但会增加延迟。文中详细介绍了如何在SDP中添加NACK协商属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文原创自 http://blog.youkuaiyun.com/voipmaker  转载注明出处。

webrtc的音频丢包处理部分,目前谷歌默认带PLC.FEC, 但是没有添加重传的协商能力,重传的rtcp标准协商属性是 在sdp里面增加针对某个codec 的一个sdp属性,

格式为 a=rtcp-fb:ocdec_pt nack  这里的codec_pt是具体音频codec的payload值, 通过这个属性协商是否支持丢包重传功能,音频重传在处理连续丢包情况下还是有用的,一般

内置的opus的fec只能支持n-1到n的丢包保护,而且默认的fec功能即使是开启,编码端也不一定会持续发带fec的包,所以在网络类似发生突然断线又立即恢复,或者网络发生拥塞,导致udp连续丢包情况下,可以利用nack重传,当然,这是以牺牲延迟为代价的,需要根据实际使用场景发起nack请求。

具体webrtc里面咋么实现重传呢? 很简单,在获取到sdp时,把a=rtcp-fb:%d nack 追加到sdp的音频属性里面,再发给对方就可以了。默认获取的sdp没有带,但是底层是支持这个属性的协商的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值