我有两个H.264编码的MPEG-4文件,我需要连接。我一直在使用MP4Box来完成这项任务,首先确保文件编码相同(甚至可以比较视频轨道上h264_parse的输出),然后连接到这个命令:
MP4Box -cat file1.mp4 -cat file2.mp4 output_file.mp4
这是有效的,输出文件是可播放的,但在Quicktime或VLC播放时,第二个视频的音频启动太快,使得连接文件的整个第二部分不同步。
我尝试通过ffmpeg重新编码输出-vcodec copy
,-acodec copy
但同步问题仍然存在。
我还尝试首先转换为MPEG-2格式,用简单连接cat file1.mpg file2.mpg > output.mpg
并用ffmpeg重新编码结果。这更糟糕。
我知道我可以将命令传递给MP4Box来调整音轨的开始时间,但我正在尝试以编程方式为任何输入视频(当然是在相同的编码中)。我正在寻找不需要人工干预/手动调整的可能解决方案。或者,至少,了解正在发生的事情使得连接视频的第二部分不同步。
-cat … -cat
为后-add … -cat
,我同时收到音频和视频,但file2不同步。