webrtc 音频传输出了编解码有fec外,还会根据丢包率额外带red包来抵抗丢包。
在硬件信道传输中,有一种rs_fec ( RS码即里德-所罗门码)的编码来做纠错。
本文主要对比red 和rs_fec的特点。
red :代码简单,计算效率高,接收端恢复时主要看丢包时是不是刚好其他接收的包刚好
携带了这个包,冗余程度取决于red的策略,发包数不变。
rs_fec :代码复杂,计算量大,接收端恢复时取决rs_fec 的策略,一倍冗余一个包组随机丢
一半就能恢复所有的包,冗余程度包括额外的包头以及一个包组合的每一个包一样
长所产生的额外字节,发包数增加。
本文主要提出特点,各种使用场景比如下,希望有条件的同学一起讨论:
1、编解码不同,应该如何选择?
2、不同丢包场景,哪一种更好?
3、带宽受限时,哪一种更好?
欢迎大家加音频算法讨论群:153268894 (作者 zeark)。