RTCP 协议介绍 RTCP 概要 实时传输控制协议(Real-time Control Protocol, RTCP)与 RTP 共同定义在1996 年提出的RFC 1889 中,是和 RTP 一起工作的控制协议
RTCP 单独运行在低层协议上,由低层协议提供数据与控制包的复用
在 RTP 会话期间,每个会话参与者周期性地向所有其他参与者发送RTCP 控制信息包,如下图所示
对于RTP 会话或者广播,通常使用单个多目标广播地址,属于这个会话的所有RTP 和 RTCP 信息包都使用这个多目标广播地址,通过使用不同的端口号可把RTP 信息包和RTCP 信息包区分开来
图 每个参与者周期性地发送RTCP 控制信息包 RTCP 功能 1、为应用程序提供会话质量或者广播性能质量的信息 RTCP 的主要功能是为应用程序提供会话质量或者广播性能质量的信息
每个RTCP 信息包不封装声音数据或者电视数据,而是封装发送端和/或者接收端的统计报表
这些信息包括发送的信息包数目、丢失的信息包数目和信息包的抖动等情况,这些反馈信息反映了当前的网络状况,对发送端、接收端或者网络管理员都非常有用
RTCP 规格没有指定应用程序应该使用这些反馈信息做什么,这完全取决于应用程序开发人员
例如,发送端可以根据反馈信息来调整传输速率,接收端可以根据反馈信息判断问题是本地的、区域性的还是全球性的,网络管理员也可以使用RTCP 信息包中的信息来评估网络用于多目标广播的性能
2、确定 RTP 用户源 RTCP 为每个RTP 用户提供了一个全局唯一的称为规范名称 (Canonical Name)的标志符 CNAME,接收者使用它来追踪一个 RTP 进程的参加者
当发现冲突或程序重新启动时,RTP 中的同步源标识符SSRC 可能发生改变,接收者可利用CNAME 来跟踪参加者
同时,接收者也需要利用CNAME 在相