webrtc的传输质量

RTP/RTCP协议
丢包重传NACK
防止花屏
带宽评估:
REMB
TCC
jitterbuffer
FEC
回音消除

rtp包头里含有Sequence字段,这个字段用于接收端对数据包重新排序,因为udp传输不能保证包的有序性。除此之外还有丢包重传的作用,接收端发现一个包丢了,就会通过rtcp返回发送端,发送端进行重新传输。这也就是NACK的原理。
Sequence number:它是递增的但到达2的16次方后,会再次从0递增。
组帧:一帧视频会分为多个rtp包,一帧的帧头和帧尾在rtp包中都有标识,因此接收端按照Sequence排序后,也知道从哪些包到哪些包组成一个完整的帧。

PT:音视频编码的标识,比如音频opus是111,视频编码是127
timestamp:一个视频帧会分为多个RTP包,他们的timestamp是相同的。M标识着哪个包是这个视频帧的最后一个包,也就是尾包。
SSRC:同步源标识符,当视频流有两路,一路是摄像头,一路是屏幕,那么PT可能就无法区别他们,这时候就需要SSRC标识了,不同的源,值不同。SSRC在sdp中也可以看到,它与CNAME绑定一起出现,作为标识流的来源的唯一标识,CNAME可以看作SSRC的别名,因为SSRC是推流端自己给的,所以多个推流端向服务器推流时,SSRC可能有相同的可能,CNAME是服务器给的,不可能重,因此服务器给每个SSRC绑定一个CNAME,如果发现SSRC重复,会再次跟推流端协商,重换一个,

猜你喜欢

转载自blog.csdn.net/weixin_43466192/article/details/127160792