← All posts

FFmpeg で動画をトリミングして結合する方法

FFmpeg で動画をカット・トリミング・連結する手順を、シンプルなコマンドライン例で解説します。

FFHub·2026-03-03
FFmpeg で動画をトリミングして結合する方法

長い動画から一部分だけを切り出したい、複数のファイルを一本につなぎたい、というケースはよくあります。FFmpeg ならどちらもシンプルなコマンドで処理できます。仕上げに 動画を圧縮 してファイルサイズを縮めるのもおすすめです。

動画をトリミングするには?

高速トリミング(再エンコードなし)

開始時刻は -ss、終了時刻は -to で指定します。-c copy を加えると再エンコードがスキップされ、ほぼ一瞬で終わります。

ffmpeg -ss 00:01:00 -to 00:02:30 -i input.mp4 -c copy output.mp4

これで 1:00 から 2:30 までのクリップが切り出されます。

時間の長さでトリミング

終了時刻のかわりに -t で長さ(秒)を指定できます。

ffmpeg -ss 00:00:30 -i input.mp4 -t 60 -c copy output.mp4

0:30 から 60 秒間を切り出します。

正確なトリミング(再エンコードあり)

-c copy は速いですが、最寄りのキーフレームでカットされるため、数秒のずれが出ることがあります。フレーム単位で正確に切りたい場合は再エンコードします。

ffmpeg -ss 00:01:00 -to 00:02:30 -i input.mp4 -c:v libx264 -c:a aac output.mp4

動画の途中部分を削除するには?

たとえば 0:00–1:00 と 2:00–末尾 だけを残したい場合は、それぞれ切り出してから結合します。

# Step 1: Extract the parts
ffmpeg -i input.mp4 -to 00:01:00 -c copy part1.mp4
ffmpeg -i input.mp4 -ss 00:02:00 -c copy part2.mp4

# Step 2: Merge (see below)

複数の動画を結合するには?

方法 1: concat demuxer(推奨)

結合したい動画一覧をテキストファイルにまとめます。

# filelist.txt
file 'part1.mp4'
file 'part2.mp4'
file 'part3.mp4'

そのまま結合します。

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4

すべてのファイルが同じ codec と解像度なら、高速かつロスレスで結合できます。

方法 2: concat フィルター(フォーマットが違う場合)

codec や解像度が異なる場合は、concat フィルターを使います。

ffmpeg -i part1.mp4 -i part2.mp4 \
  -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1" \
  output.mp4

こちらは再エンコードが入るため遅くなりますが、混在したフォーマットでも扱えます。事前にフォーマットを揃えたい場合は FFmpeg で動画フォーマットを変換する方法 を参照してください。

1 フレームだけ抜き出すには?

任意のタイムスタンプの 1 フレームを画像として保存できます。

ffmpeg -ss 00:00:05 -i input.mp4 -frames:v 1 frame.png

等分割するには?

たとえば 30 秒ごとのセグメントに分割するには次のようにします。

ffmpeg -i input.mp4 -c copy -segment_time 30 -f segment output_%03d.mp4

クイックリファレンス

用途主なパラメータ
トリミング(高速)-ss, -to, -c copy
トリミング(正確)-ss, -to, -c:v libx264
長さ指定でトリミング-ss, -t
結合(同じ codec)-f concat, -c copy
結合(混在)-filter_complex concat
分割-segment_time, -f segment

オンラインで試したい?

コマンドラインを触らずに済ませたいなら、FFHub を使ってブラウザ上で動画のトリミングと結合を実行できます。

関連記事

FFmpeg で動画をトリミングして結合する方法 | FFHub