跳到主要内容

2. XR Packet Format (XR 数据包格式)

2. XR Packet Format (XR 数据包格式)

XR 数据包由一个包含两个 32 位字的头部组成, 后跟若干个 (可能为零) 扩展报告块。这种类型的数据包以与其他 RTCP 数据包一致的方式布局, 涉及基本的版本、数据包类型和长度信息。因此, XR 数据包与不识别它们的 RTCP 接收方实现向后兼容, 但这些实现应该能够使用长度信息解析它们。为了简单起见, 填充字段和 SSRC 字段也提供在它们在其他 RTCP 数据包中出现的相同位置。格式如下:

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|reserved | PT=XR=207 | length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: report blocks :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

version (V): 2 位

  • 标识 RTP 的版本。本规范适用于 RTP 版本 2。

padding (P): 1 位

  • 如果设置了填充位, 则此 XR 数据包在末尾包含一些额外的填充字节。此字段的语义与 RTP 规范定义的 SR 数据包中填充字段的语义相同。

reserved: 5 位

  • 此字段保留供将来定义。在没有此类定义的情况下, 此字段中的位必须设置为零, 并且接收方必须忽略。

packet type (PT): 8 位

  • 包含常量 207 以将其标识为 RTCP XR 数据包。如第 6.1 节所述, 此值已在互联网编号分配机构 (IANA) 注册。

length: 16 位

  • 如 RTCP 发送方报告 (SR) 数据包所述 (参见 RTP 规范 [9] 的第 6.4.1 节)。简而言之, 此 XR 数据包以 32 位字为单位的长度减 1, 包括头部和任何填充。

SSRC: 32 位

  • 此 XR 数据包发起者的同步源标识符。

report blocks: 可变长度

  • 零个或多个扩展报告块。与下面定义的扩展报告块框架保持一致, 每个块必须由一个或多个 32 位字组成。