サーバ側の準備が済んだので、いよいよクライアント側の視聴・録画環境を構築します。
クライアントの無い環境では不要
この記事ではサーバPCが1台、クライアントPCまたはWindowsタブレットが1台以上という環境を想定しています。
今回はクライアント側に視聴環境と録画予約環境を構築します。
本連載の1, 2で解説したのがサーバ側で、今回はクライアント側ということになります。
サーバPCのみで運用する場合、この記事の内容は無視しても構いません。
前回までのおさらい
前提として、PT3と直接やり取りするのはSpinelというツールのみです。
サーバPC自身を含む全PCのEDCBやTVTestは、サーバPC上にあるSpinel経由でチューナーを利用します。
サーバPCで動作しているEDCBが親で、実際の録画や録画予約を行っています。各クライアントPCのEDCBは子であり、親のEDCBにアクセスし、同じデータを共有します。
こうして配信サーバや録画サーバを1ヶ所でコントロールすることにより、複数のPCやソフトウェア間で発生する衝突を解消する「排他制御」が可能です。
録画担当のEDCBがPT3のチューナー「T0」で録画予約をしてあるのに、録画開始時刻になっても誰かが同じ「T0」を使って視聴していた場合、EDCBがチャンネルを変更できずに録画が失敗する問題が発生します。これが衝突です。
親がチャンネルコントロールを制御していれば、EDCB側のチャンネル切り替えを他より優先させることができ、正常に録画を開始することができます。これが排他制御です。
以下は構成例です。サーバPCは単体ですべての操作を行えますが、クライアント側はサーバPCの機能を借りているようなイメージです。
詳しくは前回までの記事を参照してください。
PT3の購入はこちら。
なおすべての設定作業はサーバPC上で行います。クライアント毎の設定は以降の記事で説明します。
クライアントのハードウェアについて
基本は、サーバPCと同じくWindows搭載PCです。
OSが懐かしいモバイル専用Windowsでなければ、Windowsタブレットでも大丈夫です。
ソフトウェアの準備
今回はすべて32bit版を使用します。多くのプラグインやライブラリがありますが、そのすべてに64bit版があるとは限りませんし、導入後の余計なトラブルを避けるためでもあります。
前回の記事、前々回の記事で構築した環境を前提にしていますので、必要なもののみダウンロードします。
Spinel関連
- BonDriver_Spinel_ver3.5.3.0
Spinel本体はサーバPCにのみ必要ですので、ここでは上記ファイルのみダウンロードします。
TVTest関連
- TVTest 0.7.23 (x86)
- TVTest_0.7.23fix
BonDriverは、サーバPCのSpinelでのみ使用しますので不要です。
SoftCAS, B25Decoder関連
- SoftCAS(winscard.dll)
- Multi2Dec 2.10(B25Decoder.dll)
SoftCASは、B-CASカードのエミュレーションを行うものです。カード書き換えではありませんが、グレーな領域になるため詳解は避けます。
B25Decoderは、スクランブル解除に必要となります。こちらも多くは語りません…が、後でちょっと語ったりします。
ランタイム等
本環境の動作に必要となります。未導入の場合は先にインストールしておいてください。
- http://www.microsoft.com/ja-jp/download/details.aspx?id=17718
- http://www.microsoft.com/ja-jp/download/details.aspx?id=5555
環境によってはこちらも必要となります。筆者環境ではWindows 10 64bit版で必要でした。
- https://www.microsoft.com/ja-jp/download/details.aspx?id=21
- https://www.microsoft.com/ja-jp/download/details.aspx?id=40784
他に必要なものは、前回までの記事ですべてそろえて設定済みであることを前提にしています。
ファイルの配置
前回の記事に引き続き、C:
ドライブ直下にDTV
というフォルダを作成し、その中に各ソフトウェアを解凍することを想定しています。
画像はサーバPCの例です。クライアント側にはSpinelは必要ありません。
TVTest(クライアント側)の設定
パッチを適用する
TVTest 0.7.23には「Microsoft DTV-DVD Video Decoder」でのデコードに不具合があります。
これはWindows Updateにより「Windows 7 SP1 及び Windows Server 2008 R2 SP1 用プラットフォーム更新プログラム (KB2670838)」がインストールされている場合に生じるものです。
この問題を解決するのが、TVTestと一緒にダウンロードした00047_TVTest_0.7.23fixです。
解凍するとTVTest_0.7.23fix.exe
というファイルがありますので、TVTestと同じフォルダにコピーしてから実行します。
BonDriver_Spinelの準備
ここで用意するファイルセットは、次のEDCBにそのまま流用できます。
onDriver_Spinel_ver3.5.3.0
を解凍し、以下の2ファイルをC:¥DTV¥TVTest
にコピーするBonDriver_Spinel3¥BonDriver_Spinel.dll.ini
BonDriver_Spinel3¥x86¥BonDriver_Spinel.dll
BonDriver_Spinel.dll
を同フォルダ内に3つコピーし、これら4ファイルを以下のようにリネームするBonDriver_Spinel_PT-S0.dll
BonDriver_Spinel_PT-S1.dll
BonDriver_Spinel_PT-T0.dll
BonDriver_Spinel_PT-T1.dll
BonDriver_Spinel.dll.ini
を同フォルダ内に3つコピーし、これら4ファイルを以下のようにリネームするBonDriver_Spinel_PT-S0.dll.ini
BonDriver_Spinel_PT-S1.dll.ini
BonDriver_Spinel_PT-T0.dll.ini
BonDriver_Spinel_PT-T1.dll.ini
- 上記3の各ファイルをテキストエディタで開き、それぞれ下記の通り編集する
BonDriver_Spinel_PT-S0.dll.ini
Address = "192.168.x.x:48083"
TunerPath = "PT3/0/S/0"
BonDriver_Spinel_PT-S1.dll.ini
Address = "192.168.x.x:48083"
TunerPath = "PT3/0/S/1"
BonDriver_Spinel_PT-T0.dll.ini
Address = "192.168.x.x:48083"
TunerPath = "PT3/0/T/0"
BonDriver_Spinel_PT-T1.dll.ini
Address = "192.168.x.x:48083"
TunerPath = "PT3/0/T/1"
これまでの記事と異なるのは、Address
にサーバPCのIPアドレスを指定する部分です。
IPアドレスがわからない場合、サーバPCでコマンドプロンプトを開き、ipconfig
コマンドを実行すればわかります。
SoftCASとスクランブル解除の準備
本来必須ではありませんが、ここを見に来た方であれば以下略。
winscard.dll
をC:¥DTV¥TVTest
にコピーするB25Decoder.dll
をC:¥DTV¥TVTest
にコピーする
次に設定を開き、SoftCAS(winscard.dll)を利用する場合は「カードリーダ」を「スマートカードリーダ」にします。
デコーダの設定
デコーダは「Microsoft DTV-DVD Video Decoder」が定番です。選択できるのであればこちらを選択しておいてください。レンダラは「EVR」が良いでしょう。
詳しくは前々回の記事を参照してください。
Windows 10でMicrosoft DTV-DVD Video Decoderを使うには
Windows 10では、TVTestからMicrosoft DTV-DVD Video Decoderを利用できなくなりました。
この問題には回避策があります。別記事にまとめてありますのでご覧ください。
チャンネルスキャン
TVTestの画面左下にあるボタンで、使用するチューナーを選択できます。
4つあるBonDriver_Spinel_PT-** を一つづつ選択し、それぞれにチャンネルスキャンを行います。
「設定」→「チャンネルスキャン」
「スキャン開始」ボタンをクリックし、スキャンが終了するまでしばらく待ちます。しばらくと言っても4チューナーに対してスキャンを行うと、結構な時間がかかります。
スキャン完了後、上記画面のように同じチャンネルが複数表示されたりしますが、一番上のものだけ残してチェックを外しておきましょう。
ここでチェックを外したチャンネルは、チャンネル切り替えの際に表示されません。
EDCB(クライアント側)の設定
BonDriver_Spinelをコピー
先ほどTVTest用に準備したBonDriver_spinelのファイル群がそのまま流用できます。
C:¥DTV¥TVTest
内にある以下のファイルをC:¥DTV¥EpgDataCap_Bon¥BonDriver
にコピーします。
- BonDriver_Spinel_PT-S0.dll
- BonDriver_Spinel_PT-S0.dll.ini
- BonDriver_Spinel_PT-S1.dll
- BonDriver_Spinel_PT-S1.dll.ini
- BonDriver_Spinel_PT-T0.dll
- BonDriver_Spinel_PT-T0.dll.ini
- BonDriver_Spinel_PT-T1.dll
- BonDriver_Spinel_PT-T1.dll.ini
SoftCAS とスクランブル解除の準備
本来必須ではありませんが、ここを見に来た方であれば以下略。
winscard.dll
をC:¥DTV¥EpgDataCap_Bon
にコピーするB25Decoder.dll
をC:¥DTV¥EpgDataCap_Bon
にコピーする
チャンネルスキャンとEPG取得設定
C:¥DTV¥EpgDataCap_Bon¥EpgDataCap_Bon.exe
を起動する- 先ほど4つに分割したBonDriver_Spinelドライバ全てに対して、チャンネルスキャンを行う
※この処理には時間がかかります。稀にエラーが出る場合もあるようですが、その場合は無視して進めます。 - [設定]→[基本設定]タブで、「録画保存フォルダ」を設定する
- [設定]→[EPG取得設定]タブで、おそらく重複しているであろうサービスのうち、実際に利用するサービスだけにチェックを付け、他は外す
※一番上だけ残せば大抵OKです。 - [設定]→[サービス表示設定]タブで、BonDriver毎に表示するサービスにチェックを付け、他は外す
録画と詳細な挙動の設定
C:¥DTV¥EpgDataCap_Bon¥EpgTimer.exe
を起動する
※今後、EDCBとして常駐させるのはこのファイルです。- [設定]→[基本設定]→[保存フォルダ]タブで、「録画保存フォルダ」を設定する
- 同タブで、「スタートアップにショートカットを作成する」をクリックしておく
※作成したショートカットのプロパティを表示し、Spinelでやったように起動時に最小化して起動するよう設定しておきます。 - [設定]→[基本設定]→[チューナー]タブで、各チューナーの「チューナー数」を1に変更する
- [設定]→[基本設定]→[EPG取得]タブで、「EPG取得対象サービス」が正しいか確認する
※また「EPG取得開始時間」は、PCの電源が入っていて録画が実行される頻度の少なそうな時間を指定しておきます。 - [設定]→[動作設定]→[録画動作]タブで、「抑止条件」ボタンをクリックし、
TVTest.exe
を追加する - [設定]→[動作設定]→[録画動作]タブで、「録画用アプリ」の「UDP、TCP送信を行う」にチェックを付ける
- [設定]→[動作設定]→[予約情報管理]タブで、「録画時のファイル名にPlugInを使用する」にチェックを付け、「Recname_Macro.dll」の「設定」を行う。以下は筆者の設定例です。
$SDYYYY$SDMM$SDDD$-$STHH$STMM$_$Title2$ [$ServiceName$].ts
上記の場合、「20151225-2100_タイトル名 [局名].ts」のようなファイル名なります。 - [設定]→[動作設定]→[その他]タブで、「最小化で起動する」「最小化時にタスクトレイに格納する」にチェックを付ける
※また「ネットワーク接続を許可する」にもチェックを付けます。
番組表のカスタマイズ
- [設定]→[番組表]→[基本]タブで、「フォント」や文字色等を設定する
※私はフォントを「Meiryo UI」に変更しました。 - [設定]→[番組表]→[表示項目]タブで、「カスタマイズ表示」にチェックを付け、「追加」ボタンをクリックして、例えば「地デジ」と「BS /CS」のように番組表のタブ名を決める※その後 [表示条件] タブより、番組表に表示したいサービスだけを選択します。これをやらないと、重複するサービスがすべて表示され、番組表が横に長くなってしまいますので、ぜひ設定しておきましょう。
- [設定]→[番組表]→[色]タブで、ジャンル毎の背景色を設定する
※もちろん完全に好みの世界ですが、筆者はよく見るジャンルにのみ薄い背景色を付けるようにしたところ、色々と捗りました。
Windowsのサービスとして登録
- 設定画面が開いていれば「OK」で閉じ、
EpgTimer.exe
を終了する C:¥DTV¥EpgDataCap_Bon¥EpgTimer.exe
を右クリックし、「管理者として実行」する- [設定]→[動作設定]→[Windowsサービス]タブで、「Windowsサービスとしてインストール」ボタンをクリックする
- 設定画面が開いていれば「OK」で閉じ、
EpgTimer.exe
を終了する
動作確認と運用開始
C:¥DTV¥EpgDataCap_Bon¥EpgTimer.exe
を起動する
※タスクトレイに入った状態で起動するはずです。- タスクトレイの
EpgTimer.exe
をクリックし、ウィンドウを開く - [EPG取得]ボタンをクリックし、EPGデータの取得を行う
- 完了したら[番組表]タブで、意図通りの番組表が表示されるか確認する
※おかしな部分があった場合、サービス選択か番組表のカスタム設定が間違っていると思われます。 - 番組表内で適当に未来の番組をダブルクリックし、録画予約を行う
※先ほどの「Recname_Macro.dll」設定ができていれば、何も考えず「予約」ボタンをクリックするだけです。 - [予約一覧]タブや[使用予定チューナー]を弄って、挙動を理解する