有关mp4文件格式,请参阅此文档,这是我发现的最清晰的文件之一: http://xhelmboyx.tripod.com/formats/mp4-layout.txt
如果您搜索: 4字节视频帧像素大小
您将找到带有该文本的行。
我如何知道文件开头的偏移量,以便提取“帧视频大小”?
在哪里可以找到所有帧及其像素数据?
答案 0 :(得分:2)
首先,链接文件很差-要真正了解MP4结构,您应该阅读ISO 14496-12标准(zipped version here)。关于您的问题:
1)不能。没有固定的偏移量。由于存在强制和可选框,因此结构可能会更改,因此在每个文件中,包含所需数据的tkhd
框可以位于不同的偏移量。最坏的情况是,您可以在文件中扫描tkhd
的框ID,然后尝试解析该框(请参阅规范中的布局)。但是请注意,可能存在多个轨道。
2)帧已编码,因此您没有“像素数据”-您具有必须解码的“压缩视频流”。可以计算实际偏移量。二进制数据位于mdat
框内,但是您必须从其他框知道实际的视频有效载荷大小,才能知道在何处分割它们。