gazou-compressor.jp

動画エンコード基礎:UI/解説動画の解像度・fps・ビットレート完全指針

UI/画面キャプチャ系の短尺動画は 判読性(テキスト/カーソル) を保ちつつ容量・起動遅延を最小化する設計が重要です。本稿は 解像度 → fps → CRF/CQ → コーデック派生 の順序最適化と、客観指標 (SSIM/VMAF) / RUM 監視までテンプレ化します。

参考
コーデック移行段階戦略は 移行計画ガイド を併読すると中長期設計が整理できます。

要点 (TL;DR)

1. 対象とゴール

2. 設計順序

  1. 最大表示幅 (例 800px) 決定
  2. アスペクト最適化 (16:9→不要余白あればクロップ)
  3. fps: 24/25 (動き少) / 30 (ポインタ速) / 60 禁止
  4. H.264 CRF23 試行 → 品質確認
  5. VP9 で追加 20〜30% 削減 (時間コスト許容時)
  6. AV1 は長寿命/高再生のみ段階導入

3. 推奨値と容量目安

解像度: 800 埋め込み → 1024x576 or 960x540。720p 超は冗長。

fps: 操作=30 / スクロール=25 / 単純フェード=24。

CRF/CQ 起点: H.264 23 / VP9 32 / AV1 35。

30秒容量: H.264 1.2–2.5MB / VP9 0.9–1.8MB / AV1 0.7–1.4MB。

4. ffmpeg レシピ + 推奨起点

# 1) 前処理 (不要余白クロップ + スケール)
ffmpeg -i input.mov -vf "crop=w=ih*16/9:h=ih,scale=1024:576:flags=lanczos" -an pre.mp4

# 2) H.264 起点 (再生互換最大)
ffmpeg -i pre.mp4 -c:v libx264 -preset medium -profile:v high -crf 23 -pix_fmt yuv420p   -movflags +faststart -c:a aac -b:a 96k ui-h264.mp4

# 3) VP9 (2pass 品質安定)
ffmpeg -i pre.mp4 -c:v libvpx-vp9 -b:v 0 -crf 32 -pass 1 -an -f webm NUL &&   ffmpeg -i pre.mp4 -c:v libvpx-vp9 -b:v 0 -crf 32 -pass 2 -auto-alt-ref 1 -pix_fmt yuv420p   -c:a libopus -b:a 64k ui-vp9.webm

# 4) AV1 (長寿命/再生上位のみ)
ffmpeg -i pre.mp4 -c:v libaom-av1 -cpu-used 6 -crf 35 -b:v 0 -row-mt 1 -threads 8   -pix_fmt yuv420p10le ui-av1.mkv

メモ: AV1 エンコードは時間コスト高。CI/自動バッチで cpu-usedrow-mt を調整し SLA 内処理。

5. 品質検証

6. 自動化フロー

  1. アップロード & ハッシュ付与
  2. メタ抽出 (duration,resolution)
  3. H.264→VP9→(条件)AV1 キュー
  4. VMAF 閾値下回りで CRF -2 再試行
  5. 成果登録 manifest 更新
  6. CDN 指紋付き URL / immutable
  7. 中間ファイル TTL 清掃

7. 失敗と対策

平均ビットレート先行

再作業増 → CRF/CQ 起点。

過剰シャープ/NR

リング化 → 軽処理のみ。

60fps 乱用

利得<コスト → 30/24。

AV1 一括導入

エンコード遅延 → 段階導入。

8. チェックリスト

9. FAQ

CRF の下限?
H.264 18 未満は利得小。
10bit 必須?
UI キャプチャは 8bit で十分。

関連

gazou-compressor.jp 編集部

画像圧縮・変換・背景除去などの実践テクニックと、Webで“速く・軽く・崩さない”ためのノウハウを発信しています。

関連記事

トピック/更新日の近いコンテンツ