動画圧縮完全ガイド:原理からFFmpeg実践まで
動画圧縮の原理を深く解説。H.264/H.265のI/P/Bフレーム、CRF、ビットレート、GOP構造、およびFFmpeg実践圧縮コマンド。
続きを読む →三大主流動画エンコーダーを全方位比較し、最適なエンコード方案の選択をサポート
H.264はAVC(Advanced Video Coding)とも呼ばれ、MPEGとVCEGが共同で開発し、2003年に正式にリリースされました。現在最も広く使用されている動画符号化規格であり、ほぼすべてのデバイスとブラウザがネイティブでサポートしています。
H.264はフレーム内予測、フレーム間予測、変換符号化、エントロピー符号化などの技術を使用しており、前代のMPEG-2と比較して同じ視覚的品質を維持しながらビットレートを約50%削減しています。
H.265はHEVC(High Efficiency Video Coding)とも呼ばれ、H.264の後継として2013年にリリースされました。H.264をベースに、より大きな符号化ユニット(CTU)、より柔軟な予測モード、SAOフィルタリングなど、より多くの先進技術を導入しています。
同じ画質であれば、H.265はH.264よりもビットレートをさらに約50%削減できます。つまり、同じ帯域幅でより高画質の動画を伝送できることを意味します。
AV1(AOMedia Video 1)は、オープンメディアアライアンス(AOMedia)が開発したオープンソースでロイヤリティフリーの動画符号化規格で、2018年に正式にリリースされました。開発に参加している企業には、Google、Mozilla、Netflix、Amazon、Microsoftなどがあります。
AV1の目標は、同じ画質でH.265よりもビットレートをさらに約30%削減し、完全に無料で特許ライセンスの問題がないことです。
圧縮効率は動画エンコーダーの最も重要な指標の1つです。以下は、同じ視覚的品質(PSNRが近い)での三者の相対的なビットレートの比較です:
| エンコーダー | 相対ビットレート | 削減率(vs H.264比) |
|---|---|---|
| H.264 | 100% | 基準 |
| H.265 | ~50% | 約50% |
| AV1 | ~35% | 約65% |
データからわかるように、AV1の圧縮効率が最も高く、H.265がそれに続き、H.264が最も低くなっています。ただし、実際の圧縮効率は動画コンテンツ、エンコードパラメータ、品質評価方法などの要因によって異なることに注意する必要があります。
エンコード速度もエンコーダーを選択する際に考慮すべき重要な要素です。一般的に、圧縮効率が高いエンコーダーほど、エンコード速度は遅くなります。
| エンコーダー | 相対速度 | リアルタイムエンコード |
|---|---|---|
| H.264 (x264) | 速い(基準) | ✓ 楽に対応可能 |
| H.265 (x265) | 中程度(約0.3-0.5倍) | △ 高スペック構成が必要 |
| AV1 (libaom) | 遅い(約0.05-0.1倍) | ✗ 現在は困難 |
H.264の特許はMPEG LAが管理しており、特許使用料を支払う必要があります。無料のインターネット動画サービスについてはH.264はロイヤリティフリーですが、有料コンテンツやハードウェアデバイスについてはライセンス料を支払う必要があります。
H.265の特許状況は比較的複雑で、複数の特許プール(MPEG LA、HEVC Advance、Velos Media)が存在し、ライセンス料が高額です。また、一部の特許所有者はいかなる特許プールにも加入していません。これがH.265のブラウザでの普及が遅い主な理由の1つでもあります。
AV1は完全にオープンソースでロイヤリティフリーであり、AOMediaアライアンスはメンバーの特許をAV1の使用者に対して主張しないことを約束しています。これは商業的なアプリケーションにとって大きなメリットです。
libx264エンコーダーを使用し、CRFモード(推奨):
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output_h264.mp4
パラメータの説明:
-crf 23:固定品質ファクター、範囲0-51、デフォルト23、数値が小さいほど品質が高い-preset medium:エンコード速度プリセット、ultrafastからveryslowまで選択可能libx265エンコーダーを使用:
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -c:a aac -b:a 128k output_h265.mp4
H.265のCRFデフォルト値は28で、視覚的品質はH.264のCRF 23とほぼ同等です。
libaom-av1エンコーダーを使用(速度は遅め):
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -cpu-used 4 -c:a libopus -b:a 128k output_av1.mkv
パラメータの説明:
-cpu-used 4:エンコード速度制御、0が最も遅く品質最高、8が最も速く品質最低-b:v 0:CRFと併用して使用し、ビットレートを制限しないことを示すSVT-AV1エンコーダーを使用(より高速、推奨):
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 4 -c:a libopus -b:a 128k output_av1.mp4
動画エンコーダーの選択には、圧縮効率、エンコード速度、互換性、特許ライセンスなど、複数の要因を総合的に考慮する必要があります。
推奨戦略:
これらの複雑なコマンドを覚えたくない場合は、動画圧縮ツールを直接使用できます。ブラウザで簡単に動画エンコード変換が完了します。
その他の役立つ記事とツール
動画圧縮の原理を深く解説。H.264/H.265のI/P/Bフレーム、CRF、ビットレート、GOP構造、およびFFmpeg実践圧縮コマンド。
続きを読む →RTMP、SRT、WebRTC三大ライブ配信プロトコルの全面比較、OBS設定チュートリアル、Nginx-RTMPサーバー構築、FFmpegコマンドラインによる配信方法。
続きを読む →主流音声形式の特性、ビットレートの選択、適用シーンの詳解、およびFFmpegを使用した音声変換の実践コマンド。
続きを読む →