この記事では、YouTubeへ高画質で動画をアップロードするための、H.264エンコード設定と手順を解説します。
YouTube用に動画エンコードを最適化すべき理由
YouTubeではアップロードした動画が配信用に処理されます。
H.264で書き出した場合も、アップロード前の画質をそのまま保てる保証はありません。
元映像から不要な変換を重ねず、解像度・フレームレート・色の設定をそろえて書き出します。
この記事の後半にある画面は2018年当時のAviUtl 1系です。
AviUtl ExEdit2の操作説明ではありません。
YouTube公式推奨のエンコード設定
アップロードする動画の公式推奨エンコード設定は、下記の公式ヘルプページに記載されています。
SDR動画ではMP4・H.264、元映像と同じフレームレート、BT.709が基本です。
1080pは24〜30fpsで8Mbps、48〜60fpsで12Mbpsが公式の目安です。
音声はAAC-LC・48kHzを使えます。
AviUtlを使ってH.264にエンコードする方法
無料の動画編集ソフト「AviUtl」は、プラグイン「拡張 x264 出力(GUI)Ex」を追加することで、詳細な設定を指定してH.264へエンコードできます。
AviUtlのダウンロードと導入
まずはAviUtl本体をダウンロードして導入します。
拡張 x264 出力(GUI)Exの導入と設定
※拡張 x264 出力(GUI)Exの詳しい導入手順は割愛します。
導入手順については下記の参考サイトをご確認ください。

AviUtlと「拡張 x264 出力(GUI)Ex」の導入が完了したら、最適な出力設定を行います。
YouTube向けH.264エンコードの推奨設定
設定箇所は「AviUtl本体」と「拡張 x264 出力(GUI)Ex」の2か所です。
元記事の画像はBT.601を使った旧設定です。
現在のYouTube向けSDRではBT.709を基本とし、読み込み時の色変換と書き出し時の指定が一致しているか確認します。
素材に合わない設定へ一律に変えないでください。

色の変化がある場合は、素材・編集ソフト・出力のカラーマトリックスやレンジが食い違っていないか確認します。
タグをBT.709へ変更するだけで、実際の画素の色変換まで正しく直るとは限りません。
短いサンプルを書き出して比較してください。
- 目標ビットレートや容量を決める場合は2パス、画質を基準に調整したい場合はCRFなどの品質指定を検討します。2パスなら常に高画質という意味ではありません。
- 速度プリセットはまず標準的な設定で試し、画質・ファイル容量・処理時間を比較します。最も遅いPlaceboを必須にはしません。
- カラーマトリックスは実際の出力変換と一致させます。旧画像のsmpte170mをYouTube向けSDRの共通設定として使わないでください。

- 動き予測などの詳細設定は、使用するエンコーダのプリセットを基準にします。旧画像の低速設定をすべて指定する必要はありません。
- GOPは公式推奨と使用するエンコーダの仕様を確認します。「-1」などの特殊値の意味を確認せず、シークが改善する設定として流用しないでください。

続いて、拡張プラグインの音声タブで音質設定を行います。
使用中の出力プラグインが対応するAACエンコーダを選び、AAC-LCで出力します。
NeroAacEncに限定する必要はありません。
YouTube向けではAAC-LCと48kHzを指定します。
下の旧画像は当時の参考資料であり、HE-AACや音声2パスを必須とする手順ではありません。

次のニコニコ動画まとめwikiは旧記事の参考リンクです。2026年10月7日の確認では閲覧できなかったため、現在の推奨値は上記のYouTube公式ヘルプを参照してください。
動画編集に関するほかの関連記事は、下記のまとめから確認できます。

動画用の効果音素材をお探しの場合は、こちらの記事を参考にしてください。

YouTube終了画面の推奨サイズや仕様については、こちらの記事で解説しています。

YouTube向けの制作は、ほかにも書いています。

SDRの短い出力を形式と音声で確認する
2026年10月2日に作った模様と合成音で、人物や撮影素材は含みません。
展開したフォルダーから実行します。
sdr-input.mp4は、BT.709として作った6秒・1920×1080・30fpsの練習用動画です。
FFmpeg導入済みのWindowsで、次の例を展開先から実行すると別名のyoutube-sdr.mp4を作ります。
HDRやBT.601の素材へ色タグだけを付け替える例ではありません。
ffmpeg -hide_banner -nostdin -n -i "sdr-input.mp4" -map 0:v:0 -map 0:a:0 -c:v libx264 -profile:v high -pix_fmt yuv420p -crf 20 -preset medium -g 15 -bf 2 -flags +cgop -color_primaries bt709 -color_trc bt709 -colorspace bt709 -x264-params colorprim=bt709:transfer=bt709:colormatrix=bt709 -c:a aac -profile:a aac_low -b:a 384k -ar 48000 -use_editlist 0 -movflags +faststart "youtube-sdr.mp4"
出力の情報はffprobeで読みます。
ffprobe -v error -show_entries stream=index,codec_type,codec_name,profile,width,height,pix_fmt,avg_frame_rate,sample_rate,channels,color_space,color_transfer,color_primaries:format=duration -of json "youtube-sdr.mp4"
| 確認する項目 | この入力で得た出力 |
|---|---|
| 映像 | H.264 High、yuv420p、1920×1080、30/1fps |
| 音声 | AAC-LC、48,000Hz、ステレオ |
| 色の3項目 | color_space、color_transfer、color_primariesがbt709 |
| MP4の構造 | moovがmdatより前、edit listなし |
2026年10月2日、FFmpeg 9.0.2で変換とデコード、元ファイルと既存出力の保持を確認しました。
CRF 20はこの練習の品質指定であり、公式の目安の8Mbpsへ固定する設定ではありません。
実素材は短い範囲で色・動き・音の同期を元と比較し、必要なら設定を調整して別名で書き出します。
YouTubeへの限定公開後は高解像度の処理完了を待って再生し、ずれや色の変化があれば元の編集データから再出力します。
今回、AviUtlでの再実行とYouTubeへのアップロードは未検証です。
MP4構造と各形式の条件はYouTubeの公式エンコード設定を2026年10月2日に確認しています。
-nの拒否ログが出た場合は終了コードだけで成功と判断せず、新しい名前と内容を確認します。
高画質でアップロードするためのH.264エンコード設定まとめ
AviUtlと拡張プラグインを組み合わせるとエンコード設定を細かく調整できるため、画質とファイルサイズのバランスを取る際に役立ちます。
動画の解像度や内容によって最適なパラメーターは変動します。
まず短いサンプルで色・音声・動きを確認し、限定公開でアップロード後の表示も確認します。
この記事の更新時にAviUtl本体での再実行は行っていません。
