Concat demuxer
Concat demuxer został dodany do ffmpeg 1.1. Jeśli Twoja wersja ffmpeg jest zbyt stara, get the latest static binary from here: http://www.ffmpeg.org/download.html
Instrukcje
Utwórz plik mylist.txt
z wszystkimi plikami, które chcesz połączyć w następującej formie (Linie zaczynające się od myślnika są ignorowane):
# this is a comment
file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'
Zauważ, że mogą to być ścieżki względne lub bezwzględne. Następnie można zakodować pliki za pomocą:
ffmpeg -f concat -i mylist.txt -c copy output
Możliwe jest wygenerowanie tego pliku listy z bash for loop, lub za pomocą printf. Albo jeden z poniższych sposobów wygeneruje plik z listą zawierający każde *.wav w katalogu roboczym:
for f in ./*.wav; do echo "file '$f'" >> mylist.txt; done
printf "file '%s'\n" ./*.wav > mylist.txt
Źródło: ffmpeg wiki