FFmpegで動画圧縮
FFmpegとFFHub APIを使った動画圧縮の初心者向けガイド。
このガイドでは、FFmpegを使った動画圧縮の方法を、各パラメータの詳細な説明とともに解説します。
基本コマンドの理解
ffmpeg -i input.mp4 -b:v 1M output.mp4各部分の意味:
| パラメータ | 意味 |
|---|---|
ffmpeg | 実行するプログラム |
-i input.mp4 | -iは「入力」を意味し、後にソースファイルを指定 |
-b:v 1M | -b:vは「動画ビットレート」、1M = 1メガビット/秒 |
output.mp4 | 出力ファイル名(常に最後に指定) |
ビットレートとは? 動画1秒あたりに使用されるデータ量です。ビットレートが高い=高画質だがファイルが大きい。ビットレートが低い=ファイルが小さいが画質が低い。
方法1:CRF(初心者におすすめ)
CRF(固定品質係数)は動画圧縮の最も簡単な方法です。品質レベルを選ぶだけ:
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キロビット/秒(小ファイル、低画質)1M= 1メガビット/秒(中程度)2M= 2メガビット/秒(良画質)5M= 5メガビット/秒(高画質)
エンコード速度:プリセット
-presetオプションはFFmpegのエンコード速度を制御します:
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset fast output.mp4| プリセット | 速度 | ファイルサイズ |
|---|---|---|
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(フル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キロビット/秒 |
音声ビットレートガイド:
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.mp4FFHub 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 |