あるファイルAと別のファイルBを連続で再生する動画ファイルCを作りたかったので、やり方を調べてみました。
まず、以下のように結合したいファイルを各行に記述したテキストファイルを作ります。
mylist.txt
file /path/to/fileA.mp4
file /path/to/fileB.mp4
次に、このテキストファイルと同じディレクトリで以下のコマンドを実行します。
ffmpeg -f concat -i mylist.txt -c copy output.mp4
※mylist.txt は先ほど作成したテキストファイルのファイル名です。
※ffmpegにパスが通っている必要があります。
-c copy
はオリジナルファイルのコーデックを再エンコードすることなく処理するオプションです。
とても高速に処理できますが、fileA.mp4、fileB.mp4のコーデックが異なる場合はこの方法では結合できません。
異なるコーデックの動画を結合したい場合は、-c copy
を外す(デフォルトのコーデックが使われる)かコーデックを指定してエンコードしてください。