CGJU
ツール検索サイト
2026年6月28日 · 読了時間 8 分
💡 本文のポイント:動画圧縮の基本原理から出発し、I/P/Bフレーム、CRF、CBR、GOPなどのコア概念を深く解説し、FFmpeg実践コマンドとシーン別圧縮テンプレートを提供します。

一、動画圧縮の基本原理

動画圧縮が可能なのは、動画データに大量の冗長情報が存在するからです。動画圧縮の本質は、これらの冗長性を除去し、より少ないデータで同じ視覚コンテンツを表現することです。

1. 空間的冗長性

空間的冗長性とは、同一フレーム内の隣接するピクセル間の相関性のことです。例えば、青空のピクセル値は非常に近く、より簡潔な方法で表現できます。

主にフレーム内予測、変換符号化(DCT/DST)、量子化などの技術によって空間的冗長性を除去します。

2. 時間的冗長性

時間的冗長性とは、隣接するフレーム間の相関性のことです。ほとんどの動画では、隣接フレームのコンテンツの変化は小さく、多くの領域はほぼ完全に同じです。

主にフレーム間予測(動き推定と動き補償)によって時間的冗長性を除去します。これが動画圧縮比が画像圧縮よりはるかに高い主な理由です。

3. 視覚的冗長性

視覚的冗長性とは、人間の視覚システムが知覚できない情報のことです。人間の目は色よりも輝度に敏感で、高周波の細部よりも低周波のコンテンツに敏感です。

主に色差サブサンプリング(4:2:0など)、量子化マトリックス、心理視覚モデルなどの技術によって視覚的冗長性を利用します。

4. 符号化冗長性

符号化冗長性とは、データを表現するのに使用されるビット数が理論的な最小値より多いことです。エントロピー符号化(ハフマン符号化、算術符号化、CABACなど)によってデータをさらに圧縮できます。

二、I/P/Bフレームの概念詳解

H.264、H.265などのモダン動画符号化規格では、動画は異なるタイプのフレームに分割されます。各フレームの符号化方式は異なり、圧縮効率とエラーリカバリにおいて異なる役割を果たします。

1. Iフレーム(キーフレーム)

Iフレーム(Intra-coded Picture)はフレーム内符号化フレームで、キーフレームとも呼ばれます。他のフレームを参照せず、独立して符号化され、1枚の静止画に似ています。

  • 特徴:独立してデコード可能、画質が最高、サイズが最大
  • 役割:ランダムアクセスポイントとして、動画の早送り/巻き戻し、エラーリカバリに使用される
  • 圧縮比:低め、約1:10 ~ 1:20

2. Pフレーム(前方向予測フレーム)

Pフレーム(Predictive-coded Picture)は前方向予測フレームで、前のIフレームまたはPフレームを参照して予測符号化され、予測誤差のみを符号化します。

  • 特徴:前のフレームに依存し、独立してデコードできない、サイズが小さめ
  • 役割:時間的冗長性を利用し、圧縮効率を大幅に向上させる
  • 圧縮比:高め、約1:50 ~ 1:100

3. Bフレーム(双方向予測フレーム)

Bフレーム(Bidirectionally predictive-coded Picture)は双方向予測フレームで、前と後ろのフレームの両方を参照して予測され、圧縮効率が最も高くなります。

  • 特徴:前後のフレームに依存、圧縮率が最高、デコード遅延が大きめ
  • 役割:圧縮効率をさらに向上させ、ストレージシーンに適している
  • 圧縮比:最高、約1:100 ~ 1:200
⚠️ 注意:ライブ配信シーンでは通常Bフレームを使用しません。Bフレームは未来のフレームを参照する必要があり、遅延が増加するためです。リアルタイムライブ配信にはI+Pフレーム構造の使用を推奨します。

三、CRF vs CBR:ビットレート制御方式の比較

ビットレート制御は動画圧縮における最も重要なパラメータの1つで、動画の品質を保証するためにビットをどのように分配するかを決定します。一般的なビットレート制御方式にはCRF、CBR、VBRなどがあります。

1. CRF(固定品質)

CRF(Constant Rate Factor)は固定品質モードで、動画全体の視覚的品質を一定に保つことを目標とし、ビットレートは動画の複雑さに応じて動的に変化します。

  • 長所:品質が安定し、複雑なシーンでの画質低下を心配する必要がない
  • 短所:ファイルサイズを正確に予測できない
  • 適用シーン:動画ストレージ、動画サイト、ほとんどの一般的なシーン

CRF値の範囲:

  • H.264:0-51、デフォルト23、推奨18-28
  • H.265:0-51、デフォルト28、推奨22-32
  • 数値が小さいほど品質が高く、ファイルサイズが大きくなる

2. CBR(固定ビットレート)

CBR(Constant Bitrate)は固定ビットレートモードで、動画全体のビットレートが一定に保たれ、動画コンテンツの複雑さに関わらず一定です。

  • 長所:ビットレートが安定し、ファイルサイズを予測可能、ストリーミングライブ配信に適している
  • 短所:複雑なシーンでは画質が不足する可能性があり、単純なシーンではビットレートが無駄になる
  • 適用シーン:ライブ配信、ビデオ会議、帯域幅に制限のあるストリーミング

3. VBR(可変ビットレート)

VBR(Variable Bitrate)は可変ビットレートモードで、動画コンテンツの複雑さに応じてビットレートを動的に調整し、複雑なシーンにはより多くのビットレートを割り当て、単純なシーンではビットレートを削減します。

  • 長所:全体的な品質が高く、ビットレートの利用がより効率的
  • 短所:ビットレートの変動が大きく、リアルタイムストリーミングには適さない
  • 適用シーン:動画ストレージ、ローカル再生

4. ABR(平均ビットレート)

ABR(Average Bitrate)は平均ビットレートモードで、平均ビットレートが目標値に達することを保証しつつ、ビットレートが一定の範囲内で変動することを許可します。

  • 長所:ファイルサイズを制御可能、純粋なCBRより品質が良い
  • 短所:品質はCRFほど安定していない
  • 適用シーン:ファイルサイズを制御する必要があるシーン

四、GOP構造の詳解

GOP(Group of Pictures)は画像グループのことで、2つのIフレーム間の一連の連続したフレームを指します。GOP構造はIフレームの間隔を決定し、動画の圧縮効率、ランダムアクセス性、耐障害性に重要な影響を与えます。

1. GOP長

GOP長とは、隣接する2つのIフレーム間のフレーム数のことです。例えば、GOP=30は30フレームごとに1つのIフレームがあることを意味します。

  • GOPが大きいほど:圧縮効率が高くなるが、ランダムアクセスが遅くなり、エラー伝搬範囲が大きくなる
  • GOPが小さいほど:ランダムアクセスが速く、耐障害性が良くなるが、圧縮効率が低くなる

2. 一般的なGOP構造

典型的なGOP構造はIBBPBBPBBP...のようになります。つまり、Iフレームの後に複数のBフレームとPフレームの組み合わせが続きます。

3. シーン別GOP推奨

シーン GOP長(フレームレート30fps) 説明
動画ストレージ/オンデマンド 60-300フレーム(2-10秒) 圧縮効率を追求
ライブ配信 30-60フレーム(1-2秒) 遅延と効率のバランス
ビデオ会議 10-30フレーム(0.3-1秒) 低遅延、高速リカバリ
監視カメラ動画 150-600フレーム(5-20秒) 圧縮比を最大化

五、解像度とフレームレートの選択

1. 一般的な解像度

名称 解像度 推奨ビットレート範囲
360p 640×360 400-800 kbps
480p 854×480 800-1500 kbps
720p 1280×720 1500-4000 kbps
1080p 1920×1080 3000-8000 kbps
4K 3840×2160 10000-30000 kbps

2. フレームレートの選択

  • 24fps:映画標準、画面にフィルム感があり、映画やショート動画に適している
  • 25fps:PAL方式テレビ標準、中国でよく使われる
  • 30fps:NTSC方式標準、ネット動画でよく使われ、なめらかさが良好
  • 60fps:高フレームレート、ゲームやスポーツなどの高速運動画面に適している

六、FFmpeg圧縮コマンド実践

1. 基本圧縮コマンド(CRFモード)

H.264エンコーダーを使用し、CRFモードで、ほとんどのシーンでの使用を推奨:

ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4

2. 目標ファイルサイズでの圧縮(2パスエンコード)

ファイルサイズを正確に制御する必要がある場合は、2パスエンコード(Two-pass)を使用できます:

# 1パス目:動画を分析
ffmpeg -i input.mp4 -c:v libx264 -b:v 1000k -pass 1 -an -f null /dev/null

# 2パス目:本エンコード
ffmpeg -i input.mp4 -c:v libx264 -b:v 1000k -pass 2 -c:a aac -b:a 128k output.mp4

Windowsユーザーは/dev/nullNULに置き換えてください。

3. 解像度を調整して圧縮

# 720pに縮小
ffmpeg -i input.mp4 -vf scale=1280:720 -c:v libx264 -crf 23 -c:a aac -b:a 128k output_720p.mp4

# 幅1280に比例縮小
ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -crf 23 -c:a copy output.mp4

4. フレームレートを調整して圧縮

# 24fpsに低下
ffmpeg -i input.mp4 -r 24 -c:v libx264 -crf 23 -c:a copy output_24fps.mp4

5. H.265高効率圧縮

ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -c:a aac -b:a 128k output_h265.mp4

七、シーン別圧縮テンプレート

1. ウェブ配信動画(品質とサイズのバランス)

ffmpeg -i input.mp4 \
  -c:v libx264 -crf 23 -preset medium \
  -c:a aac -b:a 128k \
  -movflags +faststart \
  output_web.mp4

-movflags +faststartはメタデータをファイルの先頭に移動し、ネットワークでの再生中にダウンロードをサポートします。

2. ショート動画/ソーシャルメディア(小サイズ優先)

ffmpeg -i input.mp4 \
  -vf scale=720:-1 -r 25 \
  -c:v libx264 -crf 28 -preset slow \
  -c:a aac -b:a 96k \
  output_short.mp4

3. 動画アーカイブ(高品質ストレージ)

ffmpeg -i input.mp4 \
  -c:v libx265 -crf 22 -preset veryslow \
  -c:a copy \
  output_archive.mkv

4. ライブ配信(CBRモード)

ffmpeg -i input.mp4 \
  -c:v libx264 -b:v 2500k -maxrate 2500k -bufsize 5000k \
  -g 60 -keyint_min 60 -sc_threshold 0 \
  -c:a aac -b:a 128k \
  -f flv rtmp://server/live/stream

パラメータの説明:

  • -g 60:GOPサイズを60フレームに設定(2秒@30fps)
  • -keyint_min 60:最小キーフレーム間隔
  • -sc_threshold 0:シーン切り替え検出を無効化し、GOPを安定させる

八、圧縮品質最適化テクニック

1. 適切なpresetの選択

presetパラメータはエンコード速度と圧縮率のバランスを制御します。選択肢:

  • ultrafast:最速、圧縮率最低
  • superfast / veryfast / faster / fast:速め
  • medium:デフォルト、バランスの取れた選択
  • slow / slower / veryslow:遅い、圧縮率がより高い

推奨:時間に余裕がある場合はslow、速度を重視する場合はfast、デフォルトのmediumで十分です。

2. 適切なCRF値の使用

推奨されるCRFの開始値:

  • H.264:CRF 23(デフォルト)、品質重視は20、小サイズ重視は28
  • H.265:CRF 28(デフォルト)、品質重視は25、小サイズ重視は32

3. 音声最適化

  • 音声コンテンツ:64-96 kbps AACで十分
  • 音楽コンテンツ:128-192 kbps AAC
  • 高品質音楽:256-320 kbps AACまたはFLACロスレスを使用

4. その他の最適化

  • 不要な音声トラックと字幕トラックを削除
  • YUV420Pピクセルフォーマットを使用(互換性最高)
  • 動画のノイズ除去は圧縮効率を向上させる(-vf nlmeans

まとめ

動画圧縮はバランスの芸術であり、品質、ファイルサイズ、エンコード速度、互換性の間で最適なバランスポイントを見つける必要があります。

クイックスタートの推奨:

  • 初心者:CRF 23 + medium presetをそのまま使用
  • より小さいサイズにしたい:CRF値を上げる(26-28など)
  • より良い品質にしたい:CRF値を下げる(20など)
  • 時間に余裕がある:slow presetでより良い圧縮率を得る
  • 上級ユーザー:具体的なシーンに応じて解像度、フレームレート、GOPなどのパラメータを調整

これらの複雑なパラメータを覚えたくない場合は、オンライン動画圧縮ツールを直接使用できます。数ステップで簡単に動画圧縮が完了します。

関連記事

その他の役立つ記事とツール

動画を素早く圧縮したいですか?

オンライン動画圧縮ツールを使用すれば、FFmpegのインストール不要で、ブラウザで簡単に動画圧縮が完了します

今すぐ体験 ➡