結論から言うと: デバイス互換性を最優先するならH.264、ファイルサイズを最小化したいならAV1(SVT-AV1)、Appleエコシステム内の配信ならH.265。FFmpegでの等価画質の目安は x264 CRF 23 ≈ x265 CRF 28 ≈ libsvtav1 CRF 30 だ。
動画を圧縮しようとしてFFmpegのドキュメントを開くと、コーデックの選択肢が多すぎて迷う。H.264、H.265、AV1――それぞれ「高品質」「高圧縮」「最新」と書いてあるが、実際に何を選べばいいのかわからない。
この記事では、この3つのコーデックを圧縮効率・エンコード速度・互換性・FFmpegでの使い方という軸で僕が比較する。読み終わればどのコーデックを選ぶべきか、自分のユースケースに合った判断ができるようになる。
3つのコーデックの位置づけ
コーデックの選択は「どれが最強か」ではなく、「いつ登場して、誰が管理していて、どんなトレードオフがあるか」を理解することから始まる。
H.264(AVC) は2003年に登場した。Via Licensing Alliance(旧MPEG-LA)が特許を管理し、商用利用にはライセンス料が発生する。ただし2010年以降、エンドユーザーに無料で配信されるインターネット動画のロイヤリティは永久に免除されている。有料ストリーミングやハードウェア組み込みには依然ライセンス料がかかる。20年以上の歴史を持ち、あらゆるデバイスと環境に対応している。
H.265(HEVC) は2013年に標準化された。H.264の後継として設計され、同等画質でおよそ40〜50%のビットレート削減を実現する。ただし特許管理が複雑で、複数の特許プールが存在する。この複雑さがブラウザサポートの不均一さにつながっている。
AV1 は2018年にリリースされた。Googleを含む大手テック企業が設立した「Alliance for Open Media(AOMedia)」が開発し、ロイヤリティフリーで誰でも無償で使える。
圧縮効率の比較
同じ画質(VMAF/SSIMで評価)を維持したときのビットレートを比較すると、世代が新しいほど効率的だ。
一般的な目安として:
- AV1 は H.264 比でおよそ 50% のビットレート削減 が可能
- H.265 は H.264 比でおよそ 40〜45% の削減
- AV1 と H.265 の差は 10〜20% 程度(コンテンツによる)
たとえば H.264 で 8 Mbps が必要な映像なら、H.265 で 4.5 Mbps、AV1 で 4 Mbps 以下に抑えられることが多い。ストリーミング配信や長期保存でこの差は大きく効いてくる。
ただし「圧縮効率が高い = 常にAV1を選ぶべき」ではない。エンコード速度と互換性という現実的な制約があるからだ。
エンコード速度の現実
AV1の最大の弱点は長らくエンコード速度だった。初期の libaom-av1 エンコーダーはH.264の数十倍の時間がかかり、実用に耐えないケースも多かった。
現在は SVT-AV1 (Scalable Video Technology for AV1)の登場でこの状況が大きく変わっている。2026年3月時点でバージョン4.0.0がリリースされている。
| エンコーダー | コーデック | 相対速度 | 品質 |
|---|---|---|---|
| libx264 | H.264 | 基準(1x) | 良い |
| libx265 | H.265 | 約0.3〜0.5x | 良い〜優秀 |
| libaom-av1 | AV1 | 約0.05〜0.1x | 優秀 |
| libsvtav1 | AV1 | 約0.3〜0.6x | 優秀 |
SVT-AV1のPreset設定(0〜13)でさらに速度と品質を調整できる。Preset 6〜8が実用的なバランス点だ。
デバイス・ブラウザ互換性
コーデックを選ぶときに見落としがちなのが、再生側の互換性だ。
H.264 はほぼあらゆる環境で再生できる。スマートフォン、古いテレビ、Webブラウザ、すべてで動く。2026年時点で最も互換性が高いコーデックだ。
AV1 はChrome、Firefox、Edgeでソフトウェア・ハードウェア両方のデコードに対応している。Safariはバージョン17(2023年)から対応しているが、AV1ハードウェアデコーダー搭載デバイスのみ――つまりM3以降のMac、iPhone 15 Pro(A17 Pro)以降、M4搭載iPadに限られる。Androidは2023年以降のデバイスでハードウェアAV1デコードが標準になっている。
| H.264 | H.265 | AV1 | |
|---|---|---|---|
| Webブラウザ | 全対応 | ハードウェア依存 | 対応(Safari: M3/A17 Pro以降) |
| iOS/macOS | 全対応 | 全対応 | M3/A17 Pro以降 |
| Android | 全対応 | 部分対応 | 2023年以降のデバイス |
| 旧デバイス | 全対応 | 部分対応 | 非対応が多い |
FFmpegでの具体的な設定
H.264(libx264)
最も安定した選択肢。CRF 23がデフォルトの基準値だ。
# H.264 基本エンコード
ffmpeg -i input.mp4 \
-c:v libx264 \
-crf 23 \
-preset slow \
-c:a aac -b:a 128k \
output_h264.mp4
-preset は ultrafast から veryslow まで選べる。遅いほど同じCRFでファイルサイズが小さくなる。日常的な用途には medium か slow で十分だ。
H.265(libx265)
H.264より圧縮効率が高い。同等画質のCRFはおよそ28が目安だ。
# H.265 エンコード
ffmpeg -i input.mp4 \
-c:v libx265 \
-crf 28 \
-preset slow \
-tag:v hvc1 \
-c:a aac -b:a 128k \
output_h265.mp4
-tag:v hvc1 はAppleデバイスでの再生互換性のために付けておくと安心だ。
AV1(libsvtav1)
現時点で最も圧縮効率が高い選択肢。
# AV1(SVT-AV1)エンコード
ffmpeg -i input.mp4 \
-c:v libsvtav1 \
-crf 30 \
-preset 6 \
-svtav1-params tune=0 \
-c:a libopus -b:a 128k \
output_av1.mkv
-preset は 0(最高品質・最低速)から 13(最低品質・最高速)。6 が品質と速度のバランス点だ。音声は libopus との組み合わせが相性がいい。
バッチ処理の例
複数ファイルをまとめてAV1に変換するスクリプトだ。
#!/bin/bash
# batch_av1_encode.sh
# 使い方: bash batch_av1_encode.sh *.mp4
for input in "$@"; do
filename="${input%.*}"
ffmpeg -i "$input" \
-c:v libsvtav1 \
-crf 30 \
-preset 6 \
-c:a libopus -b:a 128k \
"${filename}_av1.mkv"
echo "完了: ${filename}_av1.mkv"
done
CRF等価表
CRFは「Constant Rate Factor」の略で、数値が小さいほど高品質・大きいほど低品質になる。コーデックによってスケールが異なるため、等価な画質を出すための目安を示す。
| 品質レベル | H.264 (libx264) | H.265 (libx265) | AV1 (libsvtav1) |
|---|---|---|---|
| 高品質(配信・保存) | CRF 18〜20 | CRF 22〜24 | CRF 24〜26 |
| 標準品質(日常用途) | CRF 23 | CRF 28 | CRF 30 |
| 低品質(軽量配信) | CRF 28〜30 | CRF 32〜34 | CRF 36〜38 |
この表はあくまで目安だ。コンテンツ(アニメ・実写・スポーツなど)によって最適値は変わる。実際には数パターン試してVMAFスコアや主観評価で判断するのがいい。
等価の目安として覚えやすい数字は:
- x264 CRF 23 ≈ x265 CRF 28 ≈ libsvtav1 CRF 30
AV1の詳細なエンコード設定については FFmpegとSVT-AV1を使った最適エンコード設定 に詳しくまとめている。
用途別のおすすめ
状況に応じてコーデックを選ぶ判断基準を僕なりにまとめる。
Web配信・ストリーミング(最優先: 互換性) → まず H.264 を基準に。視聴者が最新デバイス中心なら AV1 も検討する。H.265は避ける。
長期アーカイブ・バックアップ(最優先: 容量効率) → AV1 一択。エンコードに時間がかかっても一度やれば終わり。50%の容量削減は長期で効く。
動画編集の中間素材(最優先: エンコード速度)
→ H.264 の ultrafast プリセット。圧縮効率より速度が重要な場面だ。
Appleデバイス向け配信(最優先: デバイス互換性) → H.265 が最適。iPhoneやMacでのハードウェアデコードが保証されており、H.264より小さいファイルサイズになる。
YouTube・SNSへのアップロード(最優先: 再エンコード後の品質) → プラットフォーム側が再エンコードするため、元の品質が高ければコーデックはあまり関係ない。ただし AV1 でアップロードするとYouTubeがAV1で配信してくれる場合がある。
FFmpegを使った動画圧縮の全体的なワークフローについては FFmpeg動画圧縮ガイド も参考にしてほしい。
よくある質問
AV1はH.265より優れている?
多くのシナリオではそうだ。AV1はH.265より10〜20%圧縮効率が高く、ロイヤリティフリーで、ブラウザサポートも広い(Chrome、Firefox、EdgeはAV1をネイティブデコード)。H.265の強みはAppleエコシステムとの統合――iPhoneやMacでのハードウェアH.265デコードは安定している。Web配信ならAV1を選ぶほうがいい。
YouTubeにAV1でアップロードできる?
できる。YouTubeはAV1アップロードを受け付けており、視聴者にAV1フォーマットで配信してくれることもある。その場合、再エンコード後の画質劣化が少ない。ただしYouTubeはすべてを再エンコードするので、コーデックに関係なく高ビットレート・低CRFでアップロードするのが鉄則だ。
AV1のエンコードが遅すぎるんだけど?
リファレンスエンコーダーの libaom-av1 はH.264の10〜50倍遅い。SVT-AV1(FFmpegでは libsvtav1)を使えば、preset 6〜8でH.264の2〜3倍程度の速度に収まる。実用的なワークフローでは libsvtav1 一択だ。
AV1のCRFはいくつに設定すればいい?
libsvtav1 なら標準品質でCRF 30がスタートライン。これはx264のCRF 23やx265のCRF 28とほぼ同等の画質になる。アーカイブ用途ならCRF 24〜26。長い動画をエンコードする前に、短いサンプルで試すのがおすすめだ。
H.265はChromeで再生できる?
Chrome 105(2022年)からHEVC再生に対応しているが、OSのハードウェアデコーダーを経由する仕組みだ。ソフトウェアフォールバックがないため、ユーザーのデバイスにHEVCハードウェアデコーダーがなければ再生できない。Web配信で「全員に確実に届く」保証が必要な場面では使えない。
2026年でもH.264を使う意味はある?
大いにある。H.264はスマートテレビ、古いスマホ、組み込み機器、すべてのブラウザで確実に再生できる唯一のコーデックだ。動画編集の中間素材として -preset ultrafast で高速エンコードするユースケースでも、H.264は依然として最適解だ。
AV1のハードウェアエンコードはできる?
できる。NVIDIA RTX 40シリーズ以降のGPU、Intel Arc GPU、AMD RX 7000シリーズがAV1ハードウェアエンコードに対応している。ただしハードウェアエンコーダーは速度を優先するため、同じビットレートでの画質はソフトウェアエンコード(SVT-AV1)に劣る。詳しくはGPU高速化ガイドを参照してほしい。
AV1にはどのコンテナを使えばいい?
MKV(Matroska)とWebMが一般的だ。MP4もISO規格の更新でAV1に対応しており、ブラウザでのAV1-in-MP4再生も問題ない。Web配信向けなら、動画プレイヤーやCDNとの互換性が高いMP4のほうが扱いやすいことが多い。
まとめ
3つのコーデックを比較してきた。結論をシンプルにまとめると:
- 互換性が最優先 → H.264
- ファイルサイズ削減が最優先 → AV1(SVT-AV1)
- Appleエコシステム向け → H.265
H.265は「互換性が低いのに中途半端」という位置づけになりつつある。Web配信ならAV1が追い抜いてきており、Apple向けならH.265が強い、という棲み分けが2026年時点での現実だ。
FFmpegでAV1エンコードを試すなら、まずは libsvtav1 + -preset 6 + -crf 30 からスタートして、用途に合わせてパラメーターを調整していくのがおすすめだ。
関連記事: