首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

RTCP

修改于 2023-07-24 17:02:47
3241
概述

RTCPRTP的控制协议,用于监测RTP传输的质量和控制RTP流的发送速率。

RTCP有什么作用?

监测网络状态

RTCP可以通过发送SR(Sender Report)和RR(Receiver Report)等报文来监测网络状态,如丢包率、延迟、抖动等,从而实时反馈网络状况。

调整发送速率

根据接收方的反馈信息,RTCP可以调整RTP流的发送速率,以适应当前网络状况。

实现丢包重传

通过NACK(Negative Acknowledgment)等反馈机制,RTCP可以通知发送方需要重传丢失的数据包,从而提高数据传输的可靠性。

提供会话控制

RTCP可以发送BYE(Goodbye)报文通知其他参与者当前参与者已经退出会话,同时支持SDES(Source Description)报文来描述参与者的信息,如名称、邮箱地址、电话号码等。

支持带宽控制

RTCP通过TMMBR(Temporary Maximum Media Stream Bit Rate Request)和TMMBN(Temporary Maximum Media Stream Bit Rate Notification)等机制支持带宽控制,可以根据网络带宽情况来调整RTP流的发送速率。

RTCP有哪些常见的报文类型?

SR(Sender Report)报文

由RTP发送者发送,包含发送者的相关信息,如时间戳、序列号、发送者的SSRC等。

RR(Receiver Report)报文

由RTP接收者发送,用于告知发送者接收情况,如接收到的数据包个数、延迟情况等。

SDES(Source Description)报文

用于描述RTP参与者的信息,如名称、邮箱地址、电话号码等。

BYE(Goodbye)报文

用于通知其他参与者当前参与者已经退出会话。

APP(Application-specific Function)报文

用于传输应用程序特定的信息,如流媒体服务器的相关信息等。

RTCP的反馈机制有哪些?

NACK(Negative Acknowledgment)反馈

当接收方检测到丢失的数据包时,可以发送NACK报文通知发送方需要重传数据包。

ACK(Acknowledgment)反馈

当接收方成功接收到数据包时,可以发送ACK报文通知发送方数据包已经成功接收。

FIR(Full Intra Request)反馈

当接收方需要一个完整的I帧(Intra Frame)时,可以发送FIR报文通知发送方发送一个完整的I帧。

PLI(Picture Loss Indication)反馈

当接收方检测到图像质量降低时,可以发送PLI报文通知发送方需要重新发送该图像。

SLI(Slice Loss Indication)反馈

当接收方检测到视频帧的一个或多个切片丢失时,可以发送SLI报文通知发送方需要重新发送丢失的切片。

RPSI(Reference Picture Selection Indication)反馈

用于指示接收方选择哪个参考帧,可以减少重传的数据量。

TMMBR(Temporary Maximum Media Stream Bit Rate Request)反馈

用于请求发送方降低RTP流的发送速率。

TMMBN(Temporary Maximum Media Stream Bit Rate Notification)反馈

用于告知接收方当前网络带宽的情况。

RTCP有哪些重要的参数?

CNAME(Canonical Name)

用于区分不同的RTP参与者,是RTP SSRC(Synchronization Source)的一个补充,可以在SDES(Source Description)报文中描述。

SSRC(Synchronization Source)

用于标识RTP数据流中的不同数据源,必须唯一且不变。

RTCP interval

用于指定RTCP报文的发送间隔,通常根据RTP流的带宽和参与者数量来确定。

RTCP bandwidth

用于指定RTCP报文的带宽,通常是RTP流带宽的一小部分,可以根据网络状况动态调整。

RTP/AVP profile

用于指定RTP协议的配置参数,如传输协议、编解码器类型等。

RTCP XR(Extended Report)

用于扩展RTCP报文的功能,如添加网络抖动、丢包率、端到端延迟等信息。

RTCP feedback

用于扩展RTCP报文的反馈机制,如NACK(Negative Acknowledgment)、ACK(Acknowledgment)等。

RTCP compound packets

用于将多个RTCP报文合并成一个复合报文发送,可以减少RTCP报文的发送数量和带宽占用。

RTCP的拥塞控制机制是什么?

CCM(Congestion Control Mechanism)

CCM是一种基于反馈的拥塞控制机制,可以根据接收方的反馈信息调整RTP流的发送速率。具体来说,当接收方检测到网络拥塞时,可以发送一条RTCP报文,告知发送方需要降低RTP流的发送速率。发送方收到报文后,可以根据报文内容调整发送速率,以适应当前网络状况。

TMMBN(Temporary Maximum Media Stream Bit Rate Notification)

TMMBN是一种基于通知的拥塞控制机制,用于告知接收方当前网络带宽的情况。具体来说,当接收方检测到网络带宽变化时,可以发送一条RTCP报文,告知发送方当前网络带宽的情况。发送方收到报文后,可以根据报文内容调整发送速率,以适应当前网络状况。

相关文章
  • jrtplib接收rtcp_印象笔记是哪国的
    618
  • WebRTC中的RTP协议、RTCP协议、DSP协议
    2.7K
  • jrtplib接收rtcp_qt tcpsocket 接收数据
    2.5K
  • 手撕RTSP协议系列(13)——RTCP协议
    5.3K
  • 技术解码丨Webtrc中RTCP使用及相关指标计算
    2.6K
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券