FFmpegでMP4を結合(concat)するワンライナー
FFmpeg で MP4 を結合(concat)するワンライナー。
少ない元ファイルの FFmpeg concat
ffmpeg -i "concat:1.mp4|2.mp4|3.mp4" -c copy dst.mp4
大量の元ファイルの FFmpeg concat
ffmpeg -f concat -safe 0 -i <(for f in src/*.mp4; do echo "file '$PWD/$f'"; done) -codec copy dst.mp4
src/
以下に結合したい MP4 ファイルを置いて、 dst.mp4
として出力。
-codec copy
の指定でトランスコードせずにそのまま出力しているので、出力を MP4 以外にする時や、コーデックを変更するときは外して別オプションを指定。
この書き方だと src/**/*.mp4
みたいに入れ子をまとめられないので、必要なら ls src/**/*.mp4 | xargs -I{} mv {} src/
でまとめると楽。