[FFmpeg] 複数の動画を結合する

複数の動画をつないで一つの動画にまとめるときに使うコマンド。

複数の動画をひとつに結合する

  1. list.txt を作成して、結合したい動画のファイル名を順番に書きます。
    (書いた順番に結合されるので並び順には注意)
    file INPUT_1.mp4
    file INPUT_2.mp4
    file INPUT_3.mp4
    file INPUT_4.mp4    
    
  2. 結合したい動画を list.txt と同じ場所に置いて以下のコマンドを実行します
    ffmpeg -f concat -i list.txt -c copy OUTPUT.mp4
    

つなぎ合わせる動画のコーデックが異なる場合は、-c copy を外してエンコードします。

異なる解像度の動画を繋げようとすると、エラーが起きます。
こういった場合は、結合する前に各動画の解像度を揃えておきましょう。

おまけ: リストを作らずに結合する(MP4は対象外)

MP4 ではサポートされていない方法 ですが、連結がサポートされたファイル形式であれば以下のようなコマンドでも結合できるようです。
(サポートされてるファイル: MPEG-1, MPEG-2 PS, DV)

ffmpeg -f "concat:INPUT1.FILE|INPUT2.FILE" -c copy OUTPUT.mvk

(この方法はフォーラムで見かけただけで未検証です)