RTP协议
RFC3550定义实时传输协议RTP和它的控制协议RTCP。RTP协议是Internet上针对流媒体传输的基础协议,该协议详细说明在互联网上传输音视频的标准数据包格式。RTP本身只保证实时数据的传输,并不能提供可靠传输、流量控制和拥塞控制等服务质量保证,这需要RTCP协议提供这些服务。 IETF的RFC3550定义RTP/RTCP协议的基本内容,包括报文格式、传输规则等。除此之外,IETF还定义一系列扩展协议,包括RTP档次扩展,RTCP报文类型扩展等。
RTP固定头部
V :RTP协议的版本号,占2位,当前协议版本号为2。
P :填充标志,占1位,若P=1则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分,表示报文对齐。
X :扩展标志,占1位,若X=1,则在RTP报头后跟有一个扩展头。
CC:CSRC计数器,占4位,指示CSRC 标识符的个数。
M :标记,占1位,不同的有效载荷有不同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始。
PT :有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM图像等。
序列号:16位,发送RTP报文的序列号,每发送一个报文序列号增1。接收者用序列号来检测报文丢失,排序报文,恢复数据。
时间戳:32位,反映该RTP报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。
SSRC:32位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。
CSRC:每个CSRC标识符占32位,可以有0~15个。每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。在共流源标识并且没有拓展头部(X=0)的情况下,RTP头部为12个字节。