RTP协议的报头

RTP协议的报头是二进制编码的,具体格式如下:

各个字段的具体含义如下:

• Version (V): 占2bit的字段,描述RTP的版本号,当前设置为2.

• Padding (P):如果这个bit设置了标识,那么说明在数据包的末尾有填充字节,其目的是让包具有固定长度。在加密媒体流中,经常使用这个选项。

• Extension (X):如果这个bit设置了标识,那么在标准头域之后还有一个额外的扩展头域(头域部长度为14个字节)。扩展由特定的payload types定义。

• CSRC count (CC),CSRC计数: 这个字段占 4-bit,它指示CSRC标识符的个数。 只有混音器发出的包中会携带它,接收方从多路RTP流中提取单路RTP流时会用到它。

• Marker (M): 它是个标识符,不同的载荷意义不同。视频流中用它指示一帧的结束;音频流中用它标记会话的开始,比如说静音期后的语音。

• Payload type (PT),有效载荷: 占7-bit的字段,它定义使用的codec。这个字段中的值与SDP中的PT列表相匹配。

• Sequence Number,序列号: 它是一个16-bit的字段,发送端用它标识每个RTP包的序列,接收端用它来侦测丢包或乱序。

• Timestamp, 时戳: 占32-bit,它指示报文载荷首个8字节的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。

Synchronization source identifier (SSRCI),同步信源标识符: 占 32-bit,它标识RTP包的发送方。在会话开始时,每个参与方随机选择一个SSRC编码。如果有两方选择的SSRC相同,那么它们应当重新选择,直到与会各方的SSRC保证唯一。

• Contributing source identifier (CSRC)特约信源标识符: 每个CSRC标识符占32位,可以不携带,但最多携带15个。携带的个数在CSRC计数字段(CC)中指定。只有混音器发出的RTP包会出现它。混音器接收多路流并合成为一路。多播会议桥会用到这个头域。

猜你喜欢

转载自blog.csdn.net/yetyongjin/article/details/105137552