FFmpeg: Объединение нескольких avi файлов

Некоторые мультимедиа контейнеры (MPEG-1, MPEG-2 PS, DV) позволяют объединять несколько видеофайлов обыкновенной конкатенацией.

Таким образом, объединить мультимедиа файлы можно с помощью первичного транскодирования видео в привеллигированные форматы, затем используя команду cat (или copy в Windows) и конечного транскодирования видеоматериалов в любой формат на ваш выбор.

ffmpeg -i input1.avi -sameq intermediate1.mpg
ffmpeg -i input2.avi -sameq intermediate2.mpg
cat intermediate1.mpg intermediate2.mpg > intermediate_all.mpg
ffmpeg -i intermediate_all.mpg -sameq output.avi

Команда -sameq позволяет сохранять битрейт в процессе обработки для исключения деградации качества видео.

Также, использование pipes в вашей операционной системе позволяет избежать создание промежуточных файлов:

mkfifo intermediate1.mpg
mkfifo intermediate2.mpg
ffmpeg -i input1.avi -sameq -y intermediate1.mpg < /dev/null &
ffmpeg -i input2.avi -sameq -y intermediate2.mpg < /dev/null &
cat intermediate1.mpg intermediate2.mpg |\
ffmpeg -f mpeg -i - -sameq -vcodec mpeg4 -acodec libmp3lame output.avi

Источник: FAQ по FFmpeg