Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Howto merge two avi files using ffmpeg?

I'm unable to merge two avi videos together. google is full of below examples:

cat file1.avi file2.avi file3.avi > video_draft.avi after appending the data together using cat above, you need to re-index the draft movie like this:  mencoder video_draft.avi -o video_final.avi -forceidx -ovc copy -oac copy Now you're video_final.avi file will be right to go. 

but it doesn't work for me, the first video is converted and that's it.

like image 508
teslasimus Avatar asked Mar 03 '13 14:03

teslasimus


People also ask

How do I combine two videos in android programmatically FFmpeg?

run(new String[] { "ffmpeg", "-i", "'concat:" + ts1 + "|" + ts2 + "'", "-vcodec", "copy", "-acodec", "copy", "-absf", "aac_adtstoasc", output });


1 Answers

You should look into the concat demux and concat protocol that was added in ffmpeg 1.1. Assuming the codecs are the same you create a file (example mylist.txt):

file '/path/here/file1.avi' file '/path/here/file2.avi' file '/path/here/file3.avi' 

Then pass that file to ffmpeg

ffmpeg -f concat -i mylist.txt -c copy video_draft.avi 

You can use this command to make the list:

ls *.avi | while read each; do echo "file '$each'" >> mylist.txt; done 

The linked page has more advanced examples for dealing with issue like different codecs/formats.

like image 159
cwgem Avatar answered Sep 26 '22 04:09

cwgem