RTCP报文结构

在这里插入图片描述

1)、发送者报告RTCP包
发送者报告包由 3 部分组成,若定义,可能跟随第 4 个面向协议的扩展部分。

第一部分,头部, 8 字节长。该域有以下意义:
版本(V): 2 比特 RTP 版本识别符,在 RTCP 包内的意义与 RTP 包中的相同。此协议中定义的版本号为 2。

填充(P): 1 比特 若设置填充比特,该 RTCP 包在末端包含一些附加填充比特,并不是控制信息的基本部分。填充的最后一个比特统计了多少个字节必须被忽略。填充可能会用于需要固定长度块的加密算法。在复合 RTCP 包中,复合包作为一个整体加密,填料比特只能加在最后一个单个 RTCP 包的后面。
接收报告块计数(RC): 5 比特 该包中所含接收报告块的数目。零值有效。

包类型(PT): 8 比特 包含常数 200,用以识别这个为 SR 包。

长度: 16 比特 该 RTCP 包的长度减 1。其单位是 32 比特字,包括头和任何填充字节。

SSRC: 32 比特 SR 包发送者的同步源标识符。

第二部分,发送者信息, 20 字节长。在每个发送者报告包中出现。它概括了从此发送者发出的数据传输情况。此域有以下意义:
NTP 时间戳: 64 比特 指示了此报告发送时的背景时钟(wallclock)时刻,它可以与从其它接收者返回的接收报告块中的时间标志结合起来,计算往返每个接收者所花的时间。

RTP 时间戳: 32 比特 与以上的 NTP 时间标志对应同一时刻。与数据包中的 RTP 时间戳具有相同的单位和偏移量。

发送的报文数: 32 比特 从开始传输到此 SR 包产生时该发送者发送的 RTP 数据包总数。若发送者改变 SSRC 识别符,该计数器重设。

发送的字节文数: 32 比特 从开始传输到此 SR 包产生时该发送者在 RTP 数据包发送的字节总数(不包括头和填充)。若发送者改变 SSRC 识别符,该计数器重设。此域可以用来估计平均的负载数据发送速率。

第三部分:零到多个接收报告块。块数等于从上一个报告以来该发送者侦听到的其它源(不包括自身)的数目。每个接收报告块传输从某个同步源来的数据包的接收统计信息。若数据源因冲突而改变其 SSRC 标识符,接收者重新设置统计信息。这些统计信息有:

SSRC_n(同步源标识符): 32 比特 在此接收报告块中信息所属源的 SSRC 标识符。

丢包率: 8 比特 自从前一 SR 包或 RR 包发送以来,从 SSRC_n 传来的 RTP 数据包的丢失比例。以定点小数的形式表示。该值定义为损失包数/期望接收的包数。若由于包重复而导致包丢失数为负值,丢包率设为零。注意在收到上一个包后,接收者无法知道以后的包是否丢失。

累计包丢失数: 24 比特 从开始接收到现在,从源 SSRC_n 发到本源的 RTP 数据包的丢包总数。该值定义为:期望接收的包数-实际接收的包数。接收的包括复制的或迟到的。由于迟到的包不算作损失,在发生复制时丢包数可能为负值。期望接收的包数定义为:扩展的上一接收序号(随后定义)减去最初接收序号。

接收到的扩展的最高序列号: 32 比特 低 16 比特包含从源 SSRC_n 来的最高接收序列号,高 16 比特用相应的序列号周期计数器扩展该序列号。注意在同一会议中的不同接收者,若启动时间明显不同,将产生不同的扩展项。

到达间隔抖动:32 比特 RTP 数据包到达时刻统计方差的估计值。测量单位同时间戳单位,用无符号整数表达。到达时间抖动定义为一对包中接收者相对发送者的时间间隔差值的平均偏差(平滑后的绝对值)。

上一 SR 报文 (LSR): 32 比特 接收到的来自源 SSRC_n 的最新 RTCP 发送者报告(SR)的 64 位 NTP 时间标志的中间 32 位。若还没有接收到 SR,该域值为零。

自上一 SR 的时间(DLSR): 32 比特 是从收到来自 SSRC_n 的 SR 包到发送此接收报告块之间的延时,以 1/65536 秒为单位。若还未收到来自 SSRC_n 的 SR 包,该域值为零。

2)、 RR:接收者报告包
接收者报告包(RR)与发送者报告包基本相同,除了包类型域包含常数 201 和没有发送者信息的 5 个字(NTP 和 RTP 时间标志和发送者包和字节计数)。余下区域与 SR 包意义相同。若没有发送和接收据报告,在 RTCP 复合包头部加入空的 RR 包(RC=0)。

3)、 发送者和接收者报告扩展

如果有额外的关于发送者和接收者的信息要周期性的,描述文件(profile)应该定义接收者报告和发送者报告描述文件扩展。此时,应采用这里的办法,而不是定义另外的 RTCP 包。因为这种办法需要的头部信息更少。

扩展部分是发送报告包和接收报告包的第四部分。如果有的话,应紧跟在接收报告块的后面。如果需要更多的发送者信息,它应当跟在发送者报告的开关,而不应在报告中出现。如果要包含进接收者的信息,它应该以块数组的方式放到接收报告块的后面。即这些块也应被计入 RC 字段中

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值