首页 > 编程知识 正文

webrtc java,webrtc教程

时间:2023-05-06 16:07:21 阅读:153478 作者:1964

1.nack配置文件webrtc中nack是最基本的QOS策略。 与ack机制不同的是,nack在接收方检测到丢包时,告知发送方具体的丢包序号,接收方收到nack后从高速缓存找到对应的分组并发送。

2. nack的实现

如上所述,nack rtcp消息格式为pt=205。 packetidentifier(PID )为丢包开始基准值,bitmapoflostpackets (BLP )为16比特的bitmap,与1相对应的是表示丢包的数据,具体为如下

数据包标识符(PID )为176。 bitmapoflostpackets(BLP ):0x6ae1。 分析时需要在次要模式下进行分析。0x6ae1对应于二进制: 110101011100001,相反看1000 0111 0101 0110。 1位表示丢包,0位表示无丢包分析,丢失的消息序列号分别与176 177 182 183 184 186 188 190 191和wireshark分析一致。 当然,pid和blp可以有多个。

nack实现通常会维护以下序列:

nacklist(missing_seq_nums ) )。

如果rtp分组丢失(例如,当前序列号5,下面的序列号10、6、7、8和9被存储在nacklist中) )。

已恢复列表

保存重发分组(防止需要重发的分组已经进入重发分组,重发分组有可能优先到来)。

密钥帧列表

保存当前关键帧编号(如果nacklist超过最大长度,则删除关键帧之前的编号;如果仍然需要强制I帧,则保证画面不会变黑) ) )。

3.nack重要细节1 )丢包序列长度

nacklist webrtc的默认值为1000

2 )每个包多久nack一次

一个rtt时间进行一次nack,接收方rtt可以通过XR扩展计算获得。

3 )每个包nack多少次

默认10次

参考文献1 ) https://www.Jian Shu.com/p/a7f6ec0c 9273

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。