【ffmpeg】ffmpegでよく使うコマンドたち

【ffmpeg】ffmpegでよく使うコマンドたち

目次

動画フォーマット変換

特に形式を指定する必要はないので、変換したいフォーマットにすることで行ける

  • -i : インプットファイル指定
1
ffmpeg -i 変換対象ファイル 変換したいファイル名.形式

例 : movファイルをmp4に変換する

1
ffmpeg -i test.mov test.mp4

ビットレートを下げる

ビットレートは、一秒あたりのデータ量

「解像度」との違いは、解像度はデータを入れる箱のサイズで、ビットレートは中身のようなイメージ

ビットレートを下げると、1フレームが含むデータ量を減らせるので容量を減らせる。が、画像が荒くなる

例 : mp4ファイルのビットレートを下げる

厳密に指定したビットレートにすることもある程度可能だが、難しいので、ffmpegが用意している数値を使うのがお手軽でいいらしい

  • -crf : 画質基準でビットレートを自動調整する方式
    • 数値が 小さい=高画質・高ビットレート
    • 数値が 大きい=低画質・低ビットレート
1
ffmpeg -i input.mp4 -c:v libx264 -crf 28 output.mp4

解像度を下げる

解像度は動画のピクセル数(1920 × 1080など)

これを小さくすることで純粋な1フレームのピクセル数を減らせるので、容量が減る

例 : mp4ファイルの解像度を「1280 × 720」にする

  • -vf : ビデオ フィルタの略
    • scale : 解像度
    • 1280:720 : 横1280,縦720にする
1
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4

現在の解像度を調べる

ffmpegをインストールすると同時に使えるようになるffprobeを使えばいい

1
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 対象ファイル

ffprobeは詳細な設定を指定しなくて対象動画ファイルだけ渡せば全てのメタデータを出力してくれるから便利

画像抽出

動画から画像を抽出する

例 :10秒から1フレーム後のフレームを1枚の画像として抽出

  • -ss : 秒数指定
  • -frames:v : 指定秒数から何フレーム抜くか
    • 複数フレームを指定した場合は、out.pngの部分をout_%02d.pngとかにしないと画像が上書きされてしまい1枚しか書き出されない
1
ffmpeg -ss 10 -i input.mp4 -frames:v 1 out.png

間引き画像抽出

指定した間隔(10フレームごと)などで画像を書き出す

動画を間引いて画像として使いたい時に

例 : 5フレームごと画像化

  • vf : フレーム指定

特殊な書き方をしているが、これは、動画のfpsによって数値が変わるので動的に計算できるようにしている
5の部分を書き換えれば何フレームおきにするかを変更できる

1
ffmpeg -i input.mp4 -vf "select=not(mod(n\,5))" -vsync vfr frame_%04d.png
Author

Daiki Iijima

Posted on

2026-02-05

Updated on

2026-02-05

Licensed under