Odpowiedzi:
Użyj demuxera konkat .
Najpierw utwórz plik tekstowy z nazwami plików.
file '1.mp4'
file '2.mp4'
file '3.mp4'
...
file '13.mp4'
file '14.mp4'
file '15.mp4'
Następnie uruchom polecenie concat.
ffmpeg -f concat -i textfile -c copy -fflags +genpts merged.mp4
Aby to zadziałało, wszystkie filmy powinny mieć takie same właściwości, jak kodek, rozdzielczość, liczba klatek na sekundę, częstotliwość próbkowania itp.
Jeśli nie są, możesz zakodować konkat.
ffmpeg -f concat -i textfile -fflags +genpts merged.mp4
Zobacz także FFmpeg Wiki: Concatenate .
Sugestia Gyana nie działała dla mnie. Wyjściowe wideo z sugerowanych poleceń miało taki sam czas trwania jak pierwsze wejście, więc brakowało treści wideo 2 i 3, a mój odtwarzacz multimedialny zawiesił się, próbując odtworzyć wyjście.
Znalazłem jednak odpowiedź w podanym przez niego źródle : http://trac.ffmpeg.org/wiki/Concatenate#filter
ffmpeg -i v1.mp4 -i v2.mp4 -i v3.mp4 -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0]concat=n=3:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" v_out.mp4
To polecenie działało w przypadku filmów zawierających zarówno strumienie wideo, jak i audio. W przypadku jednego filmu wideo bez dźwięku modyfikuję polecenie nieco w następujący sposób:
ffmpeg -i v1_NoAudio.mp4 -i v2.mp4 -i v3.mp4 -filter_complex "[0:v:0][1:v:0][2:v:0]concat=n=3:v=1[outv]" -map "[outv]" v_out_NoAudio.mp4
W efekcie właśnie usunąłem wszystkie fragmenty polecenia dotyczące dźwięku. Spowoduje to usunięcie dźwięku z drugiego i trzeciego filmu, z reguły przy użyciu tego filtra kanały pozostają takie same we wszystkich filmach.