RTP协议

RTP(Real-time Transport Protocol)即实时传输协议,是一种网络传输协议,对应的RFC文档为RFC3550,RTP协议描述了在互联网上传输音视频的标准数据包格式。

 

RTP头遵循下面的格式:

 起始的12个字节是每个RTP数据包都有,CSRC标识符列表只有当

V:RTP协议的版本号,占2位,目前协议版本号为2

P:填充标志,占1位,若为1,则在该报文的尾部填充一个或多个字节,它们不是有效载荷

X:扩展标志:占1位,若为1,则在RTP固定头部之后有一个扩展头

CC:CSRC计数器,占4位,标识CSRC标识符的个数

M:标记,占1位,不同载荷有不同的含义,对于视频标记一帧的结束;对于音频标记会话的开始

PT:有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型

sequence number:序列号,占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。当下层协议用UDP时,网络不好的情况下可以用来判断丢包;出现网络抖动的时候可以用来对数据进行重新排序,音频和视频时分别计数的。

timestamp:时间戳,占32位,反映了该RTP报文的第一个字节的采样时刻;接收者使用时间戳来计算延迟和延迟抖动,并进行同步控制。

SSRC:同步信源标识符,占32位,用于标识同步信源。该标识符是随机产生的。

 CSRC:特约信源标识符,每个CSRC占32位,可以有0-15个,每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。

若扩展标志被置位,说明紧跟在报文头后面的是一个扩展头,格式如下:

 

posted on 2024-09-16 15:16  Arthurian  阅读(409)  评论(0)    收藏  举报