AviUtlを使ったVP6 2pass
| AviUtl最終更新日 | 現行の最新バージョン |
| 2008/8/30 | version0.99f |
目次
1.準備 †
- ニコニコ動画(夏)から、一般会員にもH.264が開放されました。多くの場合FLVより手順が少なく、特定の場合を除いておおむねFLVより高画質を得やすいため、特にFLVでエンコードする必然性が分からないという場合にはH.264がおすすめです。H.264でのエンコードはaviutl_h264を参照して下さい。
- 当然だけど、ニコニコ動画に投稿したい動画は自分で用意しましょう。動画の作成から始めたい、という人は動画の作り方ページなどを参照して下さい。
1-1.必要ソフト・プラグインの準備 †
- 以上を理解した上で、各種ソフトウェア・ツール類をダウンロードしましょう。
- 以上を必要に応じて展開・配置、インストールしておきます(LIFE&Lameは下記手順7のMP3作成で説明します)。その他のAviUtl関連フィルタはICZの剣を参照すると多分楽です。
1-2.フィルタ・入力プラグイン順序の設定 †
- AviUtlを起動してフィルタ順の設定を行います。メニューから [設定] → [フィルタ順序の設定] → [ビデオフィルタ順序の設定] を開き、「Lanczos 3-lobed拡大縮小」が「画像回転」より上に来るように並べ替えます。
- AviUtlに慣れてきたら、状況に応じて色々なフィルタを追加してみよう。その他のフィルタ順の参考例は次の通りです。
※NR
| 【AviUtl フィルタ順設定おすすめ】(状況によって変更すること) |
| 1 | クロスカラー削除 |
| 2 | ドット妨害低減 |
| 3 | インターレース解除系フィルタ |
| 4 | 最優先的重量級系フィルタ |
| 5 | 時間軸NR系フィルタ |
| 6 | 3DNR(時間軸NR+2DNR)系フィルタ |
| 7 | 2DNR系フィルタ |
| 8 | クリッピング系フィルタ~リサイズ系フィルタ |
| 9 | 弱いNRなどで微調整系(リンキング削除など)フィルタ |
| 10 | シャープ系フィルタ |
| 11 | 色調補正系フィルタ |
- 入力プラグインの順番によって読み込めないファイルや2GB以上のAVIが扱えないなどあるのでプラグインの順番も重要です。[ファイル] → [環境設定] → [入力プラグイン優先度の設定]を開き、順番変更します。
| 【AviUtl 入力プラグイン順おすすめ】(状況によって変更すること) |
| 1 | AVI/AVI2 File Reader | AviUtlに付属 |
| 2 | Wave File Reader | AviUtlに付属 |
| 3 | AVI File Reader ( Video For Windows ) | AviUtlに付属 |
| 4 | MPEG-2 VIDEO VFAPI Plug-In | |
| 5 | AviSynth?スクリプトリーダー系プラグイン | |
| 6 | VFAPI系プラグイン | |
| 7 | DirectShow? Filter系プラグイン | |
- 上記含む各種環境設定は変更したらAviUtlの再起動をしないと反映されません。
2.リサイズと黒べた †
- [フィルタ] → [Lanczos 3-lobed 拡大縮小] にチェックを付けます。その後、[設定] → [Lanczos 3-lobed 拡大縮小の設定]を開き、読み込ませたい動画が4:3なら右下のところに512×384を入力、16:9なら512×288を入力して、すぐ左にある [指定->] ボタンをクリックします。そしてウィンドウ右上にあるチェックボックスにチェックを付けます。16:9の場合、アスペクト比を4:3から16:9に変えると512×288サイズのままアップロードできます。
- [設定] → [サイズの変更] で「なし」以外を選択している場合、この設定はLanczos 3-lobed 拡大縮小が有効でもそれを無視して最優先処理されるため、Lanczos 3-lobed 拡大縮小は全て無効になってしまいます(排他的関係)。
- 原版が黒ベタ付きでアスペクト比が狂っている場合(元々16:9と思われるなら)、クリッピングフィルタで黒ベタ部分削除し、Lanczos 3-lobed 拡大縮小で512×288にします。
- フィルタ順も当然クリッピング&リサイズ系の中での順序は上から1、2でないと上記の説明の通りに処理されないので効果が現れません。
- アスペクト比、ピクセル比の調整は画面にまん丸のモノが写ってるコマで調整するのが基本です。Lanczos 3-lobed 拡大縮小のオプションでSSE2 整数がフィルタ作者推奨設定。
3.上下反転 †
- 忘れがちな重大項目です。ビットレートは多少設定をミスっても妥協できますが、これを忘れるとエンコし直し確定です。
- [フィルタ] → [画像回転] にチェックを付けます。その後、[設定] → [画像回転の設定]を開き、[上下反転] にチェックを入れ、ウィンドウ右上にあるチェックボックスにチェックを付けます。
- 上下逆さまなAVIを出力するのは「8.FLVへの変換」でFLV_ffmpegmux_D&D.batを使ってFLVファイル化する時に反転出力してしまうので、その対策です(正確には、FourCCをVP62からVP6Fに変えると上下反転します)。このFLV化での反転はフラッシュビデオの仕様のため、回避不可です。
4.バッチ登録 †
- いよいよメインです。バッチ登録時の設定により動画の良し悪しが決まります。
- AviUtlで、[ファイル] → [開く] でエンコードしたい動画を開きます。
- WMVを読み込ませる場合は以下の手順で行うと良いかもしれません。
- [ファイル] → [開く] を選択し、【ファイルを開く】ウィンドウの右下から [fps変換無し] を選択してWMVを開く。
- [その他] → [ファイルの情報] を選択すると【ファイルの情報】ウィンドウが表示される。
- 「フレームレート」が何fpsになっているかを確認したら [OK] ボタンをクリック。
- 再度、[ファイル] → [開く] を選択。
- ウィンドウ右下から、先ほど確認したフレームレートを選択してWMVを開く(確認したフレームレートが24.000fpsなら24fps、30.000fpsなら30fpsといった感じで)。この開き方であれば、WMVからFLVへの直接変換での固定fps化失敗による映像時間のズレや音ズレ、内部fpsデータ異常あたりの問題はほぼ起きないはず。
- またWMVは、WMV → 未圧縮&可逆圧縮ファイル → VP6を推奨します。WMV→VP6は1pass目の進捗率99%で止まる可能性高いためです。
- [ファイル] → [AVI出力] を選択すると【名前を付けて保存】ウィンドウが表示されます。[ビデオ圧縮] ボタンをクリックし、「圧縮プログラム」から[VP62ョ Heightened Sharpness Profile] を選択して [設定] ボタンをクリックします。【VP6 Configuration Window】ウィンドウが表示されたら、次のような感じで。
| Generalタブ内設定 |
| Bitrate | 500(※1 元ファイルにより最適値は変化) |
| Mode | Two Pass - First Pass ←ココ重要 |
| End usage | Local File Playback (VBR) |
| NoiseReduction? | 0 |
| Sharpness | 0 |
| Auto Keyframe | check |
| Max Frames Btw Keys | 300(※2) |
| advancedタブ内設定 |
| Undershoot | 85 |
| AdjustQuantizer? | チェックボックス→オン |
| Minimum | 4 |
| Maximum | 63(※3) |
| TenporalResampling? | チェックボックス→オフ (基本的に使うべきでない) |
| DownWatermark? | 20 |
| SpatialResampling? | チェックボックス→オフ (基本的に使うべきでない) |
| DownWatermark? | 35 |
| UpWatermark? | 45 |
| TwoPassSectionDatarate |
| Valiability | 70 |
| MinSection? | 40 |
| MaxSection? | 400 |
と設定し [OK] ボタン → [OK] ボタン。戻ったウィンドウで [音声無し] にだけチェックを入れた状態にし、ファイル名を「1st_Encode」等分かりやすい名称にしてから [バッチ登録] ボタン([保存] ボタンではありません)をクリックします。
- ※1
このbitrate設定の目安は40MBで使用できるビットレート早見表を参照するとなんとなくつかめるはずです。ただし、2007/08/21あたりのニコニコ動画のメンテで、以前の経験則による検証値、実ビットレートの最大値とされていた656.384kbpsが不可になった可能性があります(実ビットレート656.304kbpsでアップ成功の例があります)。
- ※2
Max Frames Btw Keysはシークポイントを入れる映像フレーム数の間隔を設定する項目で、基本的にはfps値のx5、またはx10を推奨します。仮に30fps動画で300なら10秒毎にシーク可能、30なら1秒毎にシーク可能になります。この数値を30のように小さく設定すると細かくシークできますが、300のように大きく設定するのに比べかなり容量を使うので、狙ったビットレートにするのは難しいことを覚悟するようにしよう。通常15分以内の動画だとMax Frames Btw Keysは5秒毎位(フレームレートx5の数値)、25分前後でMax Frames Btw Keysは10秒毎位(フレームレートx10の数値)、それ以上の時間の動画の場合10秒~30秒毎位(フレームレートx10~x30の数値)でMax Frames Btw Keysを設定すれば良いと思います。長時間動画だとしても60秒以上とかのシークポイント設定は実用的には使い勝手はよくありません。シークポイントにデータ容量を回したくない人はMax Frames Btw Keys=9999のように極端に長く設定すればいいでしょう。
- ※3
この「AdjustQuantizer?」のMinimum&Maximumの数値はエンコード時ビットレート指定をどれだけ無視するかに非常に影響あるので気をつけましょう。通常Minimumは4~8位、Maximumは56~63位が品質&圧縮率では効率が良いです。Minimum(画質の最低ライン)の数値を16~32のようにデフォルトから増やし、Maximum(画質の最高ライン)の数値は56~63のままだと容量を減らせますが、画質が元ファイルに比べ大幅に犠牲になります。またMinimumの数値は4~8のまま、Maximumの数値を16~32のようにデフォルトから減らすと画質は元ファイルに近くなるがビットレート設定を無視して容量が大幅に大きくなります。
- ※その他
設定項目の意味はBALBAL NETに詳しくあります。BALBAL NET TOPページ→MOVIE→「エンコード紹介ページ」内「動画エンコード」の項目の「CODECの設定」カテゴリの所にある「VP6を使う」という所が説明ページです。
- ウインドウが閉じたら再び [ファイル] → [AVI出力] を選択して【名前を付けて保存】ウィンドウを表示させ、[ビデオ圧縮] ボタンをクリックし、「圧縮プログラム」から [VP62ョ Heightened Sharpness Profile] を選択して [設定] ボタンをクリックします。今度は
| Generalタブ内設定 |
| Mode | Two Pass - Second Pass - Best Quality |
とだけ変更し(他は弄ってはいけません)、[OK] ボタン → [OK] ボタンの後、[音声無し] にチェックが入っているか確認し、ファイル名を「2nd_Encode」等分かりやすい名称にしてから [バッチ登録] ボタン([保存] ボタンではありません)をクリックします。
- [ファイル] → [WAV出力] を選択すると【名前を付けて保存】ウィンドウが表示されます。[音声圧縮] ボタンをクリックすると【サウンドの選択】ウィンドウが表示されるので、「形式」を [PCM] にして「属性」を [44,100Hz] [22,050Hz] [11,025Hz] のどれか好きなサンプリングレートを選択(これ以外のサンプリングレートだと、後でAVIとMP3を結合してFLVを作るときにエラーになります)して [OK] ボタンをクリックします。[再圧縮無し] にチェックが入っていないことを確認し、ファイル名を「3rd_Wave」等分かりやすい名称にしてから [バッチ登録] ボタン([保存] ボタンではありません)をクリックします。
- サンプリングレートは44,100Hzが無難です。PCMwaveで出力する時点でサンプリングレート11,025Hzを選択するメリットは基本的に見当たりません。PCの再生周波数は特性上サンプリングレートx0.5Hzまでの実周波数が上手く記録復元されます(それ以上の実周波数帯は折り返し雑音化するので大抵自動除去されている)。元の音源が44,100Hz以上のサンプリングレート(48kHz,96kHz,192kHz)のをリサンプリングでPCMwave化した場合、サンプリングレート44,100Hzで実周波数帯域22,050Hzまでを記録復元可能で音質上限はCD&MD並、サンプリングレート22,050Hzで実周波数帯域11,025Hzまでを記録復元可能で音質上限はFMラジオ並、サンプリングレート11,025Hzは実周波数帯域5,512Hzを記録復元可能で音質上限は公衆電話並と考えれば良いでしょう。逆にサンプリングレート11,025Hzの音源を44,100Hzでリサンプリングしても、電話音質がCD音質になることは不可能です。
- AviUtlのバグで、WAV出力をすると長時間動画の場合音ずれする可能性があります。秒数が動画と一致していない場合は100%音ずれするので、別ソフトを利用してWAV出力をしましょう。
5.エンコードの開始 †
- [ファイル] → [バッチ出力] を選択すると、バッチ登録した3つが並べられていると思います。[開始] ボタンを押すとエンコードが始まりAVIファイルとPCMwaveファイルが出力されます。めちゃくちゃ時間がかかるので、出かける前や寝る前などに実行するのが良いでしょう。「バッチ出力終了時に」から [ウィンドウズをシャットダウン] などを選択することもできます。
- 初挑戦時は10~20秒程度のファイルで練習推奨!長い動画は編集ソフトで切り取りましょう。
- 1pass目 → 2pass目 → wav出力 と、3つのバッチを登録しているのでめちゃくちゃ時間がかかります。気長に待ちましょう。CPUの性能にもよりますが、AthlonXP 2500+での場合、元ファイル → AviUtlのフィルタ掛けまくり → VP62Avi化 だとアニメ本編1本約25分が1pass目7~9時間、2pass目17~21時間とか掛かることもあります。気が短くて、バッチ出力の [中断] ボタンをクリックすると、ここまでの苦労も水の泡、また最初からやり直しなので落ち着いて待ちましょう。
- AviUtlでWave出力したPCMwaveファイルに、まれにプチプチのノイズが混じる場合があります。その場合は別のソフトウェア等で音声を分離抽出することを考えましょう。
- バッチ終了時に作られるファイルは次の通りです(4に設定した通りと仮定する)。
- 1st_Encode.avi : 1pass目なので容量小。再生不可。
- 2nd_Encode.avi : 2pass目なので容量大。再生して上下反転してることを確認しておこう。
- 3rd_Wave.wav : 音ファイル。上手く変換できていない場合、単独でバッチ作業すると上手く行きやすい。
6.WAVEファイルの加工 †
7.音声mp3作成 †
- Windowsのデフォルト設定でMP3を作成しようとすると「56kbps 24,000Hz」制限が入ります。高音質を狙うならLameACM等で上限突破しよう。
MP3の56kbps制限をなくす (LostTechnology)
| LameACMのインストール手順と注意 |
| 1 | Windows復元ポイントを作っておく。 ※推奨 |
| 2 | LameACMを拾って解凍する。 |
| 3 | LameACM.iniを右クリックして [インストール] を選択する。 |
| 4 | エラーが出たらインストールに失敗。手直しが面倒臭いので復元ポイントにロールバック。ダウンロードミスが考えられるので、1バージョン前のファイルを拾う等工夫してみてみる。エラー出なければインストールは成功。 |
| 5 | AviUtlを開きWAVエンコード設定を行う。 |
| 6 | LameACMというメニューか、MP3-Layerの部分が拡張されてればOK。 |
| 7 | 以降、AviUtlから好きなだけ高音質設定を掛けることができる。 |
- LameMP3エンコーダ
Lame Ivy Frontend Encoder(通称LIFE)
LameACMコーデック
をインストールします。
- LameACMのインストールは、LameACM.infを右クリックして [インストール] を選択します。
※LameMP3エンコーダとLIFEでMP3を作る場合、LameACMのインストールはいりません。
- LIFEを起動し、先ほど出力したWAVを自分の好きなビットレートにエンコードします。
- [ツール] → [オプション設定] で【LIFE - オプション設定】ウィンドウを開く。
- 「LIFE設定1」タブ内で、「LAMEフォルダ」からLame.exeのあるフォルダを指定する。
- 「MP3設定1」タブ内で、「ファイル出力先パス」から [入力と同じフォルダ] を選択、「サンプリングレート」から [44,100 Hz] を選択し、[CBR](固定ビットレート)ボタンか [ABR](可変平均ビットレート)ボタンをクリックする。「エンコード速度」から [0↑高音質] を選択(エンコードに時間かかるが、その分同ビットレート時、品質は上)。
- 「チャンネルモード」から [ジョイントステレオ (JS)] を選択。
- VBRはファイルサイズを予測しにくい上設定が大雑把なため、ABRの時よりも狙ったファイルサイズにするのに別設定で複数回エンコードすることになる。
- ABR時、「最低ビットレート」の「Ster.」は、32kbpsあたりで。無音部分が多い場合もっと下げても良い。目標ビットレートを1kbps単位で指定。あくまで目標値&実ビットレートは違う可能性大。大きくするとファイルサイズも大きくなる。「最高ビットレート」の「Ster.」はABR時の割り振るビットレートの上限値を。大きくすると音質は上がるがファイルサイズも大きくなることもある。
- 設定後にAviUtlでWAVE化した音声ファイルを選んで、ファイル→1曲変換で個別に、全曲変換でまとめてエンコード。
8.FLVへの変換 †
出力されたAVIとmp3を バッチファイルセットの中の FLV_ffmpegmux_D&D.bat にAVI&MP3の2つ同時に選択してドラッグ&ドロップする→完成!
- 上記の工程で2つのウィンドウが開くような作業を行っていたら失敗してます。D&Dに成功したら開くのは1つ。
- FLV_ffmpegmux_D&D.batにD&DするAVIファイル&MP3ファイルは「半角英数の同じファイル名」にするとファイル名によるトラブルはほぼない(例えばgousei.avi&gousei.mp3など拡張子のみ別の同名ファイル)。
- D&Dした際に出る最後の数値が 650kbpsを超えていなければ、ほぼニコニコでアップ失敗にならない(実ビットレートはこのコマンドプロンプト上表示に+2~+5kbps位上乗せされた数値になることが多いため)。出力されたFLVファイルの実ビットレートを確認して容量40MB未満かつ 656.384kbpsを超えているならAVIかMP3のどちらかの元ファイルをエンコードし直して、制限範囲内になるように調整する。ただ実ビットレートを確認して、容量40MB未満かつ 656.384kbps未満ならほぼニコニコ側で再エンコードされないはずだが、まれにアップ失敗にされてしまうこともある。その場合同じファイルで再投稿で通ることもあれば、ファイルの頭1フレームでも削ると通ることもある。その正確なアップ失敗のエラー分岐条件は現在不明。
- 実ビットレート 656kbpsだとほぼ1分 5MB弱 使うので 約8分31秒未満の動画でないとこのビットレートではニコニコには投稿が失敗する。
- 2007年8月下旬のメンテ辺りから、ビットレートチェックが強化された可能性有り。
- 2007/09/03時点、656304bpsで投稿成功、647921bpsで投稿失敗という例有り。その他の再エンコード例などはエンコード設定の再エンコ対処法にあるので参考に。またエンコード系質問?を適当に集めた所&エンコード設定あるある質問箱も参考に、FLV_ffmpegmux_D&D.bat関連のQ&Aもあります。
Tips †
- ノイズリダクション(NR)
使わなくても何ら問題はないが、VP6エンコードの前にAviutlでノイズリダクションをかけておくと、ソースによっては、画質が向上したり、エンコード後のサイズを小さくする事ができる・・・っぽいのでこの項目を作成した。おすすめのフィルタや、アニメ向けの設定、ゲーム向けの設定、実写向けの設定などあれば書いて下さい。
- 概要:ノイズリダクションは、映像信号に入るノイズを除去する目的のフィルター。アナログ地上波、録画から時間の経っているビデオテープなど、ノイズの入りやすい映像を美しく見せるのに威力を発揮する。しかし、ノイズを取り除かれた映像は、凹凸を失ったようなのっぺりした表現になりがちとなる。もとより凹凸の必要がないアニメなどには逆にこの効果はありがたいが、実写系の映像にかけると細かなキメがつぶれて不自然さが出てくる。ノイズの入っていない映像にかけても当然無意味だ。キメがつぶれるという性質を逆手に取れば、強くかけてサイケな映像を作ることもできるかも知れない。
- マルチスレッド対応CPUでVP6エンコード時間を短縮するAviutlを多重起動して2本同時にエンコードをする。より多くのメモリが必要。また、出力元と出力先でHDD分けたほうがパフォーマンスは良い。ただし2passの場合はSettings - First Pass Fileの出力先を動画毎に別々にしないと解析ファイルがかぶって上書きされてしまいろくなことにならないので注意。
- ニコニコ動画における動画表示の正確な仕様
アスペクト比を保持したままで512x384の中で最も大きく表示される。つまり「幅が512」「高さが384」のどちらかを満たせば縮小されたり拡大されたりしない。要は動画のサイズが512x192や256x384でも通常時は何ら問題ない。ただしこの一辺の長さは16の倍数にしないとvp6の仕様で概ね表示がおかしくなる。またエコノミーモードでは強制的に320x240か352x200に再エンコされるのでアスペクト比が変更される諸刃の剣。
- 特殊な例における動画サイズ設定
nesやsnes等のエミュの動画を元の画面サイズ(256x240等)からわざと変更しないで作成し、画質の向上を計る方法がある。画面内の色数を無駄に増やさない事や60fpsを維持する目的もあり、512x384にエンコするより出来上がりが良質になる場合が多い。
コメント