7月 26 2008
三国志大戦演武場動画からニコニコ動画へ
2008/09/13に 三国志大戦演武場動画からニコニコ動画へ・改 という記事を書きました。こちらをご覧ください。
2008/08/31 に少し追記しました。
三国志大戦の動画作成サービス(兼PC会員サービス)である「三国志大戦 演武場」がついに始まりましたね。(早くDoCoMo以外でも始まってほしいです…)
動画は主に身内では zoome で共有しています。200Mまでアップロード自体は可能で、そのままアップしてもおおむね高画質で見れるのでかなり演武場動画向きでオススメです。
でもまあ全公開するモノはニコニコ動画向けに作りたいところ。
このエントリでは、対戦相手の名前を隠す処理を入れつつなるべく手軽に高画質動画を作る方法を考えます。
今回は、AviUtl とそのプラグインだけで処理を行うことにしました。モザイク処理などの定番のひとつに SEffect がありますが、これを使うには AVI ファイルを経由する必要があります。今回は wmv → mp4 ですので、無駄な変換が発生するため避けました。
AviUtl と使用プラグインを以下のサイトから優雅にダウンロードして使用可能にしておきます。結構多いですね。
- AviUtl
- DirectShow File Reader プラグイン for AviUtl – AviUtl実験室 – wmv 形式を読み込むのに使用します。
- アニメーション編集 for AviUtl – AviUtl実験室 – マスク処理等の加工処理
- Lanczos 3-lobed 拡大縮小 – まるも製作所 – AviUtl プラグイン – 画像サイズを 512×384 に変更するために使用します。
- 可変フレームレート出力 for AviUtl – AviUtl実験室
- x264 詰め合わせ – H.264 でエンコードするために使用します。
- neroAacEnc.exe 上記プラグインで使用します。
もし他にも使いたいフィルタなどがあれば入れておきます(本質ではないので省略)。
x264 のあたりはお好みで 別のプラグインを利用してもよいでしょう。
名前を隠す処理
名前を隠す処理(以下海苔処理)は、身内対戦などでない限りは大抵していると思います。相手晒しを防ぐため入れますが、入れないというポリシーはそれはそれでアリだと思います。一番本質的に面倒な処理です。
[フィルタ} - [アニメーション編集[Video]] および [設定] – [アニメーション編集[Video]] のチェックを付けておきます。
このプラグインの設定のため、元動画と同じフォルダに animation.txt という名前のテキストファイルを以下のように作ります。(まだパラメータは試行錯誤中ですが…)
追記: これだと若干はみ出るので、もう少し調整が必要です。(某所にもっと正確のを書かれた方がいます。) 時間ができたら自分ももう少し調整してみたいと思っています。
;最初 - [0-460]
[0-460]
fill(0, 340, 30, 300, 70, 0,0,0)
;mosaic(0,1, 0,0, w,h, 0,0, u*100/4096+1,u*100/4096+1)
;copy(1,0, 340, 30, 300, 70, 340, 30)
;右上
[461-]
fill(0, 380, 5, 200, 40, 0, 0, 0)
;mosaic(0,1, 0,0, w,h, 0,0, u*100/4096+1,u*100/4096+1)
;copy(1,0, 380, 5, 200, 40, 380, 5)
これで最初の武将登録シーン、および対戦中の右上の君主名が激しく黒く塗りつぶされるはずです。
あとは一騎打ちや奥義などのカットイン部分について、この設定ファイルに追記することで処理を入れていきます。
「→」キーを押しっぱなしにしてカットインの場所をさくさく探します。
撤退、計略、攻城、奥義のカットインがあったら、名前が出てくる直前のフレーム番号をメモし、animation.txt に以下の行を追加します。
[NNNN-MMMM]
fill(0, 300, 365, 300, 42, 0, 0, 0)
ここでNNNNとMMMMは海苔を開始するフレームと終了するフレームの数字です。 いちいち調べてもいいのですが、だいたい 撤退・計略は 開始+40 で終了、 攻城なら+50、奥義なら+100としておけばきっとたぶん大丈夫。
一騎打ちは微妙に名前の出てくる位置が違うので、以下のパラメータになります。
[NNNN-MMMM]
fill(0, 340, 340, 300, 50, 0, 0, 0)
2回海苔処理を入れなければいけませんが、それぞれ約100としておけばたぶんOK。
以上のパラメータは趣味や正確さの重視度合いで調整するとよいかもしれません。なにぶん適当なので。:) パラメータの意味を知りたい場合はプラグインのドキュメントに書いてあるので読んでください。
また、モザイクにしたい場合はfill の行の先頭に;を入れて、mosaicおよびcopyの行の;を外します。設定GUIの「u」パラメータでモザイクのサイズが変わります。
サイズを変更
ニコニコ動画で再エンコード無しにするためには横幅を 512px にする必要があります。
演武場動画は 640×480 (4:3) なので、 512×384 にリサイズしましょう。
追記: 今はニコニコ動画の仕様が変わり、特にこの処理は不要なようです。ただ容量の都合で再エンコードされてしまう場合もあり、必要なこともある可能性がありますので、参考までに。
[フィルタ} - [Lanczos 3-lobed 拡大縮小] および [設定] – [Lanczos 3-lobed 拡大縮小] のチェックを付けておきます。
設定ウインドウの右下のボックスに 512 x 384 という数字を入力して、「指定→」というボタンを押せばサイズがぺこっと縮みます。
エンコード
では、ようやく H.264 動画を作成します。 ニコニコ動画の仕様にあわせるため、「総ビットレート約600kbps、40MB以下」になるように設定します。
[ファイル] – [プラグイン出力] – [拡張 x.264 出力(GUI)] を選びます。
ビデオ圧縮 ボタンをクリックすると、設定ウインドウが出てきます。 ここでは「映像」のビットレートを500kbps, 「音声」の方を 96kbps にしました。合計約600kbpsになるようにします。
2pass以上を選ばないと、画質が残念になることがあります。
演武場の動画は長くて8分30秒程度なので、この設定でエンコードすれば40MB以下に収まるはずです。もし収まらない場合は減らしてください。
neroAacEnc.exe の指定、および mp4box.exe の指定はそれぞれのファイルがある場所を指定しておいてください。
設定を決めたら、ファイル名を指定して「保存」ボタンを押せばエンコード開始です。時間はマシン性能次第ですが、お茶でも飲んで待ちましょう。
完成!
エラーがなければ見事に mp4 ファイルができているはずです。40MB 以下で 512×384 なことを確認したら、ニコニコ動画にupして高画質大戦動画の完成です。ぱちぱちぱち。
だいたい自分は1時間くらいの工程でできました。慣れればもっと速くできそう。
お役に立てれば幸いです。




