从WebRtc学习RTCP协议

网友投稿 863 2022-11-23

从WebRtc学习RTCP协议

从WebRtc学习RTCP协议

文章目录

​​RTCP支持的消息类型​​​​RTCP协议头​​​​WebRTC的反馈报文​​

​​RTPFB支持的报文类型:​​​​PSFB支持的报文类型:​​

​​参考​​

RTCP是RTP的控制协议.

那么RTCP能对RTP做哪些控制呢?其中最为大家熟知的就是

丢包控制。

发送端发送数据后,接收端如果发现有RTP包丢失了,可以使用RTCP的

NACK报文通知发送方,告诉对方具体是哪些包丢失了,然后让发送方重发前面丢失的包。

此外,接收端还可以使用RTCP的

RR报文向发送端发送接收报告,报告中记录着从上一次报告到本次报告之间丢失了多少包、丢包率是多少、延时是多少等一系列信息。

同理,发送端也可以向接收端发送

SR报文,报告一段时间内一共发送了多少包等。

RTCP支持的消息非常多,在此我们将一些最常见的RTCP报文消息整理了出来.

SR和RR报文。这两个报文在WebRTC中至关重要,因为网络质量评估与控制需要的大量参数都是从这两个报文中获得的。

下面介绍一下RTCP支持的其他的消息类型:

RTCP支持的消息类型

RTCP协议头

Version即协议版本,固定值为2。P字段为填充位标识。PT字段即Payload Type,与RTP中的PT字段类似。 RTCP中的Count字段是RTP中所没有的,该值针对RTCP中不同的报文有不同的含义: 对于RR/SR报文而言,Count表示它们所携带的接收报告的个数; 对SDES报文而言,Count表示SDES报文中item的个数; 对于BYE报文而言,Count表示BYE报文中SSRC/CSRC的个数; 而对于APP报文来说变化就比较大了,Count用于标识应用自定义的子消息类型。 Length字段表示整个RTCP包的大小,包括RTCP头、RTCP负载以及填充字节。需要注意的是,Length字段是以4字节为单位的,即(N−1)个4字节。

WebRTC的反馈报文

已知PT为205和206的报文类型属于反馈报文。报文中可以包含多个子报文,其中WebRTC使用到的报文只有某几项。

RTPFB支持的报文类型:

PSFB支持的报文类型:

参考

李超《WebRTC音视频实时互动技术:原理、实战与源码分析》​​​ https://weread.qq.com/web/reader/377320f07260a55337761c1kc81322c012c81e728d9d180​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:CNN基本步骤以及经典卷积(LeNet、AlexNet、VGGNet、InceptionNet 和 ResNet)网络讲解以及tensorflow代码实现
下一篇:后台系统可扩展性学习笔记(四)CDN机制原理
相关文章

 发表评论

暂时没有评论,来抢沙发吧~