14. RTCP 协议

RTCP 协议概述

RTCP(Real-time Transport Control Protocol 或 RTP Control Protocol 或简写 RTCP),实时传输控制协议,是实时传输协议(RTP)的一个姐妹协议。
注:RTP 协议和 RTP 控制协议(RTCP)一起使用,而且它是建立在 UDP 协议上的(一般用于视频会议)

RTCP 工作机制

当应用程序开始一个 rtp 会话时将使用两个端口:一个给 rtp,一个给 rtcp。rtp 本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠 rtcp 提供这些服务。

RTCP 负责管理传输质量在当前应用进程之间交换控制信息。在 RTP 会话期间,各参与者周期性地传送 RTCP 包,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料。因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。

RTP 和 RTCP 配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据。根据用户间的数据传输反馈信息,可以制定流量控制的策略,而会话用户信息的交互,可以制定会话控制的策略。

RTCP 数据报

在 RTCP 通信控制中,RTCP 协议的功能是通过不同的 RTCP 数据报来实现的,主要有如下几种类型:
在这里插入图片描述
SR:发送端报告,所谓发送端是指发出 RTP 数据报的应用程序或者终端,发送端同时也可以是接收端。
RR:接收端报告,所谓接收端是指仅接收但不发送 RTP 数据报的应用程序或者终端。
SDES:源描述,主要功能是作为会话成员有关标识信息的载体,如用户名、邮件地址、电话号码等,此外还具有向会话成员传达会话控制信息的功能。
BYE:通知离开,主要功能是指示某一个或者几个源不再有效,即通知会话中的其他成员自己将退出会话。
APP:由应用程序自己定义,解决了 RTCP 的扩展性问题,并且为协议的实现者提供了很大的灵活性。
这些RTCP包类型中,SR(Sender Report)和RR(Receiver Report)在实时流中经常被使用。
然后还有一些扩展的:
在这里插入图片描述

RTCP SR 包文详解

在这里插入图片描述

  1. 版本(V):2比特,RTCP版本。
  2. 填充(P):1比特,如果该位置为1,则该RTCP包的尾部就包含附加的填充字节。
  3. 接收报告计数器(RC):5比特,该SR包中的接收报告块的数目,可以为零。
  4. 包类型(PT):8比特,SR包是200。
  5. 长度域(Length):16比特,RTCP包的长度,包括填充的内容。
  6. 同步源(SSRC of sender):32比特,SR包发送者的同步源标识符。与对应RTP包中的SSRC一样。
  7. NTP timestamp(MSW+LWS):64比特, 表示发送此报告时以挂钟时间测量的时间点。 结合来自各个接收器的接收报告中返回的时间戳,它可用于估计往返于接收器的往返传播时间。
  8. RTP timestamp:32比特,与NTP时间戳对应,与RTP数据包中的RTP时间戳具有相同的单位和随机初始值。
  9. Sender’s packet count:32比特,从开始发送包到产生这个SR包这段时间里,发送者发送的RTP数据包的总数. SSRC改变时,这个域清零。
  10. Sender`s octet count:32比特,从开始发送包到产生这个SR包这段时间里,发送者发送的净荷数据的总字节数(不包括头部和填充)。发送者改变其SSRC时,这个域要清零。
  11. SSRC_n :32比特,在此块中报告其接收的发送者的 SSRC 标识符,因为可能有多个接收者。
  12. 丢失率(Fraction Lost):8比特,表明从上一个SR或RR包发出以来从同步源n(SSRC_n)来的RTP数据包的丢失率
  13. 累计的包丢失数目(cumulative number of packets lost C ):24比特,从开始接收到SSRC_n的包到发送SR,从SSRC_n传过来的RTP数据包的丢失总数。
  14. 收到的扩展最大序列号(extended highest sequence number received EHSN ):从SSRC_n收到的RTP数据包中最大的序列号
  15. 接收抖动(Interarrival jitter):32比特,RTP数据包接受时间的统计方差估计
  16. 上次SR时间戳(Last SR,LSR):32比特,取最近从SSRC_n收到的SR包中的NTP时间戳的中间32比特。如果目前还没收到SR包,则该域清零
  17. 上次SR以来的延时(Delay since last SR,DLSR):32比特,上次从SSRC_n收到SR包到发送本报告的延时
  18. 扩展字段 profile-specific extensions

其实我们可以发现他是可以分成3大部分的:

  • header 头部信息
  • sender Information block
    在这里插入图片描述
  • report block
    这个是有多个的,因为可能有多个接收者。
    在这里插入图片描述
    在这里插入图片描述

RTCP RR 包文详解

除包类型代码外,SR与RR间唯一的差别是源报告包含有一个20字节发送者信息段。活动源在发出最后一个数据包之后或前一个数据包与下一个数据包间隔期间发送SR;否则,就发送RR。
SR和RR包都可没有接收报告块也可以包括多个接收报告块,其发布报告表示的源不一定是在CSRC列表上的起作用的源,每个接收报告块提供从特殊源接收数据的统计。最大可有31个接收报告块嵌入在SR 或 RR包中。
丢失包累计数差别给出间隔期间丢包的数量,而系列号的差别给出间隔期间希望发送的包数量,两者之比等于经过间隔期间包丢失百分比。
从发送者信息,第三方监控器可计算载荷平均数据速率与没收到数据间隔的平均包速率,两者比值给出平均载荷大小。
如假设包丢失与包大小无关,那么特殊接收者收到的包数量给出此接收者收到的表观流量。
格式如下图所示:
在这里插入图片描述

Source Description RTCP Packets(源点描述)

资源描述协议,最常用的就是传递CNAME名称,用于标识会话,当SSRC发生变化也能很好的匹配会话。协议ID:202。
SDES源描述包提供了直观的文本信息来描述会话的参加者,包括CNAME、NAME、EMAIL、PHONE、LOC等源描述项,这些为接收方获取发送方的有关信息提供了方便。SDES 包由包头与数据块组成,数据块可以没有,也可有多个。
格式如下图所示:
在这里插入图片描述
V, P, PT, L:和RR包的描述一样,只不过其PT值为202

SC:5比特,此 SDES 数据包中包含的 SSRC/CSRC 块的数量。

CNAME: 规范终端标识SDES项,类似SSRC标识,RTCP为RTP连接中每一个参加者赋予唯一一个CNAME标识。在发生冲突或重启程序时,由于随机分配的SSRC标识可能发生变化,CNAME项可以提供从SSRC标识到仍为常量的源标识的绑定。为方便第三方监控,CNAME应适合程序或人员定位源。不同的 SDES 项根据类型-长度-值方案进行编码。 目前,CNAME、NAME、EMAIL、PHONE、LOC、TOOL、NOTE 和 PRIV 项目在 [RFC1889] 中定义。CNAME 项在每个 SDES 数据包中都是强制性的,而这又是每个复合 RTCP 数据包的强制性部分。与 SSRC 标识符一样,CNAME 必须与其他所有会话参与者的 CNAME 不同。 但不是随机选择 CNAME 标识符,CNAME 应该允许人或程序都可以通过 CNAME 内容来定位源。
在这里插入图片描述
在这里插入图片描述

RTCP BYE 报文介绍

BYE指示一个或者多个源退出会话。协议ID:203。
参与者发送 BYE 数据包以指示一个或多个源不再活动,可选择给出离开的理由。

作为可选项,BYE包可包括一个8位八进制计数,后跟文本信息,表示离开原因,如:“cameramalfunction"或"RTPloop detected”。字符串的编码与在SDES 项中所描述的相同。如字符串信息至BYE包下32位边界结束处,字符串就不以空结尾;否则,BYE包以空八进制填充。

格式如下图所示:
在这里插入图片描述
源数量(5bit):指示SSRC/CSRC的总数量,在头后面接的源的个数。
长度(8bit):后面字符串长度;
原因(<255):原因小于255字节。

RTCP APP 报文介绍

APP报文用于新应用程序或者新特性开发的实验使用,无需数据包类型值注册。协议ID:204。

在这里插入图片描述
子协议(5bit):自定义协议。
名字(32bit):ascii
应用数据(n*32bit):必须为32bit的整数倍。
在这里插入图片描述

RTCP FB 协议介绍

在这里插入图片描述

  • 10
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: RTCP(RTP Control Protocol)是一种与RTP(Real-time Transport Protocol,实时传输协议)配套使用的控制协议。它用于监测和控制RTP会话中的媒体流传输质量。 RTCP协议中文版PDF文件可以在各个网络资源中找到,比如一些技术论坛、互联网资源下载站点等。这个中文版PDF文件对于理解RTCP协议的功能和特性是非常有帮助的。 在RTCP协议中文版PDF中,你可以找到以下内容: 1. 协议的介绍:它会详细解释RTCP的用途和目的,以及在实时音视频传输中扮演的角色。 2. RTCP报文格式:它将展示RTCP报文的结构、字段和各个字段的含义,从而帮助你理解报文的组织和使用方式。 3. 接收和发送机制:它会涉及到RTCP报文的接收和发送过程,以及RTCP报文的发送间隔和计算方法。 4. 建立和维护会话:它会讲述有关RTCP会话的建立和维护方面的内容,以及在会话中如何协调和控制媒体流的传输。 5. 质量监测和反馈机制:它会说明如何使用RTCP来监测和控制媒体传输的质量,并提供反馈信息,以根据质量情况进行调整和优化。 通过阅读RTCP协议中文版PDF,你将能够更好地理解RTCP协议的原理和作用,以及如何使用它来监测和控制实时媒体的传输质量。这对于在音视频传输领域进行研究、开发和实施应用程序都是非常有价值的参考资料。 ### 回答2: RTCP(Real-time Control Protocol)是用于在实时传输控制协议(RTP)会话中传输控制信息的协议。其主要功能是为RTP会话提供会话控制、媒体同步和统计信息。rtcp协议中文版pdf是一份以中文写成的关于RTCP协议的PDF文件。 这份PDF文件可能包含了RTCP协议的详细说明和规范,包括协议头部的格式、报文的结构、报文的原理和各个字段的含义等。这种中文版的PDF文件对于中文读者来说,更加易于理解和学习RTCP协议的相关知识。 RTCP协议是在RTP会话中起到重要作用的协议,它不仅可以用于控制和同步多媒体数据的传输,还可以用于统计信息的收集和分析。通过使用RTCP协议,可以实现对RTP会话的监控和优化,提高多媒体通信的质量和稳定性。 这份rtcp协议中文版pdf可能会涵盖以下几个方面的内容: 1. RTCP报文的格式和字段解释:包括报文的头部和有效载荷的结构,以及各个字段的含义和作用。 2. RTCP的会话控制功能:包括请求和反馈机制、会话的建立和终止等。 3. RTCP的媒体同步功能:包括时钟同步、音视频同步等。 4. RTCP的统计信息功能:包括丢包率、延迟、抖动等统计指标的收集和分析。 通过研读rtcp协议中文版pdf,读者可以更深入地了解RTCP协议的原理和应用,从而更好地应用于实际的多媒体通信系统中。这份PDF文件对于想要学习和实践RTCP协议的中文读者来说,将会是一份非常有价值的参考资料。 ### 回答3: RTCP(Real-Time Control Protocol)即实时传输控制协议,是用于多媒体实时传输中的控制协议之一。它是在RTP(实时传输协议)的基础上发展而来的,用于提供与RTP配对使用的控制功能。RTCP的主要作用是监控多媒体传输的质量,并为应用层提供实时流媒体服务的调整和控制。 RTCP协议可提供以下功能: 1. 收集统计信息:RTCP会定期收集媒体流传输的统计信息,如丢包率、抖动、时延等,用于监测传输质量和性能。 2. 反馈控制:RTCP可通过发送反馈报文给源端,向源端提供实时媒体流的质量信息。源端可根据反馈信息进行调整,以改善传输质量。 3. 会话控制:RTCP可以对媒体会话进行控制,如加入会话、离开会话等。 RTCP协议的实现需要与RTP协议配对使用,RTP负责实时传输媒体数据,而RTCP负责控制和监测传输过程。在实际应用中,例如视频会议、流媒体传输等,RTCP协议能够对多媒体流的传输效果进行监测和反馈,确保传输的实时性和质量。 如果想获取RTCP协议中文版的PDF文件,可以在互联网资源平台或协议官方网站进行搜索和下载。通常会有相关的文档或学术论文介绍RTCP协议的原理、功能和实现方法。希望这些信息能对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值