H264 数据帧头分析

推荐一款免费小巧快速十六进制编辑器 HxD

这里附上标准采集分辨率格式缩写,便于查阅。

 

h264常见的帧头数据为:

00 00 00 01 61    (P帧)

00 00 00 01 65    ( IDR 帧)

00 00 00 01 67    (SPS)

00 00 00 01 68    (PPS)

 

帧类型有:

    NAL_SLICE = 1     非关键帧      # 00 00 00 01 61
    NAL_SLICE_DPA = 2 片分区A
    NAL_SLICE_DPB = 3 片分区B
    NAL_SLICE_DPC =4  片分区C
    NAL_SLICE_IDR =5  关键帧        # 00 00 00 01 65
    NAL_SEI = 6       补充增强信息
    NAL_SPS = 7       SPS帧        # 00 00 00 01 67 
    NAL_PPS = 8       PPS帧        # 00 00 00 01 68 
    NAL_AUD = 9       分解符
    NAL_FILLER = 12   填充

对于H.264而言,每帧的界定符为00 00 00 01 或者00 00 01。

例如下面是一个H264的文件片段

00 00 00 01 67 42 C0 28 DA 01 E0 08 9F 96 10 00

00 03 00 10 00 00 03 01 48 F1 83 2A 00 00 00 01

68 CE 3C 80 00 00 01 06 05 FF FF 5D DC 45 E9 BD

E6 D9 48 B7 96 2C D8 20 D9 23 EE EF …

第一帧是00 00 00 01 67 42 C0 28 DA 01 E0 08 9F 96 10 00 00 03 00 10 00 00 03 01 48 F1 83 2A

第二帧是00 00 00 01 68 CE 3C 80

第三帧是00 00 01 06 05 FF FF 5D DC 45 E9 BD E6 D9 48 B7 96 2C D8 20 D9 23 EE EF ..

 

SPS 对于H264而言,就是编码后的第一帧,如果是读取的H264文件,就是第一个帧界定符和第二个帧界定符之间的数据的长度是4

PPS 就是编码后的第二帧,如果是读取的H264文件,就是第二帧界定符和第三帧界定符中间的数据长度不固定。

 

如我采集的的H264文件

第一帧SPS帧起始帧

第二帧PPS帧

第三帧 SEI  补充增强信息

第四帧 IDR 关键帧

第一个帧界定符和第二个帧界定符之间的数据长度是4(数据长度4byte),第二帧和第三帧之间数据长度1,第三帧和第四帧数据长度1 。

 

 

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值