如何在H264流中获取IDR切片的长度

时间:2013-12-17 13:45:18

标签: parsing h.264 frames

请指导我解决此问题。

我解析了h264视频流并识别了帧[I / P / B]。我已按照以下步骤进行操作。

•NAL单位开始代码:00 00 01 X Y. •X = IDR图片NAL单位(25,45,65) •Y =非IDR图片NAL单位(01,21,41,61); 01 = b帧,41 = p帧

现在我的问题是如何知道单个帧的长度,以便我可以将每个帧写入文件。请帮忙。

此致 SPK

1 个答案:

答案 0 :(得分:2)

好的,所以你的来源是一个附件b形成的基本流。基本上每个NALu都以一个起始码(2个或更多0x00个字节后跟一个0x01字节)开头。下一个字节包含类型(前5位)。其余的是有效载荷。 NALU在遇到下一个启动代码时结束,或者到达流的末尾。因此,要获得长度,您必须查找下一个起始代码并减去。

您可能会发现这篇文章很有用。 Possible Locations for Sequence/Picture Parameter Set(s) for H.264 Stream