音视频的每一帧在MP4文件中是以一个sample存在的。一个包含音视频的mp4文件包含一个音频track和一个视频track。每个track包含若干chunk、每个chunk包含若干sample。要播放mp4文件,需要按照时间先后顺序提取出sample的信息,如大小、文件中位置、时间、类型(音频、视频)、是否关键视频帧等。mp4文件的stbl内存放有这些信息。详细请参考video_file_format_spec_v10_1.pdf这个文件。这里贴一下解析一个track内所有sample代码,解析出来后,可以合并其它track的sample,这样就能获取一个mp4文件内所有的sample信息,最后按照时间排序,就是播放Mp4文件sample的顺序了。