テレビ台の中にはHDDレコーダーがあるのですが、すっかり嫁専用機になってますし、普段パソコンしか使わない自分としてはテレビの画面でよりもパソコンのウインドウで表示してもらった方が良いんですよね。
そこでパソコン用テレビチューナーですね。自分の持ってるのは、USBタイプの外付でH.264で圧縮して録画できる優れものです。しかも描画が「オーバーレイ方式」ではなく「EVR方式」なんです。ちょっと前に購入したのですが、ひょっとするとこのテレビチューナーはもう市販されてないかもですね。テレビチューナーは規格やら権利やら法律やらが色々と大変そーですし。
で。
普段は夜中にゲームしながらウインドウでテレビを表示させているんですが、家にいない時は当然これが見れないワケです。
例えば、東京に出張の時に夜更かししてホテルに備え付けの普通のテレビを見たりもするんですが、どーせなら録画した地元のテレビ番組を消化したいじゃないですか。かれこれ1年以上も貯まってる番組もあるワケですよ。
そこでSiegfriedの出番ですよ。テレビだとBrynhildrよりもSiegfriedの方が向いています。回線もモバイルなんで低速ですしね。圧縮率が重要です。
出張の前に自宅のパソコンに接続できるようにネットワークの設定をしておいて、東京のホテルから接続して録画したテレビを視聴・・・とそんなに簡単じゃないんですね。
Siegfriedを使えば自宅のパソコンのデスクトップは表示できますし操作も出来ます。ところが、テレビチューナーのソフトウェアのテレビのウインドウ(以下テレビのウインドウ)の中身が表示されません。
パソコンとモニターとは「HDMI」で接続しているのですが「HDCP」とゆーものが働いて表示を妨げてるんですね。自分は自宅にいませんので、当然モニターの電源は入っていませんので、これが異常だと判断してるんですね。賢いですね。これを回避するには、単純にモニターの電源をONにすれば良いので、自宅に電話してモニターをONにしてもらえば良いのですが。
うーむ、電話面倒。夜中なので電話したら嫁怒りそうだし。
こんなこともあろうかとパソコンからモニターへ「RGB」も接続しておりましてマルチモニター環境にしております。パソコンとモニターの間に2本のケーブルが繋がってルわけですね。で、テレビのウインドウをそのRGBで接続しているモニターの方へスルスルーっと移動させると無事に描画されるワケですね。
ここで注意するところは、Siegfriedですとテレビ画面をオーバーレイ方式で描画しているソフトウェアの画面は転送できません。真っ黒のままです。ビデオカードがモニターに直接描画しているイメージなのでキャプチャーできないのです。この辺は色々と奥が深いので御近くに御詳しい方がもしいらっしゃいましたら根掘り葉掘り御聞きしてみると良いかもしれません。ちなみに先述した「EVR方式」だとキチンと転送できるワケです。
あともう1点。マルチモニター環境にについてですが、自分の経験ですとプライマリーモニターをRGBのモニターの方にしていないと上記の方法でも「HDCP」で表示できない事がありました。テレビチューナーのソフトウェアによってかもしれませんので色々試してみると面白いかもしれません。
さて。
んな感じで東京から自宅の録画してテレビ番組をSiegfriedを使って視聴してたんですが、気になる点が何点か。
1点目は、なんか映像の動きがギクシャクしてるんですよね。モバイルルーターで接続してるんでそれなりの速度なんですが、なんか映像の動きがスムーズで無いんです。回線に依存してるもんだと思ってたんですが、ちょっと気になってソースコードを見てたんですが、なんかどうも改善する方法が見つかったので、次バージョンで実装してみたいと思います。名付けて「ギクシャク対策処理」ですね。
2点目は、やっぱり映像がスムーズじゃ無いですよね。てかFPSが低すぎるんですよね。
サーバー側のパソコンの解像度が1920x1080のフルHDでクライアント側のパソコンの解像度も1920x1080のフルHDなんですが、テレビ画面も1920x1080にすると結構な通信サイズになってしまって、FPSが全然上がらないですよね。カクカク当然ですよ。で、サーバー側のテレビのウィンドウを小さくしてそのテレビのウインドウだけをスクリーンモードで転送てな感じにしてたんですが、それだとクライアント側のウインドウも小さくなってテレビが見にくいんですよね。スクロールモードだと拡大が出来ないんですよね。でも小さくしないとFPSが上がらないのでスムーズには程遠いんですよね。なんだかなぁです。
で、サーバー側のキャプチャーサイズを変更する事も考えたんですが、なんかどうもメンドイかなと。毎回そーなら良いんですが、今回だけですしね。なんかもっと気軽にクライアント側でエリア指定して、その部分をだけを転送してきて、そんでもってその部分をクライアント側で拡大できるようなそんな機能が欲しいなぁ・・・と思って、そんな機能を次バージョンに実装させました。ちょっと設定ファイルを触るエキパートモード的な感じなんですが、サイズを2行ほど追加するだけですが。これまでサーバー側にあったキャプチャー指定のアレです。アレのクライアント版も作りました。ちなみにこれまでは位置とサイズの両方を指定しなくてはいけませんでしたが、どちらかでも動くようにしました。名付けて「クライアント側でも部分的に映像転送出来ます処理」ですかね。
そんな2つの機能が次バージョンのSiegfriedに実装されますが、当然Brynhildrにも実装されますので、お楽しみに!
こんな感じで2015年も自分の欲しい機能を中心に実装していくと思いまする。