Некоторые мультимедиа контейнеры (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
< /dev/null & – не могли бы вот этот кусочек объяснить?