FFmpeg 動画圧縮ガイド - FFHub
FFmpeg で動画を圧縮する方法を、各パラメータの意味とともに解説。
FFmpeg で動画を圧縮する方法を、各パラメータの意味とともに解説します。
基本コマンドの構成
ffmpeg -i input.mp4 -b:v 1M output.mp4
各部分の意味:
| パラメータ | 意味 |
|---|---|
ffmpeg | 実行するプログラム |
-i input.mp4 | -i は「input」、後ろにソースファイル |
-b:v 1M | -b:v は「映像ビットレート」、1M = 1 Megabit/秒 |
output.mp4 | 出力ファイル名(必ず最後) |
ビットレートとは? 1 秒あたりのデータ量です。高い = 高画質・大容量、低い = 小容量・低画質。
方法 1: CRF(初心者向け)
CRF(Constant Rate Factor)は最も簡単な圧縮方法で、画質レベルを指定するだけです:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4
| パラメータ | 意味 |
|---|---|
-c:v libx264 | -c:v は「映像コーデック」、libx264 は H.264 エンコーダ |
-crf 23 | 画質レベル(0-51)。低い = 高画質・大容量 |
CRF 値の目安
| CRF | 画質 | 用途 |
|---|---|---|
| 18 | 非常に高画質(ほぼロスレス) | 重要動画のアーカイブ |
| 23 | 良好(デフォルト) | 一般用途 |
| 28 | 普通 | オンライン共有、SNS |
| 33 | 低画質 | プレビュー、ドラフト |
ヒント: まず CRF 23 で試し、大きすぎれば 28、画質が低ければ 20 へ。
方法 2: ファイルサイズ指定
特定のサイズが必要な場合はビットレート指定:
ffmpeg -i input.mp4 -c:v libx264 -b:v 2M output.mp4
よく使うビットレート:
500K= 500 Kilobits/秒(小容量・低画質)1M= 1 Megabit/秒(中)2M= 2 Megabits/秒(良好)5M= 5 Megabits/秒(高画質)
エンコード速度: Preset
-preset でエンコード速度を制御します:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset fast output.mp4
| Preset | 速度 | ファイルサイズ |
|---|---|---|
ultrafast | 非常に速い | 最大 |
fast | 速い | 大 |
medium | 普通(デフォルト) | 普通 |
slow | 遅い | 小 |
veryslow | 非常に遅い | 最小 |
ヒント: すぐに結果が欲しいなら fast、最終納品なら slow。
解像度を下げる
解像度を下げると大幅にサイズが減ります:
ffmpeg -i input.mp4 -vf scale=-2:720 -c:v libx264 -crf 23 output.mp4
| パラメータ | 意味 |
|---|---|
-vf scale=-2:720 | -vf は「映像フィルター」、scale でリサイズ |
-2 | アスペクト比を保つよう幅を自動計算 |
720 | 高さ(720p) |
よく使う解像度:
scale=-2:2160→ 4Kscale=-2:1080→ 1080p(Full HD)scale=-2:720→ 720p(HD)scale=-2:480→ 480p(SD)
音声も圧縮
音声も圧縮するとさらに小さくなります:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4
| パラメータ | 意味 |
|---|---|
-c:a aac | -c:a は「音声コーデック」、aac は一般的なフォーマット |
-b:a 128k | 音声ビットレート: 128 Kilobits/秒 |
音声ビットレートの目安:
320k→ 高音質音楽192k→ 良好128k→ 標準(推奨)96k→ 音声向け
完成例
バランス重視(推奨)
良好な画質と妥当なファイルサイズ:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4
最小サイズ
オンライン共有で画質より容量を優先:
ffmpeg -i input.mp4 -vf scale=-2:720 -c:v libx264 -crf 28 -preset slow -c:a aac -b:a 96k output.mp4
最高画質
画質優先のアーカイブ用途:
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k output.mp4
FFHub API で実行
コマンドを FFHub に送信してクラウドで処理:
curl -X POST https://api.ffhub.io/v1/tasks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"command": "ffmpeg -i https://your-storage.com/input.mp4 -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4"
}'
注: 入力 URL は実際の動画 URL に置き換えてください。FFHub が処理し、結果のダウンロードリンクを返します。
クイックリファレンス
| 目的 | コマンド |
|---|---|
| 基本圧縮 | ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4 |
| 小容量化 | ffmpeg -i input.mp4 -c:v libx264 -crf 28 output.mp4 |
| 高画質化 | ffmpeg -i input.mp4 -c:v libx264 -crf 18 output.mp4 |
| 720p にリサイズ | ffmpeg -i input.mp4 -vf scale=-2:720 -c:v libx264 -crf 23 output.mp4 |
| 音声込み | ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4 |