5年ぶりに(メイン機の)グラボ交換

仕事&エンコ用のメインWindows機のグラボをGeForce GTX260から実に5年ぶりリプレース。CPUやマザーは途中でSandy Bridgeに移行したのに、グラボはそのまま使い続けていました。前エントリで日常エンコにもTMPGEnc Video Mastering Works 5を活用する機会が増えそうなので、これを機に改めて1)CUDAを活用して凝ったフィルタも使ってみようかなぁとか。あと、最近同機が不調で画面が固まったりする(マウスとか時計もフリーズしてるので切り分け不能だけど、ディスクアクセスなんかはそのまま動いてるっぽかったり)のも2)治るといいなという期待、そして5年の進歩で3)消費電力や発熱もさぞ低減されているだろうという期待で。

CUDAなのでGeForce一択。700系が最新ですが、コスパ狙って1世代前の600系で、なおかつ消費電力が64Wと低い650無印でいいや、ってのは割と一瞬で決まりました。その上のGTX650 Tiだといっきに110Wとかいっちゃって動機3)が弱くなるなと。実のところGTX260もCUDAに期待して投資(当時3万位したような)したものの、結局つかいどころがないままだったので、動機1)はまぁ期待半分だったんですよね。

で、GTX650をAmazonでググったところ、DVIが2ポートついてて小型でしかも補助電源いらずってのがあったので、またまた玄人志向のお世話になることにしました。

1385837_10202184370917599_1674972461_n

■とりあえず不調が1つ治った

もう随分前、Windows7の頃からなんですが、コールドブート後にログオン画面になってすぐにログオンすると画面が真っ黒のままになる現象が出ていました。デスクトップアイコンも出ず。マウスカーソルだけは反応するんだけど、結局Ctrl+Alt+Delして一旦ログオフしてから再度ログオンするとOKみたいな。あるいはログオン画面でしばらく我慢してサービス関係がひとしきり起動し終えた頃にログオンする、みたいなおまじない的な使い方をしてました。それが、グラボ交換でサクっと直り、実質のコールドブート時間が大幅に短縮。これだけでもう買って良かったと感激しきりw。

■エクスペリエンスインデックスは微妙

まず構成ですが、CPUがi7/2600K定格。マザーはPCIex Gen3に対応してるんですが、CPUが初期Sandy BridgeなのでGen2までしか使えず、Gen3対応のGTX650の実力が出し切れていない可能性があることをお断りしておきます。

Windows8エクスペリエンスインデックスは7.1->7.2の微妙な差に。実は最初に測った時GTX260は6台だったんですが、ドライバを最新版に更新したらあっさり7.1に向上。そのあとで交換したらあまり変わりないことに。5年前のモデルとはいえ当時そこそこお高かっただけはあるんですかね。

GTX260

・交換前GeForce GTX260

GTX650

・交換後 GeForce GTX650

ちなみにこちらのCUDAの「Compute Capability」という指標をみると、GTX260は1.3、GTX650無印は3.0となっています。よくわからない指標ですが、APIのバージョン的なものではなく、9800GTを1.0とした比率だとしたら倍以上高速なはず。そして現時点で最高が3.5なのでなかなかのはず!

■TVMW5での効果

前提としてエンコード自体にCUDAを使う気はありません。エンコはあくまでx264。フィルター処理が軽くなればいいなと思っています(さすがにCUDAのエンコード画質はまだ保存には耐えないレベルだろうと)。でもまぁものは試しにとCUDAでエンコードさせてみると、同じフィルタ条件下(24fps化動き優先+逆プルダウン(縦縞除去)+リサイズ)で1分ソースが58秒が41秒と短縮されますね。

フィルタでは、通常の「ノイズ除去」程度では全く使ってくれずCPU100%。より演算負荷の高い「高精度ノイズ除去」でようやく20%ほどがCUDAの分担になるようです。処理時間は2分36秒と実時間の2.5倍ほどになるので、あんま普段には使わないかなぁ。ただCPUだけでやったら3分13秒なので効果は出てますね。30秒程度の差ですが、24分のコンテンツなら12分も変わってきます。

更に「スマートシャープ」上乗せどんっ。CUDA使用率は45%に。エンコ時間は2分52秒(CUDA OFFだと3分41秒)。ただまぁスマートシャープかけるなら、aviutl側でWarpSharpプラグイン使った方が仕上がりが好みなので、これもあんまり使う機会ないかな(^^;)。

 

てことで、重ためのフィルタをかけると効果は確実に出るけど、普段使いのレシピだとあまり出番がないかなという印象。CPUをIvy Bridge世代にものにすると、PCIex Gen3が開放されて速くなるかも?という期待がありますが、その分CPUも速くなるからCUDA使用率はどうなんだろとも。いずれにせよ今月はiPadも出るししばらくは手が出ないかな。

TVMW5でロゴ消し

今までMediaCoderをベースにしていたアニメエンコレシピを久しぶりに刷新しました。MediaCoderは様々なフリーツールを裏で呼び出して使うフロントエンドGUIツールで、今まではAviSynthでデインタレと局ロゴ消しをして、x264でmp4にエンコードするというレシピにしていました。MediaCoderは各種パラメーターがGUIで指定できて便利は便利なんですが、いまいち不安定な箇所もあります。最新版が良いとも限らないので迂闊にアップデートもできず、既に治ってるバグもあるかも知れないですが、ウチでは少なくとも、

・カンパしたのに定期的にIDを聞かれるダイアログがでてエンコが中断される

・カンパしたのにブラウザで広告ページが表示されたりしてウザい

・環境設定にFireFoxを使うのだけど、ついにFF最新版ではエラーが出るようになった(MediaCoderも最新版にすればいいんだろうけど、上記理由で勇気が要る)

など。そして、AviSynth(aviutl)によるデインタレ処理のスクリプトが難しく、色々ググってはマネしてみたんですが、単一のスクリプトで汎用性のあるものに仕上げられないでいました。

一方、デインタレでいえばTMPGEnc Video Mastering Works 5(以下TVMW5)で24fps化した方がずっと簡単で安定することはわかってたんですが、こっちは透過合成フィルタがなくロゴ消しができないので、仕方なく上述のMediaCoder環境を使っていた、という感じです(ここ2,3年位)。

それでもiPhoneやiPad、車載モニタで見る分には正直あまり気になってはいなかったんですが、最近は友達と遠隔同期視聴をしたりするので、PCモニタやプロジェクターで再生してやっぱガタガタだなぁ、と思う機会も増えてきたり。もともとチルト(縦スクロール)するカット(確かストパン2のED)がガタガタするのが気になってAvySynthを導入したんですが、気付いてみると最近はパン(横スクロール)がガタガタなのに凹む日々。

連休を使ってレシピの再検討を行いました。以上、毎度長い前振り。

■TVMW5でも局ロゴ消せる!?

なんでもっと早くググらなかったんでしょう。結論からいうとできました。正確にはaviutlで「透過性ロゴ」フィルタをかけただけの編集プロジェクトファイル(.aup)を作り、それをTVMW5にVFAPI経由で読み込ませます。aupファイル用のVFAPIプラグインはaviutlに添付されているので、TVMW5のフォルダに放り込んでやれば認識するので、環境設定画面で有効化してやればOKです。

以下、当面の手順メモです。個々のソフトの細かい操作方法などは割愛します。

・TMPGEnc MPEG Smart Renderer 4でCMカットする

tsを直接aviutlに食わせてたaupをTVMR5に食わせてからカット作業してもいいんですが、最近のTMSR4はCM検出機能とかついて便利なのと、aviutlに生tsを食わせるとGOP検出とかで読み込みに数十秒待たされるので、CMカットは従来通りTMSR4を使うことにしました。HDD容量的には中間のMPEGファイル作らなくて済ませられるのも魅力なんですが作業性優先で。ここで生成されるファイルは、CMカット済みMPEG2ファイル、以下(A)と、(チャプター付きmp4を作りたい場合は).keyframeファイル(B)です((B)は環境設定で自動的に出力されるようにできます)。ちなみに我が家ではここまでは録画機で行います。

・aviutlでロゴを指定して.aupファイルを生成

aviutlに(A)を読み込ませ、チャンネルにあったロゴをセットします。aviutlは最後に使ったロゴを自動的に適用してくれるので、同じチャンネルの番組を連続で読み込ませると作業性が上がりますね。aupファイル(C)は単なるプロジェクトファイルなのでサイズは小さいし一瞬で保存されます。

aviutlのコマンドラインツールとかで上手いことマクロ化すれば、(例えばチャンネル名をファイル名末尾に足しておいて)このaupファイル出力までを自動化できるのかも知れませんが、まだよくわかってないです。aviutlって局ロゴ透過ファイルを作るのくらいしか使ったことないので…

・TVMW5に(C)を読ませる

VFAPIフィルタが正しく設定されていれば、普通にプロジェクトにドラッグとかで一括投入できます。ただしaviutl側でAC3音声を認識できてないせいか、TVMW5側でも音声トラック無しとして読み込まれます。そこで音声トラックとして手動で(A)を再指定します。(A)は映像と音声が両方入ったファイルですが問題なく音声トラックだけが利用されます。またkeyframeファイル(B)はここでは使いません。TVMW5にはキーフレームをiOSのチャプターとして出力するというチェックボックスがありますが、ウチでは機能してないっぽいので(コンテナ拡張子を.m4vとかにしたらいいのかも?)。また、keyframeファイルを読み込ませると、プラグインがクラッシュするっぽいです。エラーダイアログを無視して進めればいいだけなのでサムネイル生成に失敗してるのかな?まぁ鬱陶しいのには変わりありません。

・TVMW5でエンコする

TVMW5もH.264なmp4はx264を使うので、MediaCoderの時と同じです。もともとパラメーターを似せた出力テンプレートを作ってあったのでこれを指定。またフィルタも24fps化(動き優先)や軽くノイズ除去を適用したテンプレート作っておいて一括適用。この辺り、なるべく数をまとめてエンコした方が効率は良いです。

 

単に再生できりゃいいという方ならここまで。以下はチャプターやメタタグ、アートワークなどを一括処理する為の追加レシピです。

・keyframeファイル(B)からiOS用チャプターファイルを生成

自作のdgKeyframe2Chapterというツールを使い、.chapters.txt形式のファイル(D)を作ります。

・各種付随ファイルを統合して、高機能mp4ファイルを生成

iOSやMPCHCでチャプターを認識し、iTunes上で「TV番組」として認識して番組名やエピソード番号、サブタイトルなどが正しく表示され、更にはアートワークまで表示されるmp4ファイルにします。

AtomicParsleyというコマンドラインツールを使えば良いのですが、バッチ処理のためのGUIフロントエンドツールdgMP4Taggerを公開しています。

  • .mp4ファイル
  • .chapter.txtファイル(チャプター情報)
  • .jpgファイル(アートワーク用)

の3つを合成して新しいmp4ファイルを作ります。詳しくはリンク先や同梱のマニュアルをご覧下さい。

 

とまぁ、電子書籍レシピ同様、相当な物好きじゃなけれ
ばマネできない手順ですが、とりあえず自分の記録のために書き留めておきます。新旧レシピの比較としては、

  • パンニングなどのカットが滑らかに動くようになった
  • 動画解像度(?)も上がった気がする
  • サイズが20%程度縮まった!
  • エンコ時間が若干伸びた?(たぶんノイズ除去フィルタの分)

という変化が。今までインタレ解除がヘッタクソだったせいで、何フレームか毎に写真のような混合フレームができちゃっていました。再生ソフトでポーズかけまくってるとこういうフレームに遭遇します。当然圧縮には不利でしょうし、なによりこうした物理的にブレたフレームが混じることで見た目も悪くなります。新レシピだとスペースキー連打しまくってあちこちでポーズしてもこうしたフレームが見当たりません。

mixedframe

実際にはインタレ解除ってもっと奥が深くて、こだわってる人は番組毎、下手するとエピソード毎に最適なデインタレレシピを適用しているようですが、σ(^^)はさすがにそこまでの手間はかけたくありません。なので、TVMR5のそこそこのインテリジェントさにおまかせできるのがこのレシピの最大のメリットですね。また、ソフトとして安定度が上なのも大きいです。複数本のバッチ処理をかけて安心して寝ることができます。もっと早くググってレシピを見直すべきだったと反省しきり。

さて、これで何年戦えるんでしょうね。最近はBDレコーダーやnasneなどでもH.264のハードエンコができるようになったし、iOS端末から直接、しかも外出先からも視聴できるような環境が整ってきています。そろそろソフトエンコの時代でもないだろ、という気も。ただやはりそうしたハードエンコは画質的にはまだ微妙でブロックノイズ等が気になることが多いし、やはりOPスキップなどがフリックでできる拙作「おやゆびでお」+自作ライブラリサーバーの方が快適なんだよなぁ(ステマ)。

OSXでCommand + ] が効かない時の覚え書き

かなり前からですが、OSXで+ ]が効かない問題が発生していました。Command + [は効くし、Commandや]単体では問題ありません。ATOKを切ってU.S.モードにしたり、KeyRemap4MacBookwo切ってみてもダメ。このショートカットはXcodeやSublime Text 2といった開発用エディタでインデント調節に使うので、効かないと地味に苦労。最近のσ(^^)のソースが汚いのは全部これのせいです、、、多分。

で、本日ようやく原因が判明。結論から書くと1Passwordでした。調べ見るとOSX標準ではCommand + [と]はブラウザの進むと戻る動作だったので、試してみると、Command + ]で1Passwordのブラウザプラグインのポップアップが出現。まさかと思って1Passwordアプリを開き環境設定からショートカットをオフ。そしてOSを再起動したら治りました。ブラウザ用のショートカットなのにOS全体でキーイベントを横取りしてやがったんですね。

これで今日から見やすい綺麗なコードが書けます、、、多分。

寝タブレット環境構築

σ(^^)はダラダラする為には努力を惜しまないタイプ。ARROWS Tab WiFiを使った快適な寝モバライフを実現する為の環境整備に着手しました。

σ(^^)は近眼でメガネerですが、ベッドで寝モバする時は(横を向いた時など)メガネをしているとやりづらさを感じます。メガネを外した場合、画面を顔から15cm位に近づけないとピントが合いません。iPhoneやiPadならそれでも良かったんですが、ARROWS Tab WiFiの画面サイズだと左右に広いのでその視距離では画面が視界に収まらず、メガネをかけ、一定の距離をおいた位置に保持する必要があります。これが結構しんどい。

そこで、サンコーの仰向けくねくねタブレットスタンドの登場です!写真の通り、ベッドに取り付けて頭上に固定するスタンドです。しかしこれはこれでまた別の問題が生じます。操作の為に手を伸ばすのがしんどいのです。どんだけグータラだよ!とつっこまれるかも知れませんが、動画視聴くらいならいざしらず、Web閲覧、果ては(常時メッセージ送り連打する)ゲームなんかになると常時写真のように腕を持ち上げていなければならずかなりの負担なわけです。

てことで合わせてワイヤレスマウスも用意することに。ARROWS Tab WiFiは通常のUSB端子がついておらず、付属の変換ケーブルが必要、なおかつその端子も防水キャップの中にあるのでなるべくなら使いたくありません。ということで久々にBluetoothマウス。そしてベッド(布地)の上で使うのである程度光学認識性能が良いこと、またカスタマイズ可能な予備ボタンがあることが理想です。

■Microsoft Sculpt Touch Mouse

そこでチョイスしたのはMicrosoft Sculpt Touch Mouse。LogicoolのDARK-FIELDと並ぶ光学マウスエンジンであるBlue Trackを搭載しつつBluetooth。このいわばWブルーなマウスって少し前まで無かったんですよね。いつのまにか時代は進歩しましたね。

IMG_3127

本機の特徴はホイールのかわりにタッチプレーとがついている点。ここをスリスリすることでホイール動作になります(水平スクロールも可能)。またクリッカブルにもなっていて、先端、中、手前と3ボタン扱いでもあります。先端側と手前側はPageUpとPageDownで固定。中ボタンのみカスタマイズ可能(Widows8ではIntelliPointにかわりMicrosoft Mouse and Keyboard Centerというユーティリティをインストールする必要があります)。

タッチプレートはホイール操作した時にベベベベっと軽い振動フィードバックがあり、往年のクリック感付きホイールのような感触を疑似表現しています。強度も多段階に調節でき、全く無しにもできますが両方試した感じ、軽く振動した方がいいかなという印象。また慣性ホイール的な動作もします。ホイール動作だけみるとなかなか良いカンジです。ただ通常のホイールより幅広な分、左右クリックボタンに置く指をくぱぁっと開き気味にしていなくてはならず、人差し指にやや不自然な力が入る感じがします。慣れるかどうかはしばらく使ってみないとなんともです。

中ボタンはCtrlに割り当てて、テキスト送りが捗りまくりです。また、動画プレーヤーはMPCHCですが、PageUp/Downにn秒送り/戻しを割り当ててこれまた快適になりました。Windowsストアアプリ版おやゆびでおを作ろうと思ってましたが、もうこれで良くね?って気すらしてきましたw。もう開発者登録料払っちゃったんだけどな…

なお、このSculpt Touch Mouse、通常パッケージの品番は6PL-00007ですが、右上のリンクは6QL-00007になっており、「for Business」がついています。これは機能面では差がなく法人向けに簡易包装になってるだけのようです。執筆時点で600円ほど安いので、パッケージなんて気にしないって人は6QL-00007の方をオススメします。

■寝タブレット環境はどうか?

IMG_3131

一言で言うと、アームの長さがちょっと足りない。最初に書いたようにσ(^^)は近眼でかつメガネerなので、この近距離のピント条件がとても厳しい。裸眼だと10cm位に寄らないと見えないけどそれだと画面全体を見渡せない。さりとてメガネをすると遠視点に最適化されているので、近くにピントを合わせるには眼筋の負担が高い。なのでなるべくタブレットを離したいわけですが、本スタンドのベースプレートをベッドのマットレスの下に挟むと、マットレス+枕の厚みがアーム長から差し引かれる事になるので、結構顔の近くに来てしまう。ではとプレートをマットレスの上、枕とシーツの直下に置いてみるとタブレット位置はまずまずなんだけど、やや不安定で少し姿勢を変えるだけでタブレットがゆらーんと揺れてちと不安。ベッド全幅に渡るような板でも買って来てプレートの上に渡してみるとかかなぁ。究極的にはこの30cm位の視距離に最適化したメガネでも作ればいいんだろうけどw。いっそ度調節ができる液体レンズのメガネでも買ってみるとか…

SoftEther VPNブリッジ接続検証 AVアプリケーション編

横浜の自宅と愛知の実家間を光回線(フレッツ光ネクスト、双方IPoEでIPv6接続)+SoftEther VPN ブリッジ接続した状態でどんなことができてるかアプリケーション面を追加検証しました。

SoftEther VPN[公式]は、以前はUT-VPNと呼ばれていた無償版PacketiXの後継ソフトで、近日正式版がリリースされるPacketiX VPN 4.0の無償バージョンに当たるもののようです。同シリーズは通常のVPNでは遮断されるようなローカルネットワーク専用のプロトコルを通すことができるのが特徴です。難しい書き方をすると、EthernetフレームをTCPパケットで包んで伝送し、相手方でまたEthernetフレームとして復元します。速度的なことを別にすれば、あたかも普通のハブで接続しているかのように振る舞えるVPNということです。なので、通常な家庭内LANでしか使えないDLNAや、iTunesホームシェアリング、TimeMachineバックアップ等がVPN越しで使えてしまいます。

またブリッジ(拠点間)接続というのは、一台一台にSoftEtherクライアントソフトウェアをインストールし、都度コネクションを張らなくても、各拠点に1台ずつ稼働してつながっていれば、LAN内のパケットを自動的に中継してくれるという接続形式です。なので、SoftEtherをインストールできないiPhone/iPad/AppleTVなども含めて2拠点のネットワークを丸ごと直結した感じで使えます。いちいち事前に接続操作をしなくて良いのも楽チン。

■DLNAでレコーダーの番組を視聴

横浜のnasneで録画した番組を、実家からPSVita(torneアプリ)とArrow Tab WiFiの「MyCloudビデオ+」であっさり視聴できました。ただし三倍でしか試していません。またPSVitaでは予約操作やライブ試聴も問題なく使えてます。スキップした時にじゃっかんカクつきますが、少し見ていればすぐに落ち着きます。実用上全く問題ない気がします。

DLNA (DTCP-IP)って往復7ms以内の応答速度が使えないって制約があって、わざわざ遠隔視聴用のそれを緩和したDTCP+なんて規格が出始めているわけですが、実家からSoftether経由でnasneにpingを打つと片道28msとかかかってます。それでも見られちゃうもんなんですねぇ。

2013.04.05追記:

実家のBRAVIAからDS1511+のDLNAサーバーにアクセスして、生tsファイルの再生もできました。一方なぜかnasneからは3倍でも再生できず(一覧は見えるけど再生するとエラー)。またAX1000はアクセス制限設定があり試せず。

■iTunesホームシェアリング

PC/MacのiTunes同士の共有。これも問題ありません(AAC/256kbps)。ただ最初に遠隔マシンから曲リストを取得するのに結構待ち時間が長いので、遠隔側で共有するプレイリストを絞っておくとよりサクサク使えるんじゃないかと思います。感覚的には大きなXMLファイル1つを頑張って転送してる感じ。もっと細切れに少しずつでも反映されるようなプロトコルにすればいいのにとか。

■AppleTV

同様に、横浜機のiTunesライブラリ内の楽曲や720pのMP4動画を再生してみましたが全く問題なし。動画のチャプタースキップも割と一瞬。思わずファイルサーバーの全動画をiTunesにつっこみたくなります。

■TimeMachineバックアップ

これも長期実家滞在中に困っていたところですが、実家のMacBookから自宅のMac mini Serverに全く問題なく毎時間バックアップがとれているようです。

 

当初、「広域イーサネクスト使えばできちゃうんじゃね?」って思ってたことが全部できてます。ファイルコピーのスループットこそ当初の期待ほどは出てないですが、アプリケーション面ではとても便利になりました。拠点間VPNなので、リモートデスクトップやファイル共有なども事前接続操作なしにいつでも使うことができ、まるで自宅にいるかのような感覚で作業でできます。

PacketiXのブリッジ対応版(Small Business Edition)は買うと4,5万するんですが、その無償版が使えて本当に有り難いです。というか年間購読ライセンス1.5万円位なら出してもいい気がしてきました。

唯一の不満はMac版のクライアントがない点でしょうか。サーバー版はあるんですがブリッジ接続はできないみたいです。せめてクライアントがると、ノマドってる時に自宅のiTunesライブラリが聴けたり、TimeMachineからファイル取り出したりできて便利なんですが。VMWareでWindowsが動いてるので、そこにクライアントいれる手はあるんですがちと面倒かなと。しかも仮想WindowsをブリッジしてMacから通信できるようにする場合、うっかり仮想Windowsを(VMWare側の)ブリッジモードで起動してしまったら公衆ネットワークに自宅のブロードキャストパケットが流れるというそら恐ろしいことにw。Mac版クライアントの登場を切に願います(出たら有償版でも買う!)。