前回構築したSpinelを利用して、EDCBによる録画環境を構築します。
前回までのおさらい
前提として、PT3と直接やり取りするのはサーバPC上の配信サーバ、Spinelのみです。
サーバPC自身を含むすべてのEDCBやTVTestは、このSpinel経由でチューナーを利用します。
EDCBは、サーバPC上で動作しているもの(親玉)だけが実際の録画や録画予約を行っており、各クライアントのEDCBは親玉にアクセスし、同じデータを共有します。
こうして配信サーバや録画サーバを1ヶ所でコントロールすることにより、複数のPCやソフトウェア間で発生する衝突を解消する「排他制御」が可能です。
録画担当のEDCBがPT3のチューナー「T0」で録画予約をしてあるのに、録画開始時刻になっても誰かが同じ「T0」で別チャンネルを視聴していた場合、EDCBがチャンネルを変更できずに録画が失敗する問題が発生します。これが衝突です。
チャンネルコントロールの権限を制御していれば、EDCB側のチャンネル切り替えを他より優先させることができ、正常に録画を開始することができます。これが排他制御です。
以下は構成例です。サーバPCは単体ですべての操作を行えますが、クライアント側はサーバPCの機能を借りているようなイメージです。
詳しくは前回の記事を参照してください。
PT3の購入はこちらから。
なおすべての設定作業はサーバPC上で行います。クライアント毎の設定は以降の記事で説明します。
ソフトウェアの準備
今回はすべて32bit版を使用します。多くのプラグインやライブラリがありますが、そのすべてに64bit版があるとは限りませんし、導入後の余計なトラブルを避けるためでもあります。
今回は前回の記事の構築内容を前提にしていますので、ダウンロードするのもEDCBのみです。
EDCB関連
- EpgDataCap_Bon 人柱版10.66
他に必要なものは、前回の記事ですべてそろえて設定済みであることを前提にしています。
ファイルの配置
前回の記事に引き続き、C:
ドライブ直下にDTV
というフォルダを作成し、その中に各ソフトウェアを解凍することを想定しています。
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
排他制御の設定
冒頭に述べたように、EDCBでの録画予約を優先する排他制御を行います。
- BonDriver_Spinel_PT-S0.dll.ini
- BonDriver_Spinel_PT-S1.dll.ini
- BonDriver_Spinel_PT-T0.dll.ini
- BonDriver_Spinel_PT-T1.dll.ini
上記の各ファイル内にある排他的チャンネルコントロールの項目を編集します。
▼ 編集前
RequireExclusiveChannelControl = 0
▼ 編集後
RequireExclusiveChannelControl = 1
SoftCAS とスクランブル解除の準備
本来必須ではありませんが、ここを見に来た方であれば、ある意味必須以下略。
winscard.dll
をC:¥DTV¥EpgDataCap_Bon
にコピーするB25Decoder.dll
をC:¥DTV¥EpgDataCap_Bon
にコピーする
この処理はSpinel側で請け負い、スクランブル解除済みの放送データを各クライアントに配信することもできます。
しかし複数のPCで同時視聴したり、さらに録画も行ったりとなると、Spinelの負荷が気になりますし、デフォルト通りスクランブル解除はクライアントに任せることにします。
本ケースの場合、EDCBとTVTestがクライアントということになります。
チャンネルスキャンと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」設定ができていれば、何も考えず「予約」ボタンをクリックするだけです。 - [予約一覧]タブや[使用予定チューナー]を弄って、挙動を理解する