fec随想

Fec
1.能力交互加粗样式
Fec能力交互有3个消息,这个是fec capability能力消息,一个是fec Ack能力确认,一个是fec finish协商结束。要3次握手

2.fec命令和指示
Fec命令用于fec编码的启动和停止;fec指示用于fec解码的启动和停止;

接收到fec command之后,如果启动fec编码成功,则发送fec indication通知对端启动fec解码;如果启动fec编码失败或者停止fec编码,则发送fec指示通知对端停止fec解码;

丢包处理:在消息的最后增加序号,fec command发送端需要确认对方是否收到消息,通过接收到的fec indition消息进行确认,fec indition不需要确认

3.fec编码参数
分组大小:被保护的一组数据包的个数。由终端的cpu能力,速率,以及延迟来综合决定。例如,速率为1M,以每个包1400字节计算,每秒大约有89个包,没100ms有9个包,此时如果取分组为10,那么等待此分组就需要100ms左右,加上网络延时,解码延迟等,延迟可能更大,即使恢复了也会带来影响。
冗余度:冗余包占用的带宽。采用公式计算,目的先用大冗余度解决丢包,再根据网络状况慢慢降低到一个合适的冗余度。

4.自动fec
自动fec用过fec+反馈消息实现动态调整fec编码参数以抵抗变化的网络丢包率;
反馈消息是通过 fec command消息实现的,在fec command消息中填写实际的网络丢包率,用于远端决策编码参数。
利用fec消息中的fec模式字段,要求远端增加冗余包或减少冗余度?

5.自动fec处理流程
接收端检测有丢包时,向发送端发送启动fec编码的请求。
接收端检测到网络丢包率发生变化,请求对端调整参数:
网络丢包率上升,立即通知对端调整编码参数,模式设置为丢包率上升,发送端计算编码参数,并当前冗余包个数递增1,以抵抗更多的丢包;
网络丢包率没有变化,但fec解码之后仍然有丢包,通知对端调整参数,冗余包个数递增1,以抵抗更多的丢包;
网络丢包率下降,通知对端调整编码参数,fec模式设置为丢包率下降,冗余包个数递减1,降低冗余度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值