📜  实时传输控制协议 (RTCP)

📅  最后修改于: 2021-09-28 09:23:39             🧑  作者: Mango

实时传输协议 (RTP)只允许这种类型的消息,它将数据从源传送到目的地。但在某些情况下,我们在会话中需要一些其他类型的消息。消息可以控制数据的传输和质量,还允许接收者向源发送反馈。为此目的而设计的协议,称为实时传输控制协议 (RTCP)

上图显示了 RTP 和 RTCP 协议的流结构。

RTCP 有五种类型的消息,如下所示:

  1. 发件人报告:
    发送方报告由会议中的活动发送方在固定时间间隔后发送,以报告该时间段内发送的所有 RTP 数据包的传输以及接收统计。发送方发送的报告包含绝对时间戳的详细信息,即从 1970 年 1 月 1 日午夜开始经过的秒数。 接收方收到 RTP 消息后,这些绝对时间戳的详细信息有助于接收方进行同步过程.这在音视频传输中对于获取相对时间戳非常重要。

  2. 收货人报告:
    被动参与者是那些不发送 RTP 数据包的参与者,它们使用接收者报告。此报告用于通知发送方和其他接收方有关服务质量的信息。
  3. 源描述消息:
    源在固定间隔内发送源描述消息,以提供有关其自身的一些额外信息。它包含有关来源名称、邮件 ID、联系电话或来源控制者的详细信息。
  4. 再见留言:
    要关闭流,源会发送一种称为再见消息的消息。源用于通知离开会议。此消息是针对其他来源的有关缺少来源的直接通知。它可用于组合不同的媒体文件。
  5. 特定于应用程序的消息:
    如果我们想让我们的应用程序可扩展,那么 RTCP 允许应用程序特定的 RTCP 数据包,这是由 RTC 3611 引入的。它可用于扩展应用程序的类型。

RTCP的UDP端口:
RTP 使用众所周知的 UDP 端口,但 RTCP 不使用。 RTCP 使用临时端口。它必须是奇数端口。它使用 UDP 端口号,它是下一个更高的奇数,紧跟为 RTP 选择的端口号。