Udp、Rtp协议头配图解析

Udp、Rtp协议头配图解析

文档名词解析参考文(http://blog.csdn.net/bripengandre/article/details/2238818)
(http://www.cnblogs.com/qingquan/archive/2011/07/28/2120440.html)

标准来说,udp去8个字节的头为rtp数据,rtp去12个字节的头为流数据,udp 8个字节分别为端口号两个,长度一个。端口号长度为2个字节,有效范围是0到65536。
分析:
如图,取过滤出的流进行分析
这里写图片描述

首先,看udp头分析:
Udp的八个长度分别为,udp的源数据端口,占2个字节,数据皆为16进制,也就是换成2进制后16个长度的数据,如图中7546转换为10进制后为30022,转换为2进制后为
111010101000110 。目的端口也占2个字节,长度也占2个字节,checksum 校检和也占2个字节长度,所以udp头共占8个字节长度。

这里写图片描述

再看rtp头分析:
Rtp头标准长度为12个字节。
其中,rtp协议版本号V占2位,填充标准P占1位,扩展标准X占1位,CSRC计数器CC占4位,这四个共占8位,一个字节。
M标记占1位,有效载荷占7位,共占用1个字节。
序列化占16位,占用2个字节。
时间戳(Timestamp)占32位,占用4个字节。
同步信源(SSRC)占32位,共占用4个字节。
特约信源(CSRC),每个特约信源占32位,可以有0到15个。

如图,协议版本号占2位,当前协议版本号为2,

这里写图片描述

填充标志位P占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分,当前P=0,

这里写图片描述

X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头。当前x = 0,无扩展

这里写图片描述

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

这里写图片描述

此处,一个8位结束,共占用一个字节。

接下来,第二个字节:
M标记,占1位,不同的有效载荷有不同的意义,对于视频,标志一帧的结束,对于音频,标志一帧的开始。

这里写图片描述

PT,有效载荷类型,占7位,用于说明rtp报文中有效载荷的类型,如GSM音频,jpeg图像等,在流媒体中大部分是用来区分音频和视频的,这样便于客户端进行解析。

这里写图片描述

序列号(SN):占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号加1。这个字段可用于udp传输时网络状况不好的情况下的丢包检测。序列号的初始值是随机的。

这里写图片描述

时间戳(Timestamp):32比特,记录了该包中数据的第一个字节的采样时刻。在一次会话开始的时候,时间戳初始化成一个初始值。即使没有发送信号,时间戳的数据也要不断增加(时间在流逝),时间戳是去除抖动必不可少的。

这里写图片描述

同步信源(SSRC):占32位,用于标识同步信源,该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。该标识符是随机选取的 RFC1889推荐了MD5随机算法。

这里写图片描述

贡献源列表(CSRC List):0~15项,每项32比特,用来标志对一个RTP混合器产生的新包有贡献的所有RTP包的源。由混合器将这些有贡献的SSRC标识符插入表中。SSRC标识符都被列出来,以便接收端能正确指出交谈双方的身份。

以下部分则为有效载荷(payload) ,为主要数据。

这里写图片描述

当前载荷为109,转行成264数据,如下

这里写图片描述

简单分析下,一个mark标志位间是一帧数据,分成一个一个的NAL,当前帧为非关键帧,第一个字节为21,也就是100001,后5位对应的值是1,即非关键帧。

这里写图片描述

一帧的开始第一个数据为SPS,当前为27,转换二进制为100111,取后5位即当前type类型,为7,SPS

这里写图片描述

第二个为PPS , 当前为28,转换二进制为101000,取后5位即当前type,为8

这里写图片描述

下面为关键帧,IDR,当前为25,转换二进制为100101,取后5位即当前type,为5

这里写图片描述

至此,udp头和rtp头已全部分析完。如需相关名词解析无图版,可去链接地址查看前人分析的。
学习就和写字一样,不写下来容易忘记。这次自己把对udp,rtp头的理解记录了下来,并配上图片,希望给入门级的人提供帮助,也方便自己以后查阅,久了,不用就忘了~如果理解错误的地方还望大家提出来,不能误导他人。学术浅陋,望能理解~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值