0

我正在使用Media Foundation(MFT)的H264编码器。
我从中提取了SPS和PPS,因为我需要它来实现流畅的流媒体。
MSDN表示在每个NALU之前出现的用于长度字段的字节数可以是1, 2, or 4。这全部以网络字节顺序。如您所见,缓冲区中的前4个字节是0, 0, 0, 1。如果我们应用任何可能的长度,我们将一无所获。如果用于长度的字节数为1,则长度为零,如果为2,则长度再次为零。如果是4,那么第一个NALU的长度是1?!而且,这不正确。
有谁知道我应该如何解释这个SPS和PPS串联在一起?

extracted SPS + PPSMedia Foundation H264编码器中的SPS和PPS(又名dwSequenceHeader)

回答

5

这里答案很简单:所述数据是有效的,并根据附录B格式,由起始码前缀00 00 00 01而非行程长度编码。

H.264 extradata (partially) explained - for dummies

在这种格式附件B格式

,每个NAL用一个四个字节的起始码preceeded:0×00 0×00 0×00 0×01因而,以便知道其中NAL开始以及它 停止,您需要读取比特流的每个字节,查找 这些开始代码,如果您需要在此格式和其他格式之间转换 ,这可能会很痛苦。

有关H.264 spec的更多详细信息 - 可免费下载。以“附件B - 字节流格式”开头。

+0

我知道,我需要h.264规范,我没有:-( – user1764961

相关问题