Windowsムービーメーカーで作ったファイルを綺麗にニコニコ動画でUPする方法

Microsoft Windows XP : Windows ムービー メーカー 2.1 ダウンロード
http://www.microsoft.com/japan/windowsxp/downloads/updates/moviemaker2.mspx
と言ってもまだまだ研究中です。コメントとかもらえるとうれしいです。

酔拳の王 だんげの方 MAD講座&ツール

MAD系記事まとめました
フリーソフトのインストールは自己責任でお願いします。

はじめに なぜ汚く見えるのか

 ニコニコ動画SmileVideo)にアップロードされたFLV以外の動画ファイルは、ニコニコ動画により「on2VP6と言う規格のFLVファイル」にエンコード(≒圧縮)されます。 このときニコニコ動画側で「320×240」の大きさにリサイズされます。でもニコニコ動画の画面サイズは「512×384」で表示されます。そのため拡大表示になってしまい見た目が汚く見えます。


 これを回避するためには、アップロード時点で「512×384サイズのon2VP6のFLVファイル」を作成してあげれば再エンコードされることは無く綺麗なファイルがアップロードできます。 以下はその方法です。
※ようつべはFLV1と言う規格のFLVファイルです。

1パスと2パスの違い

1Pass エンコーディングと2Pass エンコーディング
「1 Pass エンコーディング」とは、ビデオの最初から最後までを1回の作業でエンコードする方法のことです。それに対して「2 Pass エンコーディング」とは、2回の作業でエンコードする方法のことで、1回目にはビデオファイル全体を分析、2回目の作業でエンコードします。基本的には「2 Pass エンコーディング」でエンコードしたほうがビデオファイルの品質はよくなりますが、その分、エンコードに要する時間は長くなります。

Adobe - デベロッパーセンター : かんたん作成!Flash Video 活用講座より


 2パスは一回目は診断・二回目で変換と言う方式なので、設定した値がしっかり反映されるのでニコニコのビットレート制限600kbpsをぎりぎりに攻められる。そのため高画質を追い求める人には必須。 ムービーメーカーで作った奴がそこそこ綺麗に見れればいいかなって人は1PASSでもかまわないのでは。


 2パスの利点 ビットレートが綺麗に収まりやすい。 制限ぎりぎりを攻められる=綺麗
     難点 時間がかかる 


 1パスの利点 時間が少ない
     難点 ビットレートが設定よりオーバーしやすい。その場合、もう一回変換が必要になるため結局2パスと同じ時間がかかる。


VBRとCVR
CBRとVBR
VBR 可変ビットレート 
   ビットレートが場面により変動する。動きの多いところ多くの力を注ぎ、そうでないところを減らし、平均値として綺麗な動画が出来る。しかしビットレートの割り振りで設定した値よりオーバーすることがあるので2パスがある。


CBR 固定ビットレート
   どの場面でも一緒のビットレート。 動きの激しい場面だとビットレートが足りずブロックノイズがのったりする。


ニコニコとしては?
・自分でエンコードするよりビットレートが上がりそうなファイル→音声64Kで30分以上のファイル。
 30分くらいまでなら自前で150Kまで落として、音声のビットレートも下げてあげたほうが綺麗なようです。
 特によく動くアニメはニコニコにまかせるとブロックノイズのりまくりです。


・シューティングなどの動画はぎりぎりまでビットレートを下げてあげるかか、バーなんかを置いて、動いている部分を小さめにしてあげるなどの対応が必要になりそう。

必要なもの

VP6 VFW Codec 6.2.6.0
Lame MP3 Codec ACM インストール ガイド
FLV物置さんのファイルセット vp6set.zip 1パス・2パス両方
FLV物置さんTOP

FLV物置さんが、現在理由はわかりませんがみれなくなっています。そのため補完しておきます。

酔拳フォルダ - Windows Live SkyDrive
MSNにログインしてないと見れないかもしれません。

ニコニコ動画のまとめWikiにある、mencoderのバッチファイルが何をしているかを説明してみる@本の虫: what niconico wiki's mencoder batch file doing?

バッチファイルの解説。 本の虫さんは色々解りやすく書いていてくれているのでとてもうれしい。


その中で気になる記述があったので引用

 -swsオプションで、スケーリングのアルゴリズムを設定してる。現在のところ11種類のアルゴリズムが実装されている。9というのは、lanczosアルゴリズムである。非常に品質のいいアルゴリズムとして有名だ。ほとんどの場合はこれでいいのだが、たとえばドット絵、ファミコンスーパーファミコンなどの動画をエンコードするときは、4のnearest neighborがお勧めかもしれない。もちろん、エンコードする過程でかなり劣化するし、元ソースの画質にも影響されるので、どちらがいいかは、好みの問題ではある。

これはやってみるといいかも。


本の虫TOP
本の虫: mencoderについて説明を試みる

2PASS MEncoder によるお手軽高画質flv作成法(VP6 2pass) @ニコニコ動画まとめwiki

http://nicowiki.com/encode.html#h0119613
ニコニコ動画まとめwikiに書いてある方法を図つきで書いてるだけです。 難しそうに見えるけどやってみるとすごい簡単。


1.SMILEにアップしたい動画ファイルを用意する。
 この場合WMVファイル。(WMV以外のファイルでもいけると思う)


2.エンコードの下準備
 FLV物置さんからmencoder_vp6set.zip を拾ってきて展開
 エンコードしたいファイルが16:9(1280x720)等横長の場合→FLV4enc_D&D_2pass_16:9.bat
 エンコードしたいファイルが4:3(640x480)等の場合は→FLV4enc_D&D_2pass_4:3.bat
 それぞれへエンコードしたいファイルをドラッグアンドドロップします。


3.エンコードの設定
 ドロップするとまず音声部のMP3ビットレートについて聞かれるので、
 適当なレート数値を入れて(例:MP3標準は128)Enterを押す。

ここのレート+VP6のBitreteが600を超えなければOK



続いてVP6の設定画面が出ます。


 設定画面が出たら
 Bitrete → 450 (好きな値で。ただし音声との合計が600kbpsを超えないこと)
 Mode → 「Two Pass - First Pass」←ココ重要
 End usage → Local File Playback(VBR)
 Sharpness → 0
 material→Progressiveインターレース解除)
 Auto Keyframe → check
 Max Frames Btw Keys → 300 キーフレーム間隔の最大値。 300ならシーンチェンジが無くても300フレームごとにキーフレームにするってこと。

A1.240ぐらいにしとけ
A2.昔からキーフレーム間隔は最大で10秒(フレームレートの10倍)が最適と決まっておる
注:キーフレームの間隔が大きすぎるとシーク出来ない、しにくい動画になってしまいます。
  逆に少なくしすぎると、きめ細かいシークができるけど、ファイルサイズが大幅に増える。

ニコニコwikiより。ムービーメーカーだと30FPSだから300でいいのかなあ。


キーフレーム間隔 - Google 検索


 と変更してOKを押します。
 すると2パス目の設定画面が出るので今度は

 Mode → 「Two Pass - Second Pass - Best Quality」
 とだけ変更してOKを押すとコマンドプロンプト起動し2パスエンコードが開始され、同じフォルダに.flvファイルが出来上がります。



 終了時に映像と音声のビットレートが表示されるので、合計が600kbpsを超えてないかココで確認しておきます。
赤字囲みの部分。450で指定したけどちょいオーバーしてる。 音声はしっかり96に入ってる。


 超えてる場合はビットレートを低く設定しなおしてやり直します。
 動きが激しい動画(最近のSTGなど)の場合、ビットレートが指定した値以上に膨らむことがある(倍以上になることも)ので、そうした動画は予めビットレートを低めに指定してエンコードする方が無難です。

  600KBpsを少しだけ超えている(630とか)や40MBをちょっと超えている場合、音声のビットレートに余裕があれば音声だけビットレートを削ってあげると収まったりします。 128→96・96→64とか。 音声が普通に聞こえるビットレートラインは48Kbpsぐらいです。 48Kbps以下にするとタニシが出来ます。


音声の入れ替えなんかの方法は以下。
VP62 FLVファイル 音声の差し替え方法
RichFLV 〜フリーで直接FLVがいじれる珍しいツール。 簡単にMAD作成可能


関連
ニコニコ動画(RC)‐タニシの境界条件に関する考察


4.FLV再生をプレイヤーで確認。
 FLVPlayer,MPC,VLC,MPlayer(MPUI),GOMPlayer等など、再生できる事を確認

MEncoderによる1PASS flv作成法

1.SMILEにアップしたい動画ファイルを用意する。
 (WMV以外のファイルでもいけると思う)


2・下準備
FLV物置さんのファイルセット vp6set.zipをダウンロードして展開。上記の2パスでDLしてるなら、それでOK。
酔拳置き場から1pass.zipをダウンロードして展開。その後mencoder_vp6setフォルダの中に入れてください。


 4:3画質のもの→『  4:3_1pass_FLV4enc_D&D.bat 』にドラッグ&ドロップ 
16:9画質のもの→『 16:9_1pass_FLV4enc_D&D.bat 』にドラッグ&ドロップ

「16:9FLV4enc_D&D.bat」は「FLV4enc_D&D.bat」の変換部分

REM その他フィルタオプション(現状は上下反転+LanczosResize 512x384+resampling44.1khz変換)
set EXTOPT=-vf flip,scale=512:384 -sws 9 -af resample=44100

を↓

REM その他フィルタオプション(現状は上下反転+LanczosResize 512x288+上下に48黒ベタ+resampling44.1khz変換)
set EXTOPT=-vf flip,scale=512:288,expand=0:-96:0:48 -sws 9 -af resample=44100

にしただけ。

3.エンコードの設定
 ドロップするとまず音声部のMP3ビットレートについて聞かれるので、
 適当なレート数値を入れて(例:MP3標準は128)Enterを押す。

ここのレート+VP6のBitreteが600を超えなければOK。1パスでも音はしっかりビットレートどおり出る


続いてVP6の設定画面が出ます。


 設定画面が出たら
 Bitrete → 330 (好きな値で。ただし制限どおりにいかないので小さ目がオススメ。 300くらいでいんじゃないかな)
 Mode → 「ONE Pass - Best Quality」←ココ重要
 End usage → Local File Playback(VBR)
 material→Progressiveインターレース解除)
 Sharpness → 0
 Auto Keyframe → check
 Max Frames Btw Keys →300


OKを押すとコマンドプロンプト起動しエンコードスタート。


終了時に映像と音声のビットレートが表示されるので、合計が600kbpsを超えてないかココで確認しておきます。
赤で囲ってあるところ。 動画のビットレートを330で設定したのに結果は370になってるのに注意!!


 合計が600kbps超えてる場合はビットレートを低く設定しなおしてやり直します。
 2パスでも動きが激しい動画(最近のSTGなど)の場合、ビットレートが指定した値以上に膨らむことがある(倍以上になることも)ので、1パスでそうした動画は予めかなりビットレートを低めに指定してエンコードする方が無難です。


ニコニコ動画(RC) ‐もしも アイドル達が電波紅白歌合戦をドタキャンしたら・・・
http://www.nicovideo.jp/watch/sm609989
上の方法の2パスを使ってWindowsムービーメーカーで作った動画をFLVにしてアップしたもの。社長は尾崎清彦所属事務所の社長さんです。もうちょっと音いじればよかった。 作成時間は一時間くらい。構想5分 データそろえるのに20分。 残りで作成。オンナスキーP氏の社長もかりました。 ありがとうございます。

書き直す前の奴

調べてたらあれだったので大幅というか全部書き直したんですが、その書き直す前の奴。MPG2AVIを使ってます。


酔拳の王 だんげの方 - 消すのがもったいないから一応残しておこう

感想

やってみると以外に簡単。色々調べて自分でやってるとどんどん面白くなってきた。
1PASSをffmpegで行っているのはMEncoderでやるより安定しているから(俺の環境では)です。

超気のせいっぽい。ffmpegなんて使ってねえもんあのバッチwww
ffmpegを使った2パスのバッチも作ってみようかと考えてます。→ないないw
もう一度勉強してから出直してきます。

一応簡単なほうに書き直した。 現在、基本は2パスで1パスって廃れてるからなあ。長い時間かかる奴だとエンコ時間が短くてすむから1パスでもいいと思うんだよね。 中画質でいいって人も結構いると思うし。 


自分の作った動画をだしてるので、ニコニコの名前をだんげにしました。


◆質問等あればコメントください。全部は無理だろうけど解る範囲で答えていきます。


注 自分ははXPについているムービーメーカー2.1です。
  ファイルについては真空波動研Lite で調べていただいて、元ファイルが何なのか書いてもらえれば答えられる範囲が広くなります。