nack专题

WebRTC-nack机制详解

1.NACK的含义 丢包重传(NACK)是抵抗网络错误的重要手段。NACK在接收端检测到数据丢包后,发送NACK报文到发送端;发送端根据NACK报文中的序列号,在发送缓冲区找到对应的数据包,重新发送到接收端。NACK需要发送端,发送缓冲区的支持。 WebRTC中支持音频和视频的NACK重传。我们这里只分析nack机制,不分析jitterbuffer或者neteq的更多实现。 2.WebRTC

(01)Webrtc::Fec与Nack的二三事

写在前面:要理解Fec与Nack逻辑,我喜欢先从接受端看, 理解了Fec与Nack是如何被使用的,才能更好的明白不同的机制应该怎么用,在什么场合用。     更新丢包逻辑 void PacketBuffer::UpdateMissingPackets(uint16_t seq_num) {if (!newest_inserted_seq_num_)newest_inserted_seq

nack fec心得

webrtc中fec的处理机制:获取一帧数据,拆分成多个rtp包,再封装成fec包(fec只有primay block),发送到网络;之后根据rtp包生成相应数量的fec包(根据冗余度来生成对应数量的包),再发送到网络。 需要注意的是:rtp red包和fec red包都是序号连续的。所以判断一个完整帧的依据依然可以使用:获取到首包,获取到尾包,中间包连续。但因为fec的加入,导致所有原始数据的r

WebRTC中丢包重传NACK实现分析https://www.jianshu.com/p/a7f6ec0c9273

转自: https://www.jianshu.com/p/a7f6ec0c9273 在WebRTC中,前向纠错(FEC)和丢包重传(NACK)是抵抗网络错误的重要手段。FEC在发送端将数据包添加冗余纠错码,纠错码连同数据包一起发送到接收端;接收端根据纠错码对数据进行检查和纠正。RFC5109[1]定义FEC数据包的格式。NACK则在接收端检测到数据丢包后,发送NACK报文到发送端;