加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

通过RTCP进行媒体流实时丢包重传的技巧

发布时间:2021-12-09 16:07:57 所属栏目:PHP教程 来源:互联网
导读:在RTP/RTCP传输媒体流的过程中,RTCP报文的主要作用在于RR(ReceiverReport),即接收者报告,来反馈统计收到包的数量,丢包数量等信息,来使发送者来及时的调整编码策略,但是由于RTCP的发送间隔为固定间隔,通常为分配给RTCP的连接带宽固定为5%,大致为2-5
在RTP/RTCP传输媒体流的过程中,RTCP报文的主要作用在于RR(ReceiverReport),即接收者报告,来反馈统计收到包的数量,丢包数量等信息,来使发送者来及时的调整编码策略,但是由于RTCP的发送间隔为固定间隔,通常为分配给RTCP的连接带宽固定为5%,大致为2-5秒左右一包,并不能用于实时的丢包反馈。
 
但是,在RTCP的SDES(SourceDescription)报文中,有Type为NOTE类型的报文,此报文可以添加自定义的内容,发送端借助分析报文,可以实现实时的丢包重传机制。
 
在RTCP添加的Text中定位为30个字节,其中ea8a为60042,表示接收的端口,01表示一个包,fccc为包序号,为64716。含义为:“再给接收端为60042端口上发1个序号为64716的rtp包”,如下图所示
 
通过RTCP进行媒体流实时丢包重传的方法
 
发送端,可以解析这个RTCP的text包,来重传序号为64716的rtp包,如下:
 
通过RTCP进行媒体流实时丢包重传的方法
 
在RTCP之后,可见Seq为64716的RTP包。
 
由于RTCP基于UDP实现,时延较小,但是与传统的基于tcp传输的丢包重传机制相比,RTCP存在丢包的风险。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读