最近在重点探究流控这块的技术,这也是现阶段必须迈过去的一个技术点。
主要围绕fec的种类、fec的应用和flexfec的创建及fec数据包恢复过程展开,能够帮助读者更好的理解flexfec处理过程
目录
一、fec的种类
当前fec主要有三种:
1、redfec
将老报文打包到新包上。在音视频领域几乎不使用,因为冗余包只能保护特定一个报文,这种方法带宽占用量很大,恢复能力有限,性价比很低。
webrtc里面说使用了RFC2198冗余,实际上仅仅是借用该协议的封装格式,封装FEC冗余报文。
WebRTC研究:FEC之RED封装
2、ulpfec
将一组M个报文进行异或,生成N(N就是FEC的冗余度)个FEC报文,打包出去。这组报文任意丢其中的N个,都可以通过这组(M-N)个报文+FEC冗余包恢复回来,比简单的RFC2198保护的范围扩大了很多。例如下面示意图:D为媒体包,R为冗余包,该图所示的冗余度为2。