Я недавно не пробовал этот метод, но не понимаю, почему он все еще не работает. Я полагаю, что вы можете просто cat
.mp4
объединять файлы, если не хотите ничего делать, кроме как объединять их.
1. Использование кошки
$ cat file1.mp4 file2.mp4 > file3.mp4
$ ffmpeg -i file3.mp4 -qscale:v 2 output.avi
Я все еще использую ffmpeg
все время, он тоже может объединять файлы.
2. Использование ffmpeg
Составьте список файлов для объединения
$ cat inputs.txt
file sample_mpeg4.mp4
file sample_mpeg4.mp4
конкатенация
$ ffmpeg -f concat -i inputs.txt -c copy out.mp4
$ ll |grep -E "sample|out"
-rw-rw-r--. 1 saml saml 491860 Feb 19 23:36 out.mp4
-rw-r--r--. 1 saml saml 245779 Feb 19 23:32 sample_mpeg4.mp4
Другие методы описаны в вики FFmpeg: Как объединить (объединить, объединить) медиа-файлы .
ПРИМЕЧАНИЕ. Ubuntu не поддерживает этот concat
формат. Вы должны использовать протокол concat. Кроме того, он имеет опции кодека для каждого потока. Таким образом, использование протокола concat приводит к следующему:
$ ffmpeg -i input1.mp4 -vcodec copy -acodec copy \
-vbsf h264_mp4toannexb -f mpegts intermediate1.ts
$ ffmpeg -i input2.mp4 -vcodec copy -acodec copy \
-vbsf h264_mp4toannexb -f mpegts intermediate2.ts
$ ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" \
-vcodec copy -acodec copy -absf aac_adtstoasc output.mp4
Опции Ubuntu ffmpeg описаны здесь .