AviUtlを使ったMP4 (H.264) エンコード
#1・・・これひとつで一覧されているすべての必要なファイルのダウンロード、インストールが可能です。
#2・・・OS が 64-bit の場合は 64-bit 版を利用するとエンコードが少し早くなります。
#3・・・x264 には汎用的な 8-bit depth 版と、より特殊な用途向けの 10-bit depth 版があります。bit 無記載のものか、8-bit 記載があるものを使ってください。
#4・・・x264CLIを配布しているサイトは多数あり、他にはPOP@4bit氏のビルドなどがあります。
#5・・・ファイル名は NeroAACCodec-1.5.1.zip
#6・・・サイト左上にある「バイナリを選択」のボックスから最新版を選択してダウンロードしてください。
#7・・・muxer としてどちらか片方の導入が必要です。L-SMASH を導入した場合 MP4Box は必要ありません。
目次
概要 †
1.ニコニコ動画の仕様 †
- 動画をアップロードする際、一定条件を満たさないとサーバーサイドエンコード(smilevideo側で動画が再エンコード)され、大抵は画質が落ちてしまいます。
しかし、一定条件を満たしたFLVか、当ページで解説している一定条件を満たしたMP4の形式にエンコードしてから動画をアップロードすると、その画質のままサーバーサイドエンコードを回避してニコニコ動画で視聴することができます。
- 2008年3月5日から対応したMP4 (H.264)、当初はプレミアム会員のみH.264動画の投稿が可能でしたが、
2008年7月5日より一般会員でも投稿できるようになっています。
- 正式な名称は「H.264/MPEG-4 Part 10 Advanced Video Coding」(通称H.264/AVC)です。
プロファイルはベースラインプロファイル、またはメインプロファイルが(一応)推奨です。
なお使用できるコンテナ(ファイルフォーマット)はニコニコ動画の場合はMP4のみとなっています。
- 最大ファイルサイズは、プレミアム会員が100MB (104,857,600 byte)、一般会員が40MB (41,943,040 byte) です。
ディスク上のサイズではなく、本サイズの数値ということに注意! 最大許容ビットレートは、映像と音声の合計で、プレミアム会員は無制限、一般会員は656kbpsです。
- ββ(2008年12月12日~)からの仕様変更により、
プレミアム会員は最大ファイルサイズが40MB→100MB、最大平均ビットレートが828kbps→1049kbpsへと増加しました。
- (9)(2009年10月29日~)からの仕様変更により、
プレミアム会員は最大平均ビットレートの制限がなくなりました。ファイルサイズの制限は100MBのまま、変更はありません。
- エコノミーモードの発動条件は、ビットレート合計がプレミアム・一般共にMP4では約445kbps以上で、なおかつ再生数500以上の場合です。
- 2009年1月17日時点、○245.26kbps、×246.11kbps。FLVは依然312kbpsの模様。
- 2009年2月26日、発動条件が再生数1000から500へ、時間帯は平日18時~26時、土日祝日は12時~26時に変更。
- 2011年2月4日時点、245kbps->312kbpsに変更されたのを確認。
- 2012年2月8日、エコノミーモードの画質が向上、それに伴ってエコノミー回避条件も312kbps->445kbpsに変更。(FLVは未確認?)
- MP4コンテナには映像1チャンネル、音声1チャンネル【ステレオ/モノラル】のみ対応です。その他の映像・音声(副音声、サラウンドなど)の多重化は対象外です。
- 映像の解像度は一般会員の場合は1280x720が上限で、それを超えるとサーバーサイドエンコードされてしまいます。
なお、プレミアム会員には最大解像度の制限はありません。
MP4最大値 | ファイルサイズ | 平均ビットレート | エコノミー回避 | 解像度 |
---|
ファイルサイズ | 平均ビットレート |
---|
プレミアム会員 | 100MB | 制限なし | 100MB | 445kbps | 制限なし |
---|
一般会員 | 40MB | 656kbps | 40MB | 445kbps | 1280x720 |
---|
- 原宿バージョンの「ニコプレーヤー4」、Qバージョンの「QWatch」の中画面モードでは16:9では640x360、4:3では512x384が表示の基本(ドットバイドットで再生できる解像度)となります。
2012/5/1からプレミアム会員向けに提供されているZeroWatch?のプレーヤーでは大画面モードの場合16:9では864x486、4:3では648x486が表示の基本となります。→ニコニコ動画:Qの公開と同時にZeroWatch?は廃止となりました。
- 2012/10/17から公開されたニコニコ動画:Qのプレーヤー「Qwatch」では大画面モードの場合16:9では854x480(FWVGA)、4:3では640x480(VGA)が表示の基本となります。
最適解像度 | 16:9 | 4:3 |
---|
中画面モード | 640x360 | 512x384 |
---|
大画面モード | 854x480 | 640x480 |
---|
- 音声AACは以下の3種を使用します。
- AAC-LC(44.1kHz/48.0kHz・96kbps以上推奨)
- HE-AAC(44.1kHz/48.0kHz・88kbps~56kbps推奨)
- HE-AACv2(44.1kHz/48.0kHz・48kbps以下推奨)
- オーディオ情報のない動画はサーバーサイドエンコードされます。
無音の動画を作る際は無音の音声ファイルと合成させましょう。
- サーバーサイドエンコードされない仕様で投稿した際にも「エンコード中です…」としばらく表示されますが、
これはエコノミー用の低解像度動画が新規にサーバーサイドエンコードで生成されるためです。
エコノミーモードが発動しなければちゃんと投稿動画の画質で再生されます。
エコノミー回避条件も満たして投稿すれば「エンコード中です…」表示は全く表示されないか短時間で終了するはずです。
2.AACの種類 †
AAC-LC、HE-AAC、HE-AACv2はABRに該当し、品質をコントロールし目的のビットレートに収めます。
- AAC-LC : 一般的にAACと呼ばれている物です。通常はこれを選びましょう。
- 高音質(低圧縮)。
- ジャズやクラシックなど、音に奥行きや深みがあり全体が落ち着いているBGM向き。
- およそ88kbps以下の低ビットレートには不向き。
- HE-AAC(AAC-LCの高圧縮タイプ) : 88~56kbps程度の低ビットレートで音の破綻を防ぐのに効果があります。
一方でそれ以上のビットレートを割り振っても、音質は上がりにくいという性質があります。
- 1つの動画で長い時間BGMが流れる動画向き。
- ポップ、ロック、トランス、演歌など、所々でテンポが変わるBGM向き。
- 長時間の動画でビットレートをあまり割り振れない場合。
- 短い再生時間の動画で画質重視したい場合。
- HE-AACv2(AAC-LCの超高圧縮タイプ) : 48kbps程度以下の超低ビットレート時に用います。
- 実況プレイ動画や中継動画など、長時間の収録が必要な場合。
- 120分を超えるサントラやメドレーおよび作業用BGMなど、非常に長い動画を作成する場合。
- 極限まで画質に容量を割り振りたい場合。
- 古いラジオや単純な効果音など、元々低音質なものを軽く仕上げたい場合。
※低ビットレートでの特性(HE-AAC=aacPlus v1, HE-AACv2=aacPlus v2)
3.FLV4 (VP6+MP3) との違い †
- 基本的にはVP6より高速に圧縮できます。x264.exeはマルチスレッドに対応しているため、高性能なPCほどVP6との速度差が開きます。
- エンコードの際に上下反転するバグがないので、余計な手間がかかりません(上下反転を回避する手段も実はある)。
- 数々の新技術のおかげでVP6と比べてH.264は綺麗に圧縮できます。
- 音声 (AAC) は特に低ビットレート(大体88kbps以下)においてMP3よりかなり綺麗に圧縮できます。
192kbps以上であれば著しい差は発生しませんが、概ねAACが良質です。
- シングルコアのCPU(Pentium4, PentiumM, AthlonXPなど)の古いマシンでは、VP6よりデコード負荷が高いと言われています。
特にCABACを有効にしたり、Bフレームを多用すると負荷が高くなります。
手順 †
1.準備 †
以下の解説動画も参考にすると解りやすいでしょう。
AviUtlをインストールする方法 Ver2015
- 動画の用意
ニコニコ動画に投稿したい動画を用意しましょう。動画の作成から始めたい、という人は動画の作り方ページなどを参照して下さい。
- AviUtlの勉強
AviUtlと、それに関するフィルタ・プラグインを使用するので、まずは初心者の為のAviUtl導入方法(2004/01/21更新)(閉鎖)を読んでおきましょう。
- ソフトウェア・プラグインの用意
以下のソフトウェア・フィルタ・プラグイン等を必要に応じて展開・配置、インストールしておきます。
他のプラグインは、AviUtl オリジナルプラグイン公開サイト@wikiを参照すると勉強になります。
- AviUtl
ダウンロードしzipを展開。パスの都合上、C:やD:等、ドライブ直下にフォルダを置くことを推奨。
- 拡張 x264 出力(GUI) Ex
H.264出力プラグイン。同封されている「readme.txt」「x264guiEx_readme.txt」を必ずよく読んでおくこと。
更新頻度が高いソフトだが、基本的には最新版で良い。
解凍したら出てくる「auo」フォルダ内の「x264guiEx.auo」「x264guiEx.ini」「x264guiEx_stg(フォルダ)」を、AviUtl.exeがある階層に入れること。
- Aviutlアップデートセット|エンコードする上で必要最低限なソフトウェアを自動更新するツールです。
Aviutlアップデートセット。
AviUtl、拡張 x264 出力(GUI)Ex、x264CLI(x264.exe)、Nero AAC Codec、MP4Box、L-SMASH、L-SMASH Worksを自動更新します。
入手していない必須Windowsコンポーネントは自動でインストールされますので、コレさえあれば十分でしょう。
おまけで拡張編集プラグインのチェックにも対応しています。
個別にアップデートするプログラムを指定できます。また、aviutlの起動と同時にチェックする事も可能です。
- Microsoft .NET Framework 4.0 Full
拡張 x264 出力(GUI)Exの必須コンポーネントその1。
これがないとプラグインとして読み込まれない。
- x264CLI(x264.exe)
拡張 x264 出力(GUI)Exの必須コンポーネントその2。
いろいろ書いてあるが、32bitOS使用者は32bit 8bit-depthのミラーのどれか、
64bitOS使用者は32bit 8bit-depthか64bit 8bit-depthのミラーのどれかを選べばよい。
10bit-depthもあるが動画サイト向けとしては色々と問題があるので非推奨である。注意されたし。
自分の好きな場所に入れればよいが、入れた場所は後に指定する必要があるので覚えておくこと。
- Nero Digital Audio 1.5.4.0(DL名はNeroAACCodec-1.5.1.zipとなっているが、ZIPを展開するとneroAacEnc?.exeのみ1.5.4.0に更新されている。)
拡張 x264 出力(GUI)Exの必須コンポーネントその3。
音声のAACAAC-LC/HE-AAC/HE-AACv2エンコードに使う。実際に必要なのは「neroAacEnc?.exe」のみ。
入れる場所は自由だが、入れた場所は後に指定する必要があるので覚えておくこと。AviUtl.exeがある階層に入れると覚えやすいかもしれない。
- qaac iTunesやQuickTime?などのApple製ソフトウェアに含まれているCoreAudioToolbox?.dllを利用して、AACファイルを作成することができるコマンドラインエンコーダー。Neroよりも音質が良い。x264guiEx最新版で対応済み
- L-SMASH Works
様々なフォーマットの動画をAviUtlに読み込むための入力プラグイン。
内蔵デコーダーを利用しているため安定性も比較的高い。また、エクスポート機能も備えている。
サイト左上にある「バイナリを選択」のボックスからL-SMASH Worksの最新版を選択しダウンロードする。
- ResizeFilter (11/10/20)
多種多様なアルゴリズムを搭載した拡大・縮小フィルタ。
SSE2、マルチスレッド対応、アセンブラで組んであるため、AviUtlにプリセットされているサイズの変更よりも高速、高性能。
中でもSpline36は滑らかでアニメ向きな上、容量も小さくできてニコニコ動画向き。
ガンマ値を考慮した「リサイズフィルタG」(11/06/19)も存在する。
- UVダウンサンプリングフィルタVer1.0.0
色差情報の補間をまったくしてくれないFlashPlayerの低性能をごまかすのに最適なプラグイン。
「taps=2(または3か4)、YUV420(off:YUV422)にチェックを入れる」で、すべてのフィルタの一番最後にかければ、
文字やアニメキャラ等の線のギザギザが軽減される可能性大。
またAviUtlが行う特殊なRGB-YUV変換により発生する極端な色化け(特にゲーム素材)を回避することも出来る。
補正前に鮮鋭化(アンシャープ)することによってドット絵やゲーム動画の文字やエッジ等が色変換の過程で劣化するのを目立たなく出来る機能もある。
- MPEG-2 VIDEO VFAPI Plug-In 0.7.8(12/12/29)
MPEG2系ファイル(DVDなど)をAviUtlで読み込めるようにする。MPEG2系ファイルの読み込みに関しては↓よりも無難。
ただし一部の音声形式は読み込めないので、読み込めない場合は音声を別ソフトで読み出すように。
付属ReadMe?.txtに従って設定した後、AviUtlを再起動する事。
- DirectShow File Reader プラグイン for AviUtl 0.26a
Windows Media Playerが読み込めるファイル等を扱えるようにする入力プラグイン。
ただし編集トラブルを招くことも多いので、上に書いてあるL-SMASH Worksを使うことを推奨。
読み込めるファイルは多いが、安定性が悪い上劣化するので、他のプラグインで読み込めない場合に最終手段として使用しましょう。
(AviUtl version0.99gから、Frapsで録画したAVIファイルもAVI/AVI2 File Readerで正常に読み込めるようになったので、
DirectShow? File Readerの優先度を上げていた人は優先度を下げましょう。)
ffdshowをインストールして連携させるとより多くのファイル形式も読み込み可能。
- MP4Pluginミラー→*
AviUtlにMP4を読み込んで編集を行うためのプラグイン。入力とエクスポートの2種セット。
ただし古くて更新も止まっているので、上に書いてあるL-SMASH Worksを使うことを推奨。
MP4Pluginとx264プラグインのセット(こちらのx264プラグインはいささか古いので使わない)→*
- AviUtlページ参照の上、設定を行いましょう。
- ニコニコ動画などで採用されているAdobe Flash Playerでの再生では、予めインターレースは解除しておく必要があります。
インターレースについては、ASCII.jp:縞シマノイズを完全消去!【インターレース解除編】|エンコードテクニック虎の巻を参照して下さい。
AviUtlでとりあえずインターレースを解除する場合は、「設定→インターレースの解除→(自動 または 二重化 の好きなほう)」が無難かと思われます。
3.クリッピング・黒ベタ付加・リサイズ †
アスペクト比や拡大縮小、黒べた等についてを参照して下さい。
4.音声ビットレートと映像ビットレートの決定 †
- 拡張 x264 出力(GUI)Exの開き方
- [設定] → [圧縮の設定] → [プラグイン出力の設定] → [拡張 x264 出力(GUI)Ex]
音声ビットレートと映像ビットレートを決する目安は、100MBと40MBで使用できるビットレート早見表や、
下記の「ビットレート設定 一覧表」や「ビットレート計算手順の例」を参照すれば、なんとなくつかめるはず。
- 映像ビットレート
場合によりますが、ただの1枚絵なら5kbps以下、動きの少ない紙芝居や画像のスライドショー等なら30kbps以下まで落とせます。
(ただし映像が崩れるようであれば落としすぎ) 余った分を音声に割り振れます。
- 音声ビットレート
モノラル化は結構効果があります。音を左右に振る必要のない音源などは特に、128kbpsのステレオと64kbpsのモノラルが
(ジョイントステレオを考えなければ)近い音質になるので、
事前にWAVをモノラル化すれば音声ビットレートを約半分に抑えることができます。
また、サンプリング周波数の低周波化でもビットレートを抑えられます。
WAVファイルの段階で、例えば48kHzを24kHzに、44.1kHzを22.05kHzに変換すれば、ビットレートを半分に減らせます。
サンプリング周波数を低くするほど高周波成分が欠けるので、音楽もメインな動画では避けるべきですが、
喋りは高周波成分が少ないので実況や語りがメインの動画ならあまり気にならないはず。
ただし変換は音声編集の最後にやりましょう。
サンプリング周波数の異なるデータを繋げると再生速度が変わったり色々おかしくなりがちです。
- ビットレート設定 一覧表
あくまでも一例ですので、必ずしもこの通りにやる必要はありませんが、参考程度にしておくと良いでしょう。
当たり前のことですが、画質重視か音質重視かによって数値が異なりますし、フレーム数にもよります。
所要時間は目安です。お使いのPCスペックや設定により所要時間が大きく異なります。
この表のビットレート割り当ては、一般会員で40MB上限近くまで使っての例です。プレミアム会員で100MB使う場合は、おおよそ2.5倍の余裕があります。
再生時間 | AAC-LC | HE-AAC | HE-AACv2 | エンコード 所要時間の目安 |
映像 | 音声 | 映像 | 音声 | 映像 | 音声 |
5分 | 330 | 320 | (不適) | (不適) | 30分 |
10分 | 360 | 192 | 465 | 88 | (不適) | 1時間 |
15分 | 235 | 128 | 285 | 80 | (不適) | 1時間30分 |
20分 | 175 | 96 | 200 | 72 | (不適) | 2時間 |
25分 | (不適) | 150 | 64 | 170 | 48 | 2時間30分 |
30分 | (不適) | 125 | 56 | 140 | 40 | 3時間 |
40分 | (不適) | (不適) | 100 | 32 | 4時間 |
50分 | (不適) | (不適) | 80 | 24 | 5時間 |
60分 | (不適) | (不適) | 70 | 16 | 6時間 |
- ビットレート計算手順の例
ビットレートの数字((ビットレート計算に用いられる「k(1000倍)」と、Windows内のファイルサイズ表示等に使われる「K(1024倍)」は違います。
混同しないように(一応「b(=bit)」と「B(=byte、1B=8bit)」も)。
フリーウェア等のソフトの中にも間違えているものがあるようです。その場合は作者に教えてあげて下さい。))はあくまで一例です。
画質重視か音質重視かによっても数値が異なります。
手順 | 一般会員 | プレミアム会員 |
(1)作る動画の再生時間を調べ、秒に直します。 | (例として10分の場合) 10[分]→600[秒] |
(2)ニコ動のファイルサイズ上限をkb(キロビット)に直します。 | 40[MB]×8×1024×1024÷1000 =335544[kb] | 100[MB]×8×1024×1024÷1000 =838861[kb] |
(3)ファイルサイズを再生秒で割り、 おおよその最大ビットレートを求めます。 | 335544÷600=約559[kbps] | 838861÷600=約1398[kbps] |
(4)ニコ動の最大ビットレート制限を越えないようにします。 (一般は約656[kbps]、プレミアムは無制限) | 559[kbps] | 1398[kbps] |
(4.5)エコノミー回避優先の場合、そのビットレート制限 (約445[kbps])も越えないようにします。 | (エコノミー回避優先) 559 → 445[kbps] | 559[kbps] | (エコノミー回避優先) 1398 → 445[kbps] | 1398[kbps] |
(5)設定の自由度が低い音声ビットレートを 先に決めます(目安:AAC-LC 96[kbps]でCD音質)。 | 64[kbps] | 96[kbps] | 64[kbps] | 128[kbps] |
(6)最大ビットレートから設定した音声ビットレートを引き、 仮最大映像ビットレートを求めます。 | 381[kbps] | 463[kbps] | 381[kbps] | 1270[kbps] |
(7)ヘッダー情報分確保と、ビットレート設定のブレ対策で、 少し減らして映像ビットレートを決めます。 | 381→ 375[kbps] | 463→ 455[kbps] | 381→ 375[kbps] | 1270→ 1265[kbps] |
FLV(On2VP6+MP3)と比べると、MP4(H.264+AAC)は2passならばビットレートのブレはほとんどありません。
※ちなみに最新版のx264 出力(GUI)Exには、ビットレート計算機がついています。
設定画面右上の「ビットレート計算機」のボタンを押すと計算機が表示されるので、
「サイズからビットレートを求める」を選択し、動画サイズに上限値(一般会員なら40以下、
プレミアム会員は100以下)を入力すると、合計ビットレートの欄に、
「使用できる最大ビットレート」が自動的に表示されます。
(一般会員の場合は最大ビットレート656kbpsという制限もあるので注意。)
5.バッチ登録 †
- マルチパスとシングルパスがあります。
- マルチパス(推奨)
- 前パスでビットレートの変動を記録し、指定のビットレートに落とし込むためにマルチパス(=2パス以上)が必要となります。
- ビットレート指定でエンコードする場合、2パスにすれば、シングルパス以上の高画質が見込めます。
- 基本的に2パスで充分です。3パス以上にしても、時間が長くなる割に2パスとの画質差はほとんどありません(むしろ劣化する場合すらあります)。
- なお、FLV (VP6) でのマルチパスと違って、MP4 (H.264) では最後の本番エンコードのみファイルが作成されます。
それまでの中間ファイル自体は出力されません。
- シングルパス
- シングルパスは、動画全体のビットレートの変動を詳細には調べず、エンコードを1回だけ行います。
- 画質や音質にこだわらず、エンコード時間をかけたくない場合はシングルパスで。
- 初挑戦時は短時間の動画ファイルでの練習推奨! エンコード時間が長く(環境によって再生時間の数倍から10倍以上)かかるためです。
長い動画の場合は編集ソフトで切り取るなどして、短いテスト動画を作ってテストしましょう。
- 初めは10~20秒の動画で、どんな手順でエンコードを行うかの確認だけ。画質の評価には短時間すぎて向きません。
もし画質についても評価したければ1~2分以上の動画(3000フレーム以上の動画)が無難。
- 上下反転はしないで下さい。FLV (VP6) では必要でしたが、MP4 (H.264) では不要です。
- エンコードしたい動画の音声がMP3やWMAなどで圧縮されていると出力されなかったり、出力された音声がおかしくなる場合があるので、
事前に外部(別のツールなど)でPCM-WAVの音声のみの別ファイルに変換して用意して下さい。
- エンコードしたい動画の音声がステレオで、これをモノラルで出力(AACエンコード)させたい場合も、
事前に外部(別のツールなど)でモノラルのPCM-WAVの音声のみの別ファイルに変換して用意して下さい。
- AviUtlで、[ファイル] → [開く] でエンコードしたい動画を開きます。
上記のような事例に当てはまって、エンコードしたい動画の音声を外部でWAVファイルにして用意した場合
[ファイル] → [音声読み込み] を選択し、用意したWAVファイルを開きます。
これにより、エンコードしたい動画のMP3などの音声は使われず、「エンコードしたい動画の映像」と「用意したWAVの音声」がエンコード対象になります。
- [ファイル] → [プラグイン出力] → [拡張x264出力(GUI)Ex] を選択し、出力ファイル名を適当に入力します。
ただし、出力先フォルダ内にあるWAVファイルと同名だけは避けて下さい。エラーになります「x264guiEx 0.34にて修正」*1。
なお「ファイルの種類」は必ず「mp4 file (*.mp4)」に設定して下さい。
- [ビデオ圧縮] ボタンを押すと【拡張x264出力(GUI)Ex】ウィンドウが表示されます。ウインドウ左上の「プロファイル」を押して、目的にあったものを選択しましょう。
よくわからなければプロファイルを読み込んだままの設定から無理に変更しないことをお薦めします。
画質を上げたいといった理由で各設定項目について知りたい場合は拡張 x264 出力(GUI)Exの設定項目とその機能についても参考にして下さい。
また、ニコニコ動画にアップされている各種H.264解説動画の設定ぶりを参考にするのもアリです。
基本部分の設定(クリックで拡大)
「フレーム」タブの設定(クリックで拡大)

x264(画面左側のタブ) |
プリセット の ロード | 速度 | 下にいくほど高画質になるが、mediumまたはslowで構わない |
チューニング | わからない場合はnoneで十分だが、用途で選択 |
プロファイル | high |
※速度・チューニング・プロファイルを変更した場合は 「GUIにロード」ボタンを押して反映させます |
全般 | x264.exeの指定 | x264guiEx付属のauo_setup.exeを使用した場合は、自動で設定される。 設定されていない場合は右のボタンを押して、「x264_8bit-depth.exe」を指定 (「highbit depth」にチェックを入れないこと。) |
(ココ重要→) | 上限確認付 品質基準VBR(可変レート)または自動マルチパス |
nul出力 | (自動マルチパスの時のみ)オン |
高速(1st pass) | (自動マルチパスの時のみ)オン |
自動マルチパス数 | (自動マルチパスの時のみ)数値は2推奨*2 |
上限ファイルサイズ | 一般会員の場合→チェックを入れ40を指定 プレミアム会員の場合→チェックを入れ100を指定 |
上限ファイル ビットレート | 一般会員の場合 → チェックを入れ656を指定 プレミアム会員の場合 → チェックを入れる必要無し エコノミー回避したい場合 → チェックを入れ445を指定(一般/プレミアム 共通) |
目標映像ビットレート | 事前に決定した映像ビットレートを指定 |
色空間 | colormatrix | smpte170m
※重要 これとは別に、AviUtl本体側の設定で「設定->色変換の設定」の[出力]を「BT.601」にしておくこと。 [入力]については使用素材にもよるので各自で判断すること。 |
レート・QP制御(画面左側のタブ) |
とくにいじる必要なし |
フレーム(画面左側のタブ) |
動き予測 | 参照距離 | デフォルトのままいじる必要はないが、自分で調節する場合は値を増やしすぎないように注意。 (少なくとも16は確実にアウト。7以上でも問題が起こることがあるらしい。) 参考:動画がおかしくなる方は大百科をクリック→とは - ニコニコ大百科 |
GOP 関連設定 | キーフレーム 間隔の上限 | -1
x264guiEx v1.43から、 「-1を指定すると自動的にフレームレートの10倍の値を設定する」 という機能が追加されているのでそれを推奨。 自分で適切な数値を入れても良いがシークのしやすさに影響するので よく分からないうちはフレームレートの10倍以下にしておいた方がよい。 ※補足:キーフレーム間隔を短くする(数値を下げる)とよりシークしやすい動画を作ることができる。 実際、YouTubeでは30fpsの動画の場合間隔が30または60に設定されており(古い動画では15)、 1~2秒間隔でシークできるようになっている。 しかし、キーフレームはサイズが大きいため、あまり設定値を下げると動画の読み込みが遅くなったり、 またビットレートを下げないとファイルサイズ制限を超えてしまう場合がある(その場合当然画質が下がる)。 フレームレートの5倍(30fpsの場合150、最長5秒間隔でシーク可能。 せいぜい3倍(30fpsの場合90、最長3秒間隔(ry))程度に収めておいた方がいい。 短い紙芝居動画の場合は60程度でもいいかも。 |
拡張(画面左側のタブ) |
とくにいじる必要なし |
音声やmuxerの指定(画面右側) |
音声 | 音声エンコーダ | NeroAacEnc |
NeroAacEnc.exeの指定 | x264guiEx付属のauo_setup.exeを使用した場合は、自動で設定される。 設定されていない場合は右のボタンを押して、ダウンロードした「neroAacEnc?.exe」を指定 |
2pass | オン |
エンコードモード | 事前に決定した音声ビットレート(に近いもの)から好みで選択 AAC-LC (96kbps以上) 高音質、標準 HE-AAC (88kbps~56kbps) 長時間向け HE-AACv2 (48kbps以下) 低音質、超長時間向け |
mp4 | remuxer.exeの指定 | x264guiEx付属のauo_setup.exeを使用した場合は、自動で設定される。 設定されていない場合は右のボタンを押して、「remuxer.exe」を指定 |
timelineeditor.exeの指定 | x264guiEx付属のauo_setup.exeを使用した場合は、自動で設定される。 設定されていない場合は右のボタンを押して、「timelineeditor.exe」を指定 |
muxer.exeの指定 | x264guiEx付属のauo_setup.exeを使用した場合は、自動で設定される。 設定されていない場合は右のボタンを押して、「muxer.exe」を指定 |
- ステータスファイルについて
自動マルチパスで出力した場合、mp4ファイルと同じ場所に「ファイル名.stats」「ファイル名.stats.mbtree」というファイルが残ります。
これはマルチパス処理に使われたステータスファイルですが、出力に成功した場合は消してしまって構いません。
毎回手動で消すのが大変だという人は、「拡張x264出力(GUI)Ex」の設定画面右上にある「その他の設定」で
「自動マルチパス時、ステータスファイルも自動的に削除する」にチェックを入れておけば、出力後に自動的に削除されるようになります。(※要x264guiEx 1.10以降)
- (画質劣化を妥協して)エンコード時間を抑えるコツ
- 「プリセットのロード」の「速度」をもっと速いもの(上にいくほど速い)に変更する
- 映像を作成する際、むやみに高いフレームレートにしない(大して動かない映像なのに60fpsとか)
- (画質劣化を妥協して)再生負荷を抑えるコツ
- 詳細タブの重み付け予測をBフレームはオフ、PフレームはDisableにする
- フレームタブのCABACをオフにする
- フレームタブのインループデブロックフィルタをオフにする
- プレミアム会員だからといってビットレートを無駄に高くしない
- プレミアム会員だからといって、やたらでかい動画(1920x1080とか)にしない
- 映像を作成する際、むやみに高いフレームレートにしない(大して動かない映像なのに60fpsとか)
6.エンコードの開始 †
エンコードが始まると時間がかかるので、出かける前や寝る前などに実行するのが良いでしょう。
- 上表のように設定したら [バッチ登録] ボタンを押します。
なお、ここで [バッチ登録] ボタンの代わりに [保存] ボタンを押すと、すぐにエンコードが始まりMP4が出力されます。
次の手順の「バッチ出力終了時に」の機能が不要であればこちらで。
- [ファイル] → [バッチ出力] を開きます。任意で「バッチ出力終了時に」から [ウィンドウズをシャットダウン][AviUtlを終了] などを選択することもできます。
- [開始] ボタンを押すとエンコードが始まりMP4が出力されます。
もし、エンコードをしてる最中にエンコードを一時停止させたい場合は、メニューの [その他] → [バージョン情報] を表示させること。
- [ファイル] → [環境設定] → [優先度]でHighestを選択し、少しでも早く終えるようにする。
7.完成 †
- 完成しました。アップロード前に「FLVプレイヤーFlavie」で再生し、出来上がり状態を確認しましょう。
Flavieはニコニコ動画で使われているFlashPlayerを利用して再生を行なうため、ニコニコ動画での見え方を確認できます。
WindowsMediaPlayer?などの再生ソフトでは、再生の仕組みが全く異なるため見え方が変わってきます。
再生確認は必ずFlavieで行なうようにしましょう。
- 問題なければマイリスト->投稿動画からアップロードしましょう。
その他の方法 †
AVI出力から作成する方法 †
プラグイン出力をうまく導入できない人がいるのでAVI出力からの動画作成方法を記載します。
ただしAVI形式ではH.264は正式にサポートされていないので推奨はできません。
- 必要ソフトのダウンロード・インストール
- 動画のエンコード
aviutlを使ったVP6 2pass参照
コーデックがx264になっただけ。設定はプラグイン出力を参考に。
- AVIからMP4へ
MP4Boxを使ってMP4にする。
- 音声の変換と合成
別途SwitchなどでAACを作成してMP4Boxを使って動画と合成。
音声を後から合成する方法 †
- まずWAVE出力を行う。
- Switch等を使い、WAVE→AACへ変換する。
- MP4BoxとYambを同じ場所に置き、Yambを使いMP4(またはAVI)とAACを合成する。合成されたMP4を分離することもできます。
複数のMP4動画の結合・合成をする方法 †
- x264のエンコードオプション(BフレームやCABACなど)が同じmp4でないと、無劣化での結合・合成は出来ません。
エンコードオプションが違う場合は、素直に再エンコードしましょう。
なお、目標ビットレートまたはcfrやqp、レート設定などのストリームによってパラメータが変化するオプションは、異なっていても構わないかもしれません。
- MP4Pluginを使うことで、AviUtlでmp4の結合ができます。
結合したい動画を追加読み込みで順に開き、[ファイル] → [エクスポート] → [MP4 Export]を選択し、適当に名前をつけて保存します。
[ファイル] → [環境設定] → [システムの設定]で、「追加読み込みしたファイルのfpsを変換しない」にチェックをつけることで、fpsの違う動画やvfrの動画も結合することが出来ます。
MP4 File Readerの方がDirectShow? File Readerよりも入力プラグインの優先度が高いことに注意しましょう。
- UniteMovieを使用することで、以下の動画を結合することができます。ただし、結合に成功しても、必ずしも再生できるとは限りません。
- 同解像度
- 同ビットレート(動画のビットレートは多少違っても大丈夫の場合と、再生時にエラーが出る場合がある)
- 同fps(タイムスケール変更で対処可能?)
- YambはMP4BoxのGUIフロントエンドですが、結合などの処理に関しては最低限のオプションしか使用できないので、
コマンドラインを使える人はMP4Box(後述)を使うことをお薦めします。
- 大抵の場合、映像と音声の尺は微妙に異なるため多くの動画を連結すると音ズレが発生します。
- infoオプションで映像と音の尺の違いを確認しましょう。
- 入力の際に、:の後にdelay=***と書くことで任意のストリームを任意msだけ遅らせることができます。
- 入力されたストリームを、全て結合して出力します。
- mp4ファイルは内部にストリームと呼ばれる単位で別個のデータを保存しています。
- ストリーム1は映像、2が音声。大体は。それ以外のものが入っているとニコニコに弾かれる。
- 詳しくは-infoオプションを使って見てみましょう。
- それぞれの入力の前に"-cat"とつけるか"-add"とつけるかで、挙動が異なります。
- addなら新しくストリームを0:00から始めます
- catなら既に存在する同種のストリームのお尻に連結します
- #によるストリーム指定は任意です。 "#video"または"#audio"のどちらか。
- :を使っていくつかのストリーム入力オプションを指定することができます。 オプションの度に:を書きます。
- 出力先のファイルがすでに存在していた場合上書きでなく追加を行うので注意して下さい。
トラブル対策 †
音声だけで映像が無いファイルができる †
- 1stPASSで「nul出力」をオン、2ndPASSで「nul出力」をオフにする。
- それでも駄目なら1stPASS終了後にAviutlを再起動してから2ndPASSをする。
(1stPASSだけバッチ登録→バッチ出力→2ndPASSをバッチ登録→Aviutl再起動→バッチ出力)
- Flavie以外の再生ソフトで再生していませんか?上に書いてあるとおり、再生確認は必ずFlavieで行なうようにしましょう。
エンコード最後に「ファイルの出力に失敗しました」とエラーが出て、映像のみのMP4とWAVの2ファイルができる †
入力の動画のPCM (WAV) 音声のサンプリング周波数が、neroAacEnc?に対応していない。
下記の仕様を参考にサンプリング周波数を合わせる。
例 44102Hz、22048Hzなど少しでもズレているものは不可
例 8000HzのwavでHev2指定は不可、1chのwavでHEv2指定は不可
- このエラーが出やすい場合、サウンドを先に出力するにチェックをいれれば、エラーが出た際の映像再エンコードの時間を短縮できる。
neroAacEnc?の仕様(対応サンプリングレート、必ず発生する音声の遅延対策) †
- 対応周波数(範囲内かつ48000、44100、32000の整数倍)
LC…8000-96000Hz
HE…16000-48000Hz
HEv2…16000-48000Hz(1ch不可)
neroAacEnc?に限らず、サンプリングレートを変える場合は整数倍にすると劣化が少ないかも。
- 音声の遅延対策
x264guiEx 2.05以降は、ディレイカット機能を使えば、ほぼ意識する必要なし
http://rigaya34589.blog135.fc2.com/blog-entry-454.html
- 以下はディレイカット機能を使わない場合、
編集前に、音声の冒頭に遅延分をダミーとして追加、編集後に削除。
もしくは、普通に編集した後、映像の冒頭に何か追加。
エンジン=ディレイのサンプル値(フレーム)※周波数にかかわらず常にこの値が出力される。(仕様)
LC=2624
HE=4672
HEv2=5616
ディレイのサンプル値 / サンプリング周波数 = 遅延秒数
例 44100Hz時の遅延秒数=29.97fps時の遅延フレーム数
LC=0.059sec=1.77f
HE=0.106sec=3.17f
HEv2=0.127sec=3.80f
よって、低音質を目指した場合ほど遅延が大きくなるので対策が必要と言える。MG作品なんかをエンコする際に注意。
DirectShow? File Readerプラグインで読み込んでエンコードした動画の音声がエコーになる †
MP4のエコノミー画質が著しく低下する例 †
MP4で800kbps、または600kbp)、29.97fpsの動画をアップロードした際に、エコノミー時の動画が59kbps、119.880fpsとなる場合がある。
これは上記のビットレートとフレームレートでアップロードした場合の、一般的なエコノミー動画よりも、ビットレートが約4分の1で
フレームレートが約4倍になっているために、画質が悪く音ズレなども引き起こす、非常にやっかいな不具合である。
アップロードされた動画はsmilevideoによってエコノミー時の動画が自動的に生成されるために、smilevideo側に問題があると思われているが、詳細は不明。
元のMP4のサイズが512*384、29.97fpsの動画にこのバグが起こりやすいが、まれに24fpsの動画でも同様の症状が確認されている。
原因は不明。「可変フレームレート」周りともいわれたが現在は不具合は無くなった模様?
- この問題はSeraphy氏の拡張x264(GUI)のr1376まで提供されていた「初期ディレイカット」機能(x264 r2106現在では--dts-compress)などを使って
可変フレームレート(VFR)になった場合に発生していたものと思われる。
なお、いつ頃からかは不明だが2011年1月の時点で、エコノミー動画の生成方式が変わったことが確認されており、
現在では初期ディレイカット(--dts-compress)を使っても、普通のものとほぼ同程度のエコノミー動画が生成されるようになった模様。
ただし--dts-compressはx264的には好ましくない機能とも言われているので意味を理解した上で自己責任で使用すべきである。参考ページ
Tips †
低スペックPCユーザーのために動画再生時の負荷を小さくしたい †
- BaselineProfile?(Bフレーム無効・CABAC無効)にするとVP6並の負荷になる。
ただし圧縮効率(画質)も下がるので、どちらか一方は有効にするとバランスが良いかも。
どちらを無効にした方が良いかは映像の内容によって異なるので、自分でテストしてみる。
- fpsは高いとその分デコード負担が増える(60fpsなら30fpsの倍かかると思ってもいい)。
- 解像度が大きい程デコード負荷が増える(512x288より512x384の方が負荷が大きい)。
- よって512x288動画を黒べたで512x384にすると無駄な負荷増になるので注意。
- プレイヤーの「コメントを自動受信する」にチェックが入ってた場合、オフにすると再生負荷減。
MP4をツールで解析する †
エンコードは終了したけどうまく再生できないといった場合、質問する前にまずは解析ツールで調べてみて下さい。
特に質問したい場合、解析ツールでの調べた結果も貼り付けると、答える側が答えやすくなります。
- MediaInfo GUI
- H.264のエンコードオプションも、表示を「ツリー」以外にすれば全て確認できる。
- AVInaptic(本家、英語解説)
- イタリア語/英語ツール。しかもLinux系ソフトをcygwinによるWindowsエミュレーションで動かしている (?) ので、全角文字の非表示など操作性に難あり。しかしとても詳細な解析データを得られる。H.264のエンコードオプションも全て確認できる。
- 真空波動研Lite(または真空波動研)
- 和製コーデックチェッカー。よく使われてはいますが、H.264の解析ツールとしてはあまり役に立ちません。
音声AACをNero Digital Audio 1.5.3.0のAAC-LCで作成すると、(音声自体は正常なLCのようですが)Neroの作成するヘッダーはおかしく、それを真空波動研は厳密に解析するためLCではなくHE (LC) と表示されます。
音質について †
192Kbps以上320kbpsまでの音声重視映像の場合はH.264よりもVP6のほうがいいでしょう。
参考
※現在は改善されているのでVP6に拘る必要はない。
※aacでもneroエンコーダで96000Hzにて最大1080Kbpsを確認しています。
ここで入力した値は上限値(VBR)であり、実際のビットレートは
元ファイルのピークビットレートに依存します。
(例えば固定320Kbpsで作成した1分の音声データの1秒あたりの最大データ量が182Kbpsだった場合は
600Kbpsで設定したaacのビットレートは182Kbpsになる。)
96000Hz(スタジオ音質)は現状ではWMP11およびaviutlが未対応なので
neroAacEnc?.exeでコマンドラインエンコードする必要があります。
neroAacEnc?.exe -if <インプットファイル名> -of <アウトプットファイル名> -lc -br 600000 -2pass
でエンコード後muxしてください。
※320kbps以上は自作楽曲などの公開で、
オリジナルが無圧縮waveやflacなどのロスレス形式以外の場合は320kbpsで十分です。
どうしても生音に近い音で聞かせたい場合にどうぞ
muxにはMP4Box.exeやフロントエンドのyambを利用します。
MP4Box.exe -add "Video.mp4"#video -add "Audio.aac"#audio -new "Movie.mp4"
また、ニコニコ動画で再生可能なaacには5.1chや7.1chなどのマルチチャンネルにも対応しています。
注意:現状2.1ch以上のマルチチャンネルにFlashPlayerが対応していないため、
FlashPlayer(ニコ動)経由での再生は2chにミックスダウンされて再生されます。
※AACにはbit深度(bit depth)という概念はありません。
コメント †
(コメント/aviutl_h264,15,below)