通过RTCP进行媒体流实时丢包重传的方法
来源:互联网 发布:gjb软件版本说明 编辑:程序博客网 时间:2024/06/15 17:48
在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的text包,来重传序号为64716的rtp包,如下:
在RTCP之后,可见Seq为64716的RTP包。
由于RTCP基于UDP实现,时延较小,但是与传统的基于tcp传输的丢包重传机制相比,RTCP存在丢包的风险。
0 0
- 通过RTCP进行媒体流实时丢包重传的方法
- 了解实时媒体的播放(RTP/RTCP 和 RTSP)
- RTP/RTCP协议如何实现媒体流的同步
- RTCMultiConnection基于WebRTC进行实时连接的媒体服务器
- RTP、RTCP及媒体流同步
- RTP、RTCP及媒体流同步
- RTP、RTCP及媒体流同步
- 通过C/C++结构体解析RTP/RTCP的包头的方法
- 通过 Azure 媒体服务进行高速编码
- 实时传输协议 RTCP
- Linux下的实时流媒体编程(RTP,RTCP,RTSP)
- Linux下的实时流媒体编程(RTP,RTCP,RTSP)
- Linux下的实时流媒体编程(RTP,RTCP,RTSP)
- Linux下的实时流媒体编程(RTP,RTCP,RTSP)
- Linux下的实时流媒体编程(RTP,RTCP,RTSP)
- Linux下的实时流媒体编程(RTP,RTCP,RTSP)
- Linux下的实时流媒体编程(RTP,RTCP,RTSP)
- 实时对比度保留的去色算法——RTCP
- Delaunay三角剖分(Delaunay Triangulation)概述
- 3.基础语法
- SQL延伸2-最简单的行列互换
- Git查看、删除、重命名远程分支和tag
- 4.变量、数据类型
- 通过RTCP进行媒体流实时丢包重传的方法
- 5.运算符
- 【SSLGZ 2654】【TE】糊涂的教授
- 6.判断、循环与控制
- 关于CSDN博客公开时间认定
- android Android:控件WebView显示网页webview的使用
- 智能指针(下)-----boost库智能指针,定制删除器、循环引用
- 【转】Mac OS X 下使用 Ruby Gem 的两个坑
- 设置viewpager的当前页居中,两侧的页面显示一点