32blogby Studio Mitsu

AV1 vs H.265 vs H.264:コーデック比較ガイド

AV1・H.265・H.264の3大コーデックを圧縮効率・画質・速度・互換性で比較。FFmpegでの具体的な設定例とCRF等価表も掲載。

by omitsu16 min read
目次

結論から言うと: デバイス互換性を最優先するなら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)」が開発し、ロイヤリティフリーで誰でも無償で使える。

H.264 (2003)8 Mbps baseline−40~45%H.265 (2013)~4.5 Mbps (−45%)−10~20%AV1 (2018)~4 Mbps (−50%)

圧縮効率の比較

同じ画質(VMAF/SSIMで評価)を維持したときのビットレートを比較すると、世代が新しいほど効率的だ。

一般的な目安として:

  • AV1 は H.264 比でおよそ 50% のビットレート削減 が可能
  • H.265 は H.264 比でおよそ 40〜45% の削減
  • AV1H.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がリリースされている。

エンコーダーコーデック相対速度品質
libx264H.264基準(1x)良い
libx265H.265約0.3〜0.5x良い〜優秀
libaom-av1AV1約0.05〜0.1x優秀
libsvtav1AV1約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.264H.265AV1
Webブラウザ全対応ハードウェア依存対応(Safari: M3/A17 Pro以降)
iOS/macOS全対応全対応M3/A17 Pro以降
Android全対応部分対応2023年以降のデバイス
旧デバイス全対応部分対応非対応が多い

FFmpegでの具体的な設定

H.264(libx264)

最も安定した選択肢。CRF 23がデフォルトの基準値だ。

bash
# H.264 基本エンコード
ffmpeg -i input.mp4 \
  -c:v libx264 \
  -crf 23 \
  -preset slow \
  -c:a aac -b:a 128k \
  output_h264.mp4

-presetultrafast から veryslow まで選べる。遅いほど同じCRFでファイルサイズが小さくなる。日常的な用途には mediumslow で十分だ。

H.265(libx265)

H.264より圧縮効率が高い。同等画質のCRFはおよそ28が目安だ。

bash
# 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)

現時点で最も圧縮効率が高い選択肢。

bash
# 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に変換するスクリプトだ。

bash
#!/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〜20CRF 22〜24CRF 24〜26
標準品質(日常用途)CRF 23CRF 28CRF 30
低品質(軽量配信)CRF 28〜30CRF 32〜34CRF 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.264ultrafast プリセット。圧縮効率より速度が重要な場面だ。

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 からスタートして、用途に合わせてパラメーターを調整していくのがおすすめだ。

関連記事: