RTP 控制协议(RTCP)采用与数据包相同的分发机制,将控制包周期性传输到所有会话参与者中。底层协议必须提供数据和控制包的多路发送,例如使用不同的 UDP 端口号。RTCP 主要完成四个功能服务:
- RTCP 提供数据分发质量反馈信息。这是 RTP 作为传输协议的部分功能并且它涉及到了其它传输协议的流控制和拥塞控制。
- RTCP 为 RTP 源携带一个持久性传输层标识符,称为规范名或 CNAME。由于一旦发现冲突或程序重启时,SSRC 标识符会随之改变,所以接收方需要 CNAME 来跟踪每一个参与者。同时接收方还要求 CNAME 能够与一组相关 RTP 会话中来自于给定参与者的多重数据流相关联,例如同步视频和音频。
- 上述前两个功能要求所有的参与者都要发送 RTCP 包,因此必须控制速率以便 RTP 按比例增加大量的参与者。通过每一个参与者发送各自的控制包给其它所有参与者,每一个参与者能够独立观察到参与者数量,该数量可用来计算控制包的发送速率。
- OPTIONAL 功能用于传送最少会话控制信息,例如在用户界面显示参与者标识。这对于“松散受控”会话(在没有成员控制或阐述协商的情况下,参与者可以加入或退出该会话)是非常有用的。
上述功能1-3适用于所有环境,尤其是 IP 组播环境。RTP 应用程序设计者应该避免设计只能工作于单播模式并且不能增加到大量数量的机制。在某些情况下如单向链接中,不可能有来自接收方的反馈,所以 RTCP 的传输就可能由发送方和接收方分别独立控制。
协议结构
2 |
3 |
8 |
16 bit |
Version |
P |
RC |
Packet type |
Length |
- Version ― 识别 RTP 版本。RTP 数据包中的该值与 RTCP 数据包中的一样。 当前规范定义的版本值为2。
- P ― 间隙(Padding)。设置时,RTCP 数据包包含一些其它 padding 八位位组,它们不属于控制信息。Padding 的最后八位是用于计算应该忽略多少间隙八位位组。一些加密算法中需要计算固定块大小时也可能需要使用 Padding 字段。在一个复合 RTCP 数据包中,只有最后的个别数据包中才需要使用 padding,这是因为复合数据包是作为一个整体来加密的。
- RC ― 接收方报告计数。包含在该数据包中的接收方报告块的数量,有效值为0。
- Packet type ― 包括常量200,识别这是一个 RTCP SR 数据包。
- Length ― RTCP 数据包的大小(32位字减去1),包含头和任意间隙(偏移量的引入使得0成为有效值,并避免了扫描复合 RTCP 数据包过程中的无限循环现象,而采用32位字计数方法则避免了对4的倍数的有效性校验)。
相关协议:RTP、RTSP、UDP、TCP、IP
组织来源:RTCP 由 IETF(www.ietf.org)定义在 RFC 3550中。
相关链接:http://www.javvin.com/protocol/rfc3550.pdf: RTP: A Transport Protocol for Real-Time Applications
分享到:
相关推荐
6 RTP控制协议(RTP Control Protocol)-- RTCP 6 1 RTCP包格式(RTCP Packet Format) 6 2 RTCP传输间隔(RTCP Transmission Interval) 6 2 1 维护会话成员数目(Maintaining the number of ...
6 RTP控制协议(RTP Control Protocol) -- RTCP 6 1 RTCP包格式(RTCP Packet Format) 6 2 RTCP传输间隔(RTCP Transmission Interval) 6 2 1 维护会话成员数目(Maintaining the number of session ...
6 RTP控制协议(RTP Control Protocol) -- RTCP 6 1 RTCP包格式(RTCP Packet Format) 6 2 RTCP传输间隔(RTCP Transmission Interval) 6 2 1 维护会话成员数目(Maintaining the number of session ...
介绍RTP( Real-time Transport Protocol) RTCP(实时传输控制协议(Real-time Transport Control Protocol))安全实时传输协议(Secure Real-time Transport Protocol或SRTP)等协议
6 RTP控制协议(RTP Control Protocol) -- RTCP 6 1 RTCP包格式(RTCP Packet Format) 6 2 RTCP传输间隔(RTCP Transmission Interval) 6 2 1 维护会话成员数目(Maintaining the number of session ...
The standards for RTP and the RTP Control Protocol (RTCP)are RFCs 1889 and 1890. Also contained in the directory ``main'' is an application that uses the library to play real-time audio streams in ...
RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议)。RTP用来为IP网上的语音、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务...
RTP 全名是Real-time Transport Protocol(实时传输协议)。它是IETF 提出的一 个标准,对应的RFC 文档为...仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议)
6 RTP控制协议(RTP Control Protocol) -- RTCP 6 1 RTCP包格式(RTCP Packet Format) 6 2 RTCP传输间隔(RTCP Transmission Interval) 6 2 1 维护会话成员数目(Maintaining the number of session ...
语音,视频 RTCP (Real-time Transmission Control Protocol) – 用于反馈媒体传输的质量报告信息 7 简单SIP网络架构 SIP Request SIP Request Media Stream (RTP) User Agent (Server) 接受SIP 请求 Request Proxy...
libnemesi implements RTSP – Real-Time Streaming Protocol (RFC2326) and RTP/RTCP – Real-Time Transport Protocol/RTP Control Protocol (RFC3550) supporting the RTP Profile for Audio and Video ...
Feng implements RTSP (Real-Time Streaming Protocol) (rfc2326) and RTP/RTCP (Real-Time Transport Protocol/RTP Control Protocol) (rfc3550). It supports the RTP Profile for Audio and Video Conferences ...
国标281818-rfc4571.Framing-Real-time-Transport-Protocol-(RTP)-and-RTP-Control-Protocol-(RTCP)-Packets-over-Conn.pdf
oss-wrapper --disable-x11 --enable-neon-opt=no --with-database=simple PKG_CONFIG_PATH=/home/protocol_stack/install/lib/pkgconfig CPPFLAGS=-I/home/protocol_stack/install/include LDFLAGS=-L/home/...
详细分析系统各构成部分的功能以及移动流媒体服务器的RTSP(real time stream protocol),SDP(session description protocol),RTP(real time transport protcol)/RTCP(real time transport control pr
A Handbook for the Digital Engineer Fourth Edition Chapter 1 • Introduction 1 Contents . . . ....Organization Addresses ....Analog vs....Video Data ....Digital Video ....Video Timing ....Video Resolution ....