H264文件分析

先准备一个H264文件,如果没有,可以使用以下方法。

首先下载ffmpeg,直接下载

http://www.ffmpeg.org/download.htmlhttp://www.ffmpeg.org/download.html

image-20200621180942675.png

下载Build版本,不要下源码。我把它解压到了D盘根目录下了,无需安装。

然后在windows 命令行输入命令


image-20200621181220809.png
ffmpeg -i ../2.mp4 -codec copy -bsf: h264_mp4toannexb -f h264 ../test.h264

使用十六进制编辑器打开test.h264,推荐一款小巧的编辑器 HxD

image-20200621181549106.png

下面我们开始分析数据:

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   填充

对于H264而言,每帧的界定符为00 00 00 01 或者00 00 01


image-20200621182419619.png

上面的数据第一帧是00 00 00 01 67 64 .....

第二帧数据是00 00 00 01 68 EA......

第三帧数据是 00 00 01 65......

SPS对于H264而言,就是编码后的第一帧

PPS就是编码后的第二帧

I帧就是第三帧


20180805220546969.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容