webrtc QOS方法汇总

匿名 (未验证) 提交于 2019-12-03 00:19:01

目前总结出webrtc用于提升QOS的方法有:

1、NACK

2、FEC

3、PACER

4、降帧率

5、降码率

也许还有其他,待后续知识更新后,补充。

一、NACK原理介绍

接收端根据收到报文的丢包情况,把丢包的SEQ记录在RTCP报文里面,发给发送端,请求重发。

若在JB时长内,收到重发数据,就补上了。

二、FEC原理介绍

FEC是发送端在发送的时候,将之前的旧包也打包到新包里面,若接收端有丢包,就用新包里面冗余的旧包恢复数据。

说到这里大家可能认为这就是RFC2198冗余嘛。但是在webrtc里面,这不是简单的RFC2198冗余。

RFC2198冗余带宽占有量是倍增,简单冗余,对网络差的情况是恶化。FEC是有一套算法,仅冗余部分关键帧。

三、PACER原理介绍

PACER,是网络报文平滑策略。根据RTCP反馈的环路延时和丢包,对当前网络有个预判。然后把要发送的报文拆分成小包,按照一定的节奏慢慢发。

四、降帧率原理介绍

降帧率也是根据RTCP反馈的环路延时和丢包,对当前网络有个预判。当判断出当前网络质量比较差,通过不断的降低帧率,减少带宽的占用量。

五、降码率原理介绍

同理,降码率同样是根据RTCP反馈的环路延时和丢包,对当前网络有个预判。当判断出当前网络质量比较差,通过不断的降低码率,减少带宽的占用量。


这五种方法实现的细节,待续。。。。。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!