车家互联 小程序在智能汽车时代的创新与发展潜力
1232
2022-10-03
webrtc 添加音频重传(NACK)功能
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没有带,但是底层是支持这个属性的协商的。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~