Howto merge two avi files using ffmpeg?

39,118

Solution 1

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.

Solution 2

You can use this single command line:

ffmpeg -i "concat:input1.avi|input2.avi|input3.avi" -c copy output.avi
Share:
39,118
teslasimus
Author by

teslasimus

Updated on July 09, 2022

Comments

  • teslasimus
    teslasimus almost 2 years

    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.