Synchronizing audio and video using MP4Box / ffmpeg to concatenate files
Posted
by jdl2003
on Super User
See other posts from Super User
or by jdl2003
Published on 2009-09-04T18:01:11Z
Indexed on
2010/03/20
0:11 UTC
Read the original article
Hit count: 731
I have two H.264 encoded MPEG-4 files that I need to concatenate. I have been using MP4Box for this task by first ensuring the files are encoded identically (even went so far as to compare output from h264_parse on their video tracks) and then concatenating with this command:
MP4Box -cat file1.mp4 -cat file2.mp4 output_file.mp4
This works and the output file is playable, but on playback in Quicktime or VLC the second video's audio starts too soon, making the entire second part of the concatenated file out of sync.
I have tried reencoding the output through ffmpeg with -vcodec copy
and -acodec copy
but the sync issue persists.
I have also tried converting to MPEG-2 format first, concatenating with a simple cat file1.mpg file2.mpg > output.mpg
and reencoding the result with ffmpeg. This was even worse.
I know that I can pass commands to MP4Box to adjust the start time of the audio track, but I am trying to do this programmatically for any input video (in the same encoding of course). I am looking for possible solutions that would not require human intervention / manual adjustments. Or, at least, an understanding of what is happening to make the second part of the concatenated video go out of sync.
© Super User or respective owner