如何解析 H264 文件和帧

How can i parse H264 file and frames

本文关键字:文件 H264 何解析      更新时间:2023-10-16

H264文件是NAL(网络抽象层)单元的流,每个单元编码一个帧(I,B或P)。解析此文件并提取大小并检测文件中每个 NAL 单元的末端以及检测 NAL 单元包含的帧类型的最佳方法是什么?

如果您实际上并没有尝试解码帧,则可以通过读取 h.264 字节流并查找 NAL 单元签名来编写一个简单的"解析器"。

以下是您需要了解的内容:

  • NAL 单位起始代码:00 00 01 X Y
  • X = IDR 图片 NAL 单位(例如 25、45、65)
  • Y = 非 IDR 图片 NAL 单位(例如 01、21、41、61)

因此,如果按顺序找到 3 个字节 [00 00 01],则很可能是 NAL 单元的开头。然后,您需要解析接下来的两个字节 [X Y] 以找出帧的类型。有关更多详细信息,请参阅规格。