4

我正在尝试在分段文件(styp)的 mp4 容器中找到 h264 帧。对于分段,我目前正在使用 MP4Box dash。我使用了 MP4Box 解析器,我注意到在每个关键帧(IDR)中,样本的大小与原始文件中同一帧的大小不同。我计算了差异,对于其他段中的同一文件,它总是 37 字节。

在此处输入图像描述

这些字节代表什么?它们仅出现在每个关键帧之前的分段 mp4 文件类型中。我用其他文件进行了测试,这些字节的数量略有不同(其他文件是 39 字节)并且不是相同的数据(尽管它们共享一些字节模式)。这是来自 mp4 标准或 H264 甚至 MP4Box 的东西吗?我没有头绪。

4

1 回答 1

6

00 00 00 19 67 ...- H.264 SPS NAL 0x19 (25) + 4 = 29 字节大小

00 00 00 04 68 ...- H.264 PPS NAL 0x04 (4) + 4 = 8 字节大小

总之,这给出了 29 + 8 = 37 个字节的 SPS/PPS。通常对于 mp4(avc1 样本),SPS/PPS 不存在带内(mdat 盒)并存储在带外的 avcC 盒中。但这不是严格的规则 afaik 和 SPS/PPS 只能是带内和带外或带外的,仅对于 avc3 样本。

于 2018-03-06T17:42:57.973 回答