さて,先日 Campaign 2 で「キャンサ グランドマスター カートグラファー」の称号をゲットした Guild Wars ですが.その後 Campaign 3 を進めておりました.
しっかし C3 は C2 とは比べ物にならない面白さ.C2 はミッションもクエもひたすら強い敵がぼっこぼこ出てきてひたすら倒すだけって印象だったのだけど,C3 はどちらも色々と趣向を凝らしてあって C1 の正常進化型って感じ.C2 は何だか「手ごたえあるのとやたらな高難度を履き違えたよくあるクソゲー」の匂いがしてたからねぇ.
C3 のミッションは,単純に戦闘するだけのものから,中には戦闘がほとんどなくてパーティ会場で酒を飲んだりパントマイムを楽しんだりするものまであって,クエストも NPC の人食いモンスターに餌をやる(人型の敵をある程度弱らせるとモンスターがぱくっと食うw)とか,かなりバラエティに富んでいて楽しかった.
で,まぁ火力も耐久力も回復力も色々と心許ないプレイヤキャラで,また友人の手助けを得て,最後のミッション 3つくらいを立て続けに Master クリア.見事に Campaign 3 をクリアできました.ありがとー.このお礼は焼肉でw
というわけで,しばらくは C3 の残りのマップ拡張をやって暮らそうと思います(ぉ
「イロナ グランドマスター カートグラファー」を目指せ.ちなみにクリア時点でのマップ拡張率は 83% くらい.C2 と違って通常エリアの敵の強さがほどほど何とかなる範囲内なので,地道にやっていきましょう.
がんばろー.
っていう.
片方は TMPGEnc + x264vfw で出力,他方は TMPGEnc + Huffyuv で出力したものを x264cli で圧縮.オプションは VFW 版の出力に埋め込まれるデータを元にほぼ(というか完全)同じになるように設定.
……で.まぁサイズから何からほとんど同じになるのはいいとして,x264 AVI 出力時間と Huffyuv 出力時間 + x264cli エンコ時間,を比べると後者の方が 1h くらい長い.Huffyuv 出力は時間かかってるなぁ.サイズでかいからなぁ.
で,エンコ結果を比べてみると,I/P/B 比率だとか,B の 1スライスのサイズだとか,ほとんど完全に一致しているね.ということは,VFW でも B フレーム使ってアレコレとかきちんとやってるってことかしら.ことなんだろうな.当然っちゃ当然なんだけど.
ただ VFW 版のが何故か 4フレーム短くなってる.って「何故か」とか書いてるけど説明はつく.
bframes=3 でエンコしているのだけど,これだと最初の B フレームを出力する前に最低でも 2フレーム先まで読まないとデータが確定できない.
VFW の「1 in, 1 out」の法則に対応するための方法のひとつとして,「B が確定できるまでダミーフレームを吐いておく」というやり方があって,この場合は 2フレーム分をダミーで吐く,
んでずっと 2フレーム遅れでデータを吐き続けて,本来なら最後に 2フレーム余分に出したいところなんだけど,「1 in, 1 out」により最後の 2フレームは出力されることなく /dev/null 行き.
で,マルチスレッドのスレッド数 2 なので,合計 4フレームが消失っと.うん,筋は通るな.
……そうすっと,VFW 版は音声が 4フレームずれて記録されてるんだろうか? サンプルに使ったのが「新・刑事コロンボ」の録画で,これ音声が吹替えなので,リップシンクとかほとんどあてにならない.これはサンプル選びの失敗といえるw
なので,ひとまず .mp4 ファイルを音声波形表示付きでフレーム単位で比較してみたが,きちんと合ってる模様.てことはつまり,(1) TMPGEnc が VFW からのダミーフレームを出力しない,(2) MP4Box がダミーフレームを(ry,(3) ffdshow が(ry,のどこかでうまいこと処理されてるってことなのかしらん?
まぁそういうわけで,結局 CLI 版と VFW 版の出力の違いは,最後の最後で 4フレームが失われるかどうかって点のみな模様.
これねぇ……気にする人は気にするんだろうけど.4フレームというと,今回のコロンボは 24fps なので約0.17秒.まぁコロンボはラスト 1秒前くらいに暗転なんで気にならない.
普通の番組なら 30fps ということは 0.13秒.あたしの録画する番組のほとんどはモータスポーツ番組で,これが問題になりそうなものは今までにほとんど見たことない.ありそうといえば,カメラ切れる前に川井チャンが何か叫ぶ「F1GPニュース」くらいなものかw
うーん.うーん.とりあえず当面は VFW で行こうって路線でいいかなーと思いつつ.
ってかなり昔の曲でけっこう好きだったんだけど,なんか最近女性ボーカルでカバーされてるらしくて USEN でけっこうかかる.
で,これが……「ちょうどサビのところで転調して低くなる」という超意味不明なアレンジが入っていて,かかるたびにカクッとする……
どうにかなりませんかねこういうのw
PV3 で録画した Earth DV 形式を TMPGEnc で CM カットして,x264vfw で H.264/wav の avi にした後,それを MP4Box で分解してから,wav を faac で AAC に変換して再度 MP4Box で mp4 にパッケージしなおす.
……という,とても無駄が多いやり方なのはなぜかというと,CM カットに関しては TMPGEnc のシーンチェンジ自動検出が非常に秀逸だからであって,AviUtl で色々と手数をかけた上に TMPGEnc より使いにくいとか耐えられないわけですよ.つか世間の皆さんよく AviUtl とかで CM カットしてるもんだなぁ.もっと設定とか詰めれば使いやすくなるのかなぁ.
で,TMPGEnc だから出力は VFW で AVI 出力になるわけだが,以前にも書いた通り x264vfw はそもそも前方参照 B フレームに適合しない VFW のフレームワークで無理やり x264 を動かしてるような感じでビミョーにきもちわるい.
というか,x264vfw がその辺をどうしてるのかよく判らないのがきもちわるい.B フレームを使うと AVI 形式へのパックで問題がある,という点まではどこにでも書いてあるんだけど,じゃそれを無理やり使うとどうなるのか?……(1) Bフレームが後方しか参照しないようになる,(2) 前方も参照するんだけど出来ないのでデコーダがうまいことシカトして後方の情報だけから画面を作る,あとどんなんがあるかなぁ……
で,やはりここは CLI 版の x264 を使いたいところなんだけど,そうすると TMPGEnc の CM カットが使えなくなってしまうというジレンマ.うーん.どうすればいんだー.
ということで思いついたのが,TMPGEnc で CM カット → ロスレス(あるいはそれに近い)コーデックで AVI 出力 → AviSynth とかで x264 でエンコ,ってルート.
ってことで,この「ロスレスコーデック」ってのがポイントなわけで.というのもさー,ただでさえ H.264 エンコに時間かかるわけだから,ここにあまり時間かけたくないのだが…… Huffyuv とかいくつか見てみても,やはりこのステップに実時間 1倍くらいを必要としてしまうようなのだな.H.264 で実時間 2~3倍(HD だと 8倍以上)とかかかるわけで,ほとんどまる 1日中エンコが動いてることになってしまう.しかもバッチで放置でなく 1本ごとに手が必要っていう……
うぅ,めんどくせえなぁ.やっぱ,TMPGEnc での CM カットか,VFW を使わない出力か,どちらかを諦めねばならねーのかなぁ……