← ブログ

FFmpegで動画をトリム・カット・分割する方法:タイムスタンプ、デュレーション、スプリット(2026年ガイド)

FFmpegを使って、正確なタイムスタンプとデュレーション制御で動画をトリム、カット、分割する方法を解説します。高速コピーモード、再エンコード、そして無料のワンクリック代替ツールも紹介します。

3 min read

長い動画から30秒のクリップを切り出したい?録画の最初の10秒を削除したい?動画を複数のパートに分割したい?FFmpeg を使えば、正しいフラグさえ知っていればコマンドラインからこれらすべてが可能です。

このガイドでは、あらゆるトリミングシナリオを具体的なコマンドで解説します。スライダーをドラッグするだけで操作したい場合は、最後に無料のビジュアル代替ツールもご紹介します。


前提条件:FFmpeg のインストール

FFmpeg

macOS:

brew install ffmpeg

Ubuntu/Debian:

sudo apt update && sudo apt install ffmpeg

Windows: ffmpeg.org からダウンロードし、解凍して bin を PATH に追加してください。


基本的なトリミング

開始時間と長さで切り出す

1分の位置から30秒間を切り出す:

ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 -c copy output.mp4
  • -ss 00:01:00 — 1分から開始
  • -t 00:00:30 — 30秒間の長さ
  • -c copy — 再エンコードなしでストリームをコピー(高速)

開始時間と終了時間で切り出す

1:00 から 2:30 まで切り出す:

ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:30 -c copy output.mp4
  • -to 00:02:30 — 2分30秒で停止

最初の N 秒だけ残す

最初の60秒だけを保持する:

ffmpeg -i input.mp4 -t 60 -c copy output.mp4

最初の N 秒を削除する

最初の10秒をスキップする:

ffmpeg -i input.mp4 -ss 10 -c copy output.mp4

最後の N 秒を削除する

これには総再生時間を知る必要があります。5分の動画で最後の30秒を削除する場合:

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

高速コピー vs 再エンコード

高速モード(-c copy

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

メリット: 即時処理、画質の劣化なし デメリット: タイムスタンプより数秒前から開始する場合がある(最近いキーフレームでカット)

精密モード(再エンコード)

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

メリット: フレーム単位の正確なカット デメリット: 処理が遅く、再エンコードによるわずかな画質劣化あり

両方のいいとこ取り:入力シーク + 出力再エンコード

ffmpeg -ss 00:00:58 -i input.mp4 -ss 2 -t 30 -c:v libx264 -c:a aac output.mp4

デコード前に0:58までシーク(高速)し、そこから2秒精密トリミングして正確に1:00を起点にします。


動画を複数のパートに分割する

等分に分割する

10分の動画を2分ずつのセグメントに分割する:

ffmpeg -i input.mp4 -c copy -map 0 -segment_time 120 -f segment -reset_timestamps 1 segment_%03d.mp4

segment_000.mp4segment_001.mp4 などが生成されます。

特定のタイムスタンプで分割する

# パート1:0:00 〜 2:00
ffmpeg -i input.mp4 -ss 0 -to 00:02:00 -c copy part1.mp4

# パート2:2:00 〜 5:00
ffmpeg -i input.mp4 -ss 00:02:00 -to 00:05:00 -c copy part2.mp4

# パート3:5:00 〜 終端
ffmpeg -i input.mp4 -ss 00:05:00 -c copy part3.mp4

音声の抽出と削除

音声トラックのみを抽出する

ffmpeg -i input.mp4 -vn -c:a copy audio.m4a
  • -vn — 映像なし

MP3 として抽出する

ffmpeg -i input.mp4 -vn -c:a libmp3lame -b:a 320k audio.mp3

音声を削除する(映像のみ保持)

ffmpeg -i input.mp4 -an -c:v copy output_silent.mp4
  • -an — 音声なし

よくあるエラーと解決策

トリミングした動画がフリーズフレームやグリッチで始まる

カット位置がキーフレーム上にない場合、-c copy 使用時に発生します。再エンコードで修正:

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

トリミング後に音声と映像がずれる

-avoid_negative_ts make_zero を追加する:

ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c copy -avoid_negative_ts make_zero output.mp4

「Non-monotonous DTS」警告

通常は出力に影響しませんが、タイムスタンプの問題を示しています。出力が壊れている場合:

ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -fflags +genpts -c copy output.mp4

トリミングが数秒単位でずれる

高速シークには -ss-i の前に、精度重視なら -i の後に配置する:

# 高速だが精度は低い(入力でシーク)
ffmpeg -ss 00:01:00 -i input.mp4 -t 30 -c copy output.mp4

# 低速だがフレーム単位で正確(デコード後にシーク)
ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c:v libx264 -c:a aac output.mp4

ターミナルは不要:WaveSpeed Desktop を使う

FFmpeg での精密なビデオトリミングには、タイムスタンプ形式の管理、キーフレームの位置合わせ、コピーか再エンコードかの判断、同期問題への対処など、多くの複雑さが伴います。ほとんどの人にとって、これは必要以上に複雑です。

WaveSpeed Desktop には、ビジュアルタイムライン付きのメディアトリマーが内蔵されています:

  • 動画をドラッグ&ドロップ
  • ビジュアルスライダーで開始点と終了点を設定
  • トリムをクリック — 完了

タイムスタンプの計算も、キーフレームの悩みも、ターミナルも不要。

WaveSpeed Desktop Media Trimmer

WaveSpeed Desktop を無料でダウンロード: https://github.com/WaveSpeedAI/wavespeed-desktop/releases


よくある質問

-t-to の違いは何ですか? -t長さを指定します(例:-t 30 は30秒間)。-to終了タイムスタンプを指定します(例:-to 00:02:30 は2:30で停止)。

画質を落とさずにトリミングできますか? はい — 再エンコードを避けるために -c copy を使用します。トレードオフとして、カットがフレーム単位で正確にならない場合があります(最近いキーフレームにスナップされます)。

動画の正確な長さを調べるには?

ffprobe -v error -show_entries format=duration -of csv=p=0 input.mp4

複数のファイルを一度にトリミングできますか? 単一のコマンドではできません。各ファイルにシェルループが必要です。WaveSpeed Desktop はドラッグ&ドロップでバッチトリミングに対応しています。