ffmpegのバージョンが上がって、以前書いた方法だとできなくなっていたので、新しく修正。
任意のフォルダ内に結合したい動画(001.mp4、002.mp4というように必ず連番で)を入れて、そのフォルダ内で端末を開いて、以下を実行。
for f in *.mp4; do echo "file '$f'" >> mylist.txt; done && ffmpeg -f concat -i mylist.txt -c copy output.mp4 && rm mylist.txt
- インデックスファイルを作る。
- 動画結合。
- インデックスファイルを削除。
のコマンドをつなげただけ。
複数の動画を再エンコードせずに結合する方法をググると、インデックスファイルを作ってから…という情報が出てくるのだけど、いちいちインデックスファイルは作りたくないので、調べてみたら、以下の方法でできた。
$ ffmpeg -i "concat:imput001.mp4|input002.mp4|input003.mp4" -c copy output.mp4