この記事でわかること
- YouTube投稿に適したH.264エンコード設定(libx264)
- H.265(HEVC)でのエンコードによるファイルサイズ削減
- VP9コーデックでのエンコード設定
- 解像度別の推奨ビットレート設定
- 音声設定(AAC/Opus)の最適化
動作確認: FFmpeg 8.1 / Windows — 本記事のコマンド 15 件を検証スクリプトで実行し、全て成功しました(2026-09-06) 対象 OS: Windows / macOS / Linux
YouTube 推奨のエンコード仕様概要
YouTubeはアップロード後に独自の再エンコードを行いますが、アップロード素材の品質が高いほど再エンコード後の画質が良くなります。
一般的な推奨仕様:
- コンテナ: MP4
- 映像コーデック: H.264(互換性最高)、H.265、VP9
- 音声コーデック: AAC-LC、256kbps
- ピクセルフォーマット: yuv420p(YUV 4:2:0)
- フレームレート: 元の素材と同じ(23.976、24、25、29.97、30、48、50、59.94、60fps)
H.264(libx264)— 最も互換性の高い設定
1080p(FHD)標準設定
ffmpeg -i input.mp4 -c:v libx264 -b:v 8M -maxrate 10M -bufsize 20M -pix_fmt yuv420p -c:a aac -b:a 256k output.mp4
2-pass エンコード(安定したビットレート制御)
ffmpeg -i input.mp4 -c:v libx264 -b:v 8M -maxrate 10M -bufsize 20M -pix_fmt yuv420p -pass 1 -an -f null /dev/null
ffmpeg -i input.mp4 -c:v libx264 -b:v 8M -maxrate 10M -bufsize 20M -pix_fmt yuv420p -pass 2 -c:a aac -b:a 256k output.mp4
2-passはビットレートの精度が高く、長尺動画に特に有効です。
CRF(品質固定)モード — アップロード素材向け
ffmpeg -i input.mp4 -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p -c:a aac -b:a 256k output.mp4
-crf は品質固定モードです。CRF値が低いほど高品質・大ファイルサイズになります。
| CRF値 | 品質 | 用途 |
|---|---|---|
| 15〜18 | 高品質 | マスター素材、アップロード用 |
| 19〜23 | 良好(デフォルト付近) | 一般的な用途 |
| 24〜28 | ファイルサイズ重視 | プレビュー、配信 |
実測:推奨ビットレート・CRF・VP9 を比べる
YouTube はアップロードされた動画を必ず再エンコードします。つまり手元のファイルは「YouTube に渡す素材」であって、視聴者が見るものそのものではありません。その前提で、どの設定で書き出すのが得かを実測しました。
測定環境: Intel Core i9-14900KF / RTX 4090 / FFmpeg 8.1 / 素材 Big Buck Bunny 1920x1080 30fps 10秒 H.264 24.6Mbps 29.3MB(© Blender Foundation, CC BY 3.0)/ 2026-08-28 測定
| 設定 | サイズ | VMAF | エンコード時間 |
|---|---|---|---|
YouTube 推奨 8 Mbps(-b:v 8000k -preset slow) |
9.32 MB | 94.24 | 3.87 秒 |
| CRF 18 / slow | 15.48 MB | 96.12 | 4.67 秒 |
| CRF 20 / slow | 11.34 MB | 95.24 | 4.20 秒 |
| CRF 23 / slow | 7.14 MB | 93.49 | 3.46 秒 |
| 16 Mbps(推奨の2倍) | 18.90 MB | 96.44 | 5.27 秒 |
| VP9 CRF 31 | 6.52 MB | 93.94 | 66.08 秒 |
読み取れることが3つあります。
1. ビットレートを2倍にしても画質は 2.2 ポイントしか上がりません。 8 Mbps(VMAF 94.24)→ 16 Mbps(96.44)で、ファイルは 9.32MB → 18.90MB と倍増します。「推奨より高めに上げれば画質が残る」とよく言われますが、増えたアップロード時間に見合う差ではありません。どうしても上げたいなら 2 倍ではなく CRF 20 前後(11.34MB / VMAF 95.24)の方が効率的です。
2. VP9 は小さいが、エンコードが 17 倍遅い。 VP9 CRF 31 は 6.52MB で VMAF 93.94 と、8 Mbps の H.264(9.32MB / 94.24)より 30% 小さくほぼ同品質です。ただし 66 秒かかりました(H.264 は 3.87 秒)。YouTube 側でどのみち再エンコードされる以上、この待ち時間を払う価値があるのは回線が極端に細い場合に限られます。
3. CRF 20 前後が扱いやすい。 固定ビットレートは「動きの激しい場面で足りず、静かな場面で余る」という配分になります。CRF なら内容に応じて配分されるため、同程度のサイズでより安定します。この素材では CRF 20(11.34MB / VMAF 95.24)が 8 Mbps 固定(9.32MB / 94.24)より素直な結果でした。
アニメーション素材での測定です。実写、特に手持ち撮影やノイズの多い映像では同じ CRF でもファイルは大きくなります。絶対値ではなく傾向として読んでください。
解像度別の推奨ビットレート設定
720p(HD)
ffmpeg -i input.mp4 -c:v libx264 -b:v 5M -maxrate 6M -bufsize 12M -pix_fmt yuv420p -vf "scale=1280:720" -c:a aac -b:a 192k output_720p.mp4
1080p(FHD)
ffmpeg -i input.mp4 -c:v libx264 -b:v 8M -maxrate 10M -bufsize 20M -pix_fmt yuv420p -vf "scale=1920:1080" -c:a aac -b:a 256k output_1080p.mp4
4K(UHD)
ffmpeg -i input.mp4 -c:v libx264 -b:v 35M -maxrate 40M -bufsize 80M -pix_fmt yuv420p -vf "scale=3840:2160" -c:a aac -b:a 320k output_4k.mp4
H.265(HEVC / libx265)— ファイルサイズ削減
同等の画質でH.264の約半分のファイルサイズになります。
ffmpeg -i input.mp4 -c:v libx265 -b:v 4M -maxrate 5M -bufsize 10M -pix_fmt yuv420p -c:a aac -b:a 256k output_h265.mp4
H.265 CRFモード
ffmpeg -i input.mp4 -c:v libx265 -crf 20 -preset slow -pix_fmt yuv420p -c:a aac -b:a 256k output_h265.mp4
H.265の場合、CRF 20〜24が標準的な品質レンジです。
VP9 — オープンソースコーデック
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 0 -crf 30 -pix_fmt yuv420p -c:a libopus -b:a 256k output.webm
VP9のCRFモードでは -b:v 0 と組み合わせて使います。
VP9 2-pass(安定したビットレート)
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 8M -pass 1 -an -f null /dev/null
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 8M -pass 2 -pix_fmt yuv420p -c:a libopus -b:a 256k output.webm
フレームレートの固定
ffmpeg -i input.mp4 -c:v libx264 -b:v 8M -maxrate 10M -bufsize 20M -pix_fmt yuv420p -r 30 -c:a aac -b:a 256k output.mp4
-r 30 で30fpsに固定します。可変フレームレート(VFR)の素材はYouTubeで問題が発生することがあるため、固定フレームレートへの変換が推奨されます。
音声設定
AAC-LC 256kbps(標準)
ffmpeg -i input.mp4 -c:v copy -c:a aac -b:a 256k output.mp4
ステレオを確認・変換
ffmpeg -i input.mp4 -c:v copy -c:a aac -ac 2 -b:a 256k output.mp4
-ac 2 でステレオ(2チャンネル)に統一します。
関連記事
動作確認: FFmpeg 8.1 / Windows — 本記事のコマンド 15 件を検証スクリプトで実行し、全て成功しました(2026-09-06) 一次ソース: ffmpeg.org/ffmpeg-codecs.html#libx264
よくある質問
YouTube が推奨するビットレートはいくつ?
1080p 30fps なら 8 Mbps、1080p 60fps なら 12 Mbps が公式の推奨値です。「推奨より高めに上げれば画質が残る」と言われますが、実測では 8 Mbps から 16 Mbps へ倍増しても VMAF は 94.24 → 96.44 と 2.2 ポイントしか上がりません(実測データ)。ファイルサイズとアップロード時間は倍になるので、割に合いません。画質を上げたいなら固定ビットレートを盛るより、CRF 20 前後で書き出す方が効率的です。
1080p で撮ったのに 4K にアップしたら良くなる?
4K 自体は無理ですが、ご自分の素材の最高解像度で出すことを推奨します。YouTube は 4K 経由で生成された 1080p の方が、最初から 1080p アップしたものよりビットレートが高くなります。
2 パスエンコードとCRFどちらが良い?
CRF 17〜18 + -preset slow がほぼマスター品質で、設定もシンプルです。2 パスは出力サイズを正確に決めたい時のみ意味があります。
アップロード後に画質がぼやける
YouTube の VP9/AV1 エンコードはビットレート上限があるため、解像度を上げて(4K → 1080p のパス)アップロードする方が結果的に綺麗になります。AV1 トランスコード待ちで改善することも。
HDR でアップロードすべき?
HDR で撮影・グレーディングした素材で、BT.2020 + PQ/HLG が正しくタグ付けされている時のみ意味があります。中途半端な HDR ファイルは SDR に変換された結果が低画質になることがあります。