FFmpeg Cookbook
EN

動画結合ツール

複数の動画を 1 本につなげます。形式がそろった動画は無劣化コピー、そろっていない動画は再エンコードで結合します。

動画はサーバーに送られません
動画を複数まとめて選択 / ドラッグ&ドロップ
2本以上必要・MP4/MOV/WebM/MKV など
無劣化コピーは、映像の形式・解像度・音声の形式(サンプルレートなど)がすべて同じ動画をつなげるときに使います。違う動画があると、結合する前に止めて、どこが違うかを表示します。そのときは再エンコードで結合してください。
処理中… 0%

対応する FFmpeg コマンド

現在の設定に対応するコマンドラインです。設定を変えるとリアルタイムで更新されます。

ffmpeg -i in0.mp4 -i in1.mp4 -filter_complex "[0:v]scale=trunc(iw/2)*2:trunc(ih/2)*2,fps=30,setsar=1[v0];[0:a]aresample=48000[a0];[1:v]scale=trunc(iw/2)*2:trunc(ih/2)*2,fps=30,setsar=1[v1];[1:a]aresample=48000[a1];[v0][a0][v1][a1]concat=n=2:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" -c:v libx264 -preset fast -crf 23 -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart output.mp4

次にやること

よく使われる用途
複数クリップの結合SNSまとめ動画の作成前後カット後の統合

使い方

  1. 結合したい動画を追加2 本以上の動画(MP4・MOV・WebM・MKV など)を追加します。上から順に結合します。
  2. 結合方式を選ぶ同じ機器・同じ設定で撮った動画なら「無劣化コピー」、それ以外は「再エンコード」を選びます。
  3. 解像度・トランジションを設定再エンコードのときだけ使えます。トランジションの長さは 0.2〜5 秒で、初期値は 0.5 秒です。
  4. 結合を実行完了するとプレビューが表示され、ダウンロードできます。

おすすめ設定

iPhone で撮った同設定の複数動画を 1 本に
無劣化コピー
コーデック・解像度・音声の形式が同じなら、再エンコードせずに速くつなげます。
画面録画と手元動画を混ぜる
再エンコード・1080p・クロスフェード 0.5 秒
解像度やコーデックが違う動画は、再エンコードでそろえます。
YouTube 用イントロ + 本編
再エンコード・1080p・トランジションなし
トランジションなしなら、クリップを重ねずにそのままつなぎます。

うまくいかないとき

「無劣化コピーでは結合できません」と表示される

原因:映像の形式・解像度・色の形式・回転の情報、または音声の形式・サンプルレート・チャンネルが、1 本目と違う動画がある。コピーでつなぐと、映像が乱れたり、音が遅く低くなったりするファイルになるため、結合する前に止めます。つないだ後に、つなぎ目で映像が乱れると分かったときも止めます。

対処:結合方式が「再エンコード」に切り替わるので、もう一度結合のボタンを押してください。

クリップの境目で映像が一瞬止まる

原因:前のクリップの音声が映像より長い。つなぐと、その差の分だけ最後のコマが止まって見えます(コピーでも再エンコードでも同じ)。

対処:結合する前に、トリムで前のクリップの末尾を映像の長さに合わせて切ってください。

よくある質問

何本まで結合できますか?

本数の上限はありません。1 ファイル 500MB までです。すべての動画をブラウザのメモリに読み込むため、合計が大きいと途中で止まることがあります。長い動画は先に圧縮してください。

結合の順番を後から変更できますか?

はい。リストの ▲▼ ボタンで並べ替えられます。並びがそのまま結合順になります。

音声が片方の動画にしかない場合は?

「再エンコード」を選んでください。音声のないクリップには、同じ長さの無音を入れて結合します。無劣化コピーは、音声のある動画とない動画が混ざっていると結合できません。

無劣化コピーが失敗する条件は?

映像の形式・解像度・色の形式・回転の情報、音声の形式・サンプルレート・チャンネルのどれかが 1 本目と違うと、つないでも正しく再生できません。このツールは結合する前にこれらを比べ、違いがあれば止めて「再エンコード」に切り替えます。つないだ後も、つなぎ目の映像を読み取れるか確かめます。フレームレートは比べません(違う動画をつなぐと、途中でフレームレートが変わる動画になります)。

縦動画と横動画を混ぜたい

「再エンコード」を選びます。出力の向きと縦横比は 1 本目に合わせ、向きの違うクリップは黒い余白を付けて収めます。余白を付けたくない場合は、先に SNS 動画リサイズで向きをそろえます。

クロスフェードとディゾルブ、黒フェードの違いは?

クロスフェードは 2 つの映像を少しずつ重ねて切り替えます。ディゾルブは画素が点々とランダムに入れ替わります。黒・白フェードは一度黒か白を挟むため、場面の区切りがはっきりします。

結合後のファイルサイズは?

無劣化コピーなら、元の動画の合計に近くなります。再エンコードは H.264(CRF 23)で作り直すため、元より小さくなることも大きくなることもあります。

くわしい説明(設定の意味・制限・FFmpeg のコマンド)

設定の意味

結合方式
無劣化コピー=再エンコードせずにつなぐ(速い・画質が落ちない)。再エンコード=H.264・30fps・AAC で作り直す(形式の違う動画も結合できる)。
解像度
再エンコード時の出力サイズ。「1 本目に合わせる」か、1080p・720p・540p(短い辺の長さ)から選びます。向きと縦横比は 1 本目に合わせ、他のクリップは黒い余白を付けて収めます。元より大きくしても画質は上がりません。
トランジション
クリップの境目に入れる効果。なし / クロスフェード / 黒フェード / 白フェード / ディゾルブから選択。
トランジション秒数
つなぎ目ごとに、前後のクリップをこの秒数だけ重ねます。そのぶん全体が短くなります。

使えるブラウザと制限

  • 最大ファイルサイズ:1 ファイル 500MB(超えるファイルは追加されません)
  • 無劣化コピーは、映像と音声の形式・解像度がそろった動画向けです(そろっていない動画は、結合する前に止めます)
  • 本数が多い・長い動画は、ブラウザのメモリ不足で止まることがあります

同じ処理を FFmpeg のコマンドで

同コーデック・無劣化結合(concat demuxer)
printf "file 'a.mp4'\nfile 'b.mp4'\n" > list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4
コーデック・解像度・フレームレート・音声の形式がそろった動画だけに使えます。list.txt は 1 行に 1 ファイルずつ書いたテキストで、メモ帳で作っても構いません。
再エンコード結合(concat フィルタ)
ffmpeg -i a.mp4 -i b.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" out.mp4
コーデックが違っても結合できます。解像度が違うとエラーになるため、先に scale でそろえます。
クロスフェード(xfade)でトランジション
ffmpeg -i a.mp4 -i b.mp4 -filter_complex "[0:v][1:v]xfade=transition=fade:duration=0.5:offset=4.5,format=yuv420p[v];[0:a][1:a]acrossfade=d=0.5[a]" -map "[v]" -map "[a]" out.mp4
offset は a.mp4 の長さ - duration です(ここでは 5 秒 - 0.5 秒)。音声は acrossfade で重ねます。2 本の解像度とフレームレートはそろえておきます。