RTCP
阅读量
0
阅读人次
0
RTCP(Real-time Transport Control Protocol)是RTP(Real-time Transport Protocol)的控制协议,用于监测RTP传输的质量和控制RTP流的发送速率。
RTP被划分在传输层,它建立在UDP上。同UDP协议一样,为了实现其实时传输功能,RTP也有固定的封装形式。RTP用来为端到端的实时传输提供时间信息和流同步,但并不保证服务质量。服务质量由RTCP来提供。
RTCP的封装
RTP需要RTCP为其服务质量提供保证。RTCP的主要功能是:服务质量的监视与反馈、媒体间的同步,以及多播组中成员的标识。在RTP会话期 间,各参与者周期性地传 送RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,各参与者可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。
RTCP也是用UDP来传送的,但RTCP封装的仅仅是一些控制信息,因而分组很短,所以可以将多个RTCP分组封装在一个UDP包中。RTCP有如下五种分组类型:
类型 | 缩写表示 | 用途 |
---|---|---|
200 | SR(Sender Report) | 发送端报告 |
201 | RR(Receiver Report) | 接收端报告 |
202 | SDES(Source Description Items) | 源点描述 |
203 | BYE | 结束传输 |
204 | APP | 特定应用 |
定义
SSRC(Synchronization source)是RTP报文流的一个Source,由RTP头中定义的32-bit的SSRC identifier来标识,这样做是为了不依赖网络地址。同一个SSRC中发送的所有包都具有同一时序和序列号间隔,因此接收者可以通过SSRC将收到的数据包分组并排序。一个信号源(麦克风,摄像头,Mixer)的报文流会有由一个SSRC的发送器发送。一个SSRC可能会随着时间的变化,改变其数据格式,例如音频编码。SSRC的身份识别码都是随机生成的,但是必须保证整个RTP session中该身份识别码不会重复,这些工作是通过RTCP来完成的。如果一个与会者在一个RTP session中发送不同的媒体数据流,那么每个流的SSRC必须不同。