抓包实例解析rtp负载的ps流数据

接下来我们来解析下rtp负载的ps数据

00 00 01 baPS Header的起始码,ps header部分最少为14个字节,如果需要对ps header进行扩展,那么可以在第14个字节的后三位进行设置,我们只需要知道使用起始码来区分ps header,中间的字节是什么意思我们不关心,

00 00 01 bbPS System Header的起始码看到这个起始码说明这是个关键帧数据,这个包头一般不看,直接过掉

00 00 01 bcPs System Map的起始码后面两个字节00 12PSM包头剩余的数据长度

因此PSM包头的长度为4+2+18=24byte后面的18个字节我们需要说明下,跳过两个字节

81 01基本没用,接下来00 00为自定义的复合流描述长度,为0表示后面没有,接下来00 08,代表基本流长度,说明后面还有八个字节,接下来的1b是stream type,意思是H264编码格式,24为h265编码格式,下一个字节e0是stream id,意思是视频流(e0-ef为视频流,c0-cf为音频流),接下来00 00为自定义元素流的描述长度,接下来90表示stream type为G.711音频格式,下一个字节c0表示stream id 为音频流,接下来的两个字节00 00同上一样,为自定义元素流的描述长度,接下来的四个字节ec cf 92 0b为CRC冗余校验我们不关心,下面我们再看PES headerPES header不论是否为关键帧还是音视频都有这个包头,

00 00 01 e0PES header的起始码,e0说明的就是视频流,跟随的两个字节fd db为PES packet length,接下来两个字节84 c0需要转为二进制解析这里都是一些标志位,我们不管,接下来0a表示可选字段的长度为10个字节,前五个字节31表示为pts 01 41 66 81表示pts的时间戳,后五个字节11 表示为dts 01 41 66 81为DTS的时间戳,因为安防领域对性能要求搞所以视频中没有B帧,所以显示时间戳和解码时间戳是一致的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kingcrab0710

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值