[FFmpeg] 動画のカット・トリミング・切り出しの方法
動画の先頭をカット (トリミング) する
動画の冒頭の不要な部分を削除したいときに使います。
基本コマンド
ffmpeg -ss [時間] -i INPUT.mp4 -c copy OUTPUT.mp4
-ss
オプションのあとにカットしたい時間を指定します。
使用例
開始~30秒をカットする
ffmpeg -ss 30 -i INPUT.mp4 -c copy OUTPUT.mp4
開始~1分30秒をカットする
ffmpeg -ss 1:30 -i INPUT.mp4 -c copy OUTPUT.mp4
-ss
オプションの出力イメージ

ワンポイントアドバイス
出来上がった動画の冒頭部分に乱れがある場合は、 -c copy
を外して再エンコードしてください。
ffmpeg -ss 30 -i INPUT.mp4 OUTPUT.mp4
-ss
オプションの仕組み
-ss
オプションは動画の開始ポイントを任意の位置に移動 (シーク) します。
指定した時間から動画の最後まで出力されるため、結果的に冒頭部分がカットされます。
動画の末尾 (最後) をカットする
動画の最後の不要な部分を削除したい時に使います。これには2つの方法があります。
その1: -to
オプションを使う (終了時間を指定する方法)
ffmpeg -to [時間] -i INPUT.mp4 -c copy OUTPUT.mp4
-to
オプションを使うと、指定した時間で書き込みや読み取りを停止します。(以降は破棄されます)
使用例
開始~2分まで出力(2分以降をカット)
ffmpeg -to 2:00 -i INPUT.mp4 -c copy OUTPUT.mp4
-to
オプションの出力イメージ

その2: -t
を使う場合 (書き出し時間を指定)
ffmpeg -t [時間] -i INPUT.mp4 -c copy OUTPUT.mp4
-t
オプションはファイル入力(-i
)の前に指定されたとき、指定した時間までを出力します。(以降は破棄されます)
使用例
開始~60秒間出力(60秒以降をカット)
ffmpeg -t 60 -i INPUT.mp4 -c copy OUTPUT.mp4
-t
を使った出力イメージ

-to
と-t
の違いと、ワンポイントアドバイス
-to
: 動画の開始から指定時間までを出力-t
: 動画の開始から指定した時間の長さ分を出力
どちらも同じ結果になりますが、用途に応じて使い分けると便利です。
-to
と -t
は排他的な関係で、同時に指定した場合 -t
が優先されます。
動画の先頭と末尾をカットする (中間部分を切り出し)
動画の中間部分だけを抜き出したい時に使います。
方法1: 始点と終点を指定(-ss
と-to
)
「動画のここからここまでが欲しい」という時に便利です。
ffmpeg -ss [開始時間] -to [終了時間] -i INPUT.mp4 -c copy OUTPUT.mp4
使用例
1分30秒から3分30秒までを出力
ffmpeg -ss 1:30 -to 3:30 -i INPUT.mp4 -c copy OUTPUT.mp4
-ss
と -to
を使った出力イメージ

方法2: 始点と時間を指定 (-ss
と-t
)
「動画のこの時間から、これくらいの長さが欲しい」という時に便利です。
ffmpeg -ss [開始時間] -t [出力時間] -i INPUT.mp4 -c copy OUTPUT.mp4
使用例
1分30秒から60秒間を出力
ffmpeg -ss 1:30 -t 60 -i INPUT.mp4 -c copy OUTPUT.mp4
-ss
と -t
を使った出力イメージ

よくある問題と解決法: カットした動画に映像の乱れが出る
FFmpegでエンコードなし (-c copy
あり) で動画をカットした場合、キーフレームの関係で以下の現象が起きることがあります。
- 映像が止まって見える
- 画面が真っ黒になる
- 映像が乱れる
解決方法
コマンドから-c copy
を外して再エンコードしてください。
# 再エンコード版
ffmpeg -ss 30 -i INPUT.mp4 OUTPUT.mp4
注意: 再エンコードは処理に時間がかかりますが、映像の乱れがきれいに調整されます。
なぜ映像の乱れが起きるのか?
-ss
で動画の開始位置を移動させる際、始点は指定した時間の近くに移動します。
動画は「キーフレーム」という基準点があり、実際には指定した時間に最も近いキーフレームから開始するため、映像の乱れが生じることがあります。
時間指定の書き方
時間は2つの方法で指定できます。
方法1: [HH:]mm:ss
形式(時:分:秒)
「HH」は時間(省略可)、「mm」は分、「ss」は秒を最大2桁で表します。
- 1時間5分0秒
ffmpeg -ss 1:05:00 -i INPUT.mp4 OUTPUT.mp4
- 2分30秒
ffmpeg -ss 2:30 -i INPUT.mp4 OUTPUT.mp4
- 45秒
ffmpeg -ss 0:45 -i INPUT.mp4 OUTPUT.mp4
方法2: 秒数で指定 S[.m]
「S」は秒数です。オプションで小数点も使用できます。
- 180秒 (3分)
ffmpeg -ss 180 -i INPUT.mp4 OUTPUT.mp4
- 45.5秒 (小数点も使用可能)
ffmpeg -ss 45.5 -i INPUT.mp4 OUTPUT.mp4
まとめ
FFmpegを使った動画カット・トリミングの基本をマスターすれば、動画編集の作業効率が大幅にアップします。
覚えておくべきポイント:
- 先頭カット:
-ss
で開始時間を指定する - 末尾カット:
-to
(終了時間) か-t
(出力時間) を使用する - 中間切り出し:
-ss
と-to
または-t
を組み合わせる - 映像の乱れ:
-c copy
を外して再エンコードで解決する