我有一系列的MP4文件(H.264视频,AAC音频,16KHz的)。 我需要将它们一起合并程序(Objective-C中的iOS),但最终的文件将过大的内存来保存,所以我不能使用AVFramework为我做到这一点。
我已经写代码,会做合并,并采取一切仅仅基于串联各MDATS内容的MP4原子(STBL,STSZ,STCO等)的照顾。 我的问题是,虽然得到的文件播放,音频逐渐变得不同步视频。 什么似乎是发生的是,有在变得更糟糕了多个文件,我串连每一个文件的音频和视频长度之间的差距。
我用MP4Box生成命令行文件,它是“类似,但不同的”我的输出。 一个显着的不同是,MDAT的长度改变,且组块偏移量也改变(尽管样品大小保持一致)。
我最近读了AAC编码在数据流的开头和结尾介绍填充所以不知道这是否是我需要处理。
问:给定两个含H264编码数据和AAC音频MDAT原子,是我的基本方法声音或做我需要反思以某种方式MDAT数据。