跳到主要内容

3.1. 复合 RTCP 反馈分组 (Compound RTCP Feedback Packets)

如本文档所述, 基于 RTCP 的反馈由两部分组成:

  • 状态报告包含在发送方报告 (SR, sender report)/接收方报告 (RR, received report) 分组中, 并作为复合 RTCP 分组的一部分按常规间隔发送 (其中还可包含源描述 (SDES, source description) 以及可能的其他消息); 这些状态报告提供媒体流近期接收质量的总体指示.

  • 本文档定义的 FB 消息, 指示媒体流中特定片段的丢失或接收情况 (或对所收数据提供某种相当即时的其他形式反馈). FB 消息的传输规则在本文档中新引入.

RTCP FB 消息只是另一种 RTCP 分组类型 (见第 4 节). 因此, 多个 FB 消息可以组合在单个复合 RTCP 分组中发送, 也可以与其他 RTCP 分组一起发送.

包含本文档所定义 FB 消息的复合 RTCP 分组必须按 [1] 规定的顺序包含 RTCP 分组:

  • 可选的加密前缀, 若要根据 [1] 第 9.1 节对 RTCP 分组进行加密, 则必须存在此前缀.
  • 强制的 SR 或 RR.
  • 强制的 SDES, 其中必须包含 CNAME 项; 所有其他 SDES 项均为可选.
  • 一个或多个 FB 消息.

FB 消息必须放在复合分组中 [1] 所定义的 RR 与 SDES RTCP 分组之后. 相对其他 RTCP 扩展的顺序未予规定.

本文档使用两类承载反馈分组的复合 RTCP 分组:

a) 最小复合 RTCP 反馈分组 (Minimal compound RTCP feedback packet)

最小复合 RTCP 反馈分组必须仅包含上文所列强制信息: 必要时含加密前缀, 恰好一个 RR 或 SR, 恰好一个仅含 CNAME 项的 SDES, 以及 FB 消息. 这是为了尽量减小为传递反馈而发送的 RTCP 分组体积, 从而在仍遵守 RTCP 带宽限制的前提下尽可能提高可提供反馈的频率.

每当作为 Early RTCP 分组的一部分发送 RTCP FB 消息时, 应当使用本分组格式. 本文档将这种分组类型称为 minimal compound RTCP packet.

b) (完整) 复合 RTCP 反馈分组 ((Full) compound RTCP feedback packet)

(完整) 复合 RTCP 反馈分组可以包含任意数量的额外 RTCP 分组 (额外的 RR, 更多 SDES 项等). 必须遵守上述顺序规则.

每当作为 Regular RTCP 分组的一部分或在 Regular RTCP 模式下发送 RTCP FB 消息时, 必须使用本分组格式. 在 Immediate Feedback 或 Early RTCP 模式下也可用它发送 RTCP FB 消息. 本文档将这种分组类型称为 full compound RTCP packet.

不包含 FB 消息的 RTCP 分组称为 non-FB RTCP 分组. 此类分组必须遵循 [1] 中的格式规则.