【PT3特集】2:EDCBで録画予約サーバを構築し、番組表を自動取得する

ツール, ハック, 動画編集

【PT3特集】2:EDCBで録画予約サーバを構築し、番組表を自動取得する

本連載では、LAN内でPT3のチューナーをSpinelで共有し、EDCBで録画サーバを構築し、録画ファイルのエンコードを自動化するまでを目標としています。今回は前回構築したSpinelを利用して、録画環境を構築します。 […]

スポンサーリンク

本連載では、LAN内でPT3のチューナーをSpinelで共有し、EDCBで録画サーバを構築し、録画ファイルのエンコードを自動化するまでを目標としています。今回は前回構築したSpinelを利用して、録画環境を構築します。

前回までのおさらい

前提として、PT3と直接やり取りするのはサーバ PC上の配信サーバ、Spinelのみです。

サーバ PC自身を含むすべてのEDCBやTVTestは、このSpinel経由でチューナーを利用します。

EDCBは、サーバ PC上で動作しているものだけが実際の録画や録画予約を行っており、各クライアントのEDCBは、親玉であるサーバ PC上のEDCBにアクセスし、同じデータを共有します。

こうして配信サーバや録画サーバを1箇所でコントロールすることにより、複数のPCやソフトウェア間で発生する衝突を解消する、排他制御が可能です。

録画担当のEDCBがPT3のチューナー「T0」で録画予約をしてあるのに、録画開始時刻になっても誰かが同じ「T0」で別チャンネルを視聴していた場合、EDCBがチャンネルを変更できずに録画が失敗する問題が発生します。これが衝突です。

チャンネルコントロールの権限を制御していれば、EDCB側のチャンネル切り替えを他より優先させることができ、正常に録画を開始することができます。これが排他制御です。

構成図

詳しくは前回の記事を参照してください。

http://blacknd.com/video-editing/pt3_spinel_tvtest_edcb_nicojk_1/

なおすべての設定作業はサーバPC上で行います。クライアント毎の設定は以降の記事で説明します。

ソフトウェアの準備

今回はすべて32bit版を使用します。多くのプラグインやライブラリがありますが、そのすべてに64bit版があるとは限りませんし、導入後の余計なトラブルを避けるためでもあります。

今回は前回の記事の構築内容を前提にしていますので、ダウンロードするのもEDCBのみです。

EDCB関連

http://up.mapopi.com/

  • 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 とスクランブル解除の準備

本来必須ではありませんが、ここを見に来た方であれば、ある意味必須でしょう。

  1. winscard.dllC:¥DTV¥EpgDataCap_Bonにコピーする
  2. B25Decoder.dllC:¥DTV¥EpgDataCap_Bonにコピーする

この処理はSpinel側で請け負い、スクランブル解除済みの放送データを各クライアントに配信することもできます。

しかし複数のPCで同時視聴したり、さらに録画も行ったりとなると、Spinelの負荷が気になりますし、デフォルト通りスクランブル解除はクライアントに任せることにします。

※本ケースの場合、EDCBとTVTestがクライアントということになります。

チャンネルスキャンとEPG取得設定

  1. C:¥DTV¥EpgDataCap_Bon¥EpgDataCap_Bon.exeを起動する
  2. 先ほど4つに分割したBonDriver_Spinelドライバ全てに対して、チャンネルスキャンを行う
    ※この処理には時間がかかります。稀にエラーが出る場合もあるようですが、その場合は無視して進めます。
  3. [設定]→[基本設定]タブで、「録画保存フォルダ」を設定する
  4. [設定]→[EPG取得設定]タブで、おそらく重複しているであろうサービスのうち、実際に利用するサービスだけにチェックを付け、他は外す
    ※一番上だけ残せば大抵OKです。
  5. [設定]→[サービス表示設定]タブで、BonDriver毎に表示するサービスにチェックを付け、他は外す

EpgDataCap_Bonでチャンネルスキャン

録画と詳細な挙動の設定

  1. C:¥DTV¥EpgDataCap_Bon¥EpgTimer.exeを起動する
    ※今後、EDCBとして常駐させるのはこのファイルです。
  2. [設定]→[基本設定]→[保存フォルダ]タブで、「録画保存フォルダ」を設定する
  3. 同タブで、「スタートアップにショートカットを作成する」をクリックしておく
    ※作成したショートカットのプロパティを表示し、Spinelでやったように起動時に最小化して起動するよう設定しておきます。
  4. [設定]→[基本設定]→[チューナー]タブで、各チューナーの「チューナー数」を1に変更する
  5. [設定]→[基本設定]→[EPG取得]タブで、「EPG取得対象サービス」が正しいか確認する
    ※また「EPG取得開始時間」は、PCの電源が入っていて録画が実行される頻度の少なそうな時間を指定しておきます。
  6. [設定]→[動作設定]→[録画動作]タブで、「抑止条件」ボタンをクリックし、TVTest.exeを追加する
  7. [設定]→[動作設定]→[録画動作]タブで、「録画用アプリ」の「UDP、TCP送信を行う」にチェックを付ける
  8. [設定]→[動作設定]→[予約情報管理]タブで、「録画時のファイル名にPlugInを使用する」にチェックを付け、「Recname_Macro.dll」の「設定」を行う。以下は筆者の設定例です。
    $SDYYYY$$SDMM$$SDDD$-$STHH$$STMM$_$Title2$ [$ServiceName$].ts

    この場合、「20151225-2100_タイトル名 [局名].ts」のようなファイル名なります。

  9. [設定]→[動作設定]→[その他]タブで、「最小化で起動する」「最小化時にタスクトレイに格納する」にチェックを付ける
    ※また「ネットワーク接続を許可する」にもチェックを付けます。

番組表のカスタマイズ

  1. [設定]→[番組表]→[基本]タブで、「フォント」や文字色等を設定する
    ※私はフォントを「Meiryo UI」に変更しました。
  2. [設定]→[番組表]→[表示項目]タブで、「カスタマイズ表示」にチェックを付け、「追加」ボタンをクリックして、例えば「地デジ」と「BS /CS」のように番組表のタブ名を決める※その後 [表示条件] タブより、番組表に表示したいサービスだけを選択します。これをやらないと、重複するサービスがすべて表示され、番組表が横に長くなってしまいますので、ぜひ設定しておきましょう。
  3. [設定]→[番組表]→[色]タブで、ジャンル毎の背景色を設定する
    ※もちろん完全に好みの世界ですが、筆者はよく見るジャンルにのみ薄い背景色を付けるようにしたところ、色々と捗りました。

番組表の背景色

Windowsのサービスとして登録

  1. 設定画面が開いていれば「OK」で閉じ、EpgTimer.exeを終了する
  2. C:¥DTV¥EpgDataCap_Bon¥EpgTimer.exeを右クリックし、「管理者として実行」する
  3. [設定]→[動作設定]→[Windowsサービス]タブで、「Windowsサービスとしてインストール」ボタンをクリックする
  4. 設定画面が開いていれば「OK」で閉じ、EpgTimer.exeを終了する

動作確認と運用開始

  1. C:¥DTV¥EpgDataCap_Bon¥EpgTimer.exeを起動する
    ※タスクトレイに入った状態で起動するはずです。
  2. タスクトレイのEpgTimer.exeをクリックし、ウィンドウを開く
  3. [EPG取得]ボタンをクリックし、EPGデータの取得を行う
  4. 完了したら[番組表]タブで、意図通りの番組表が表示されるか確認する
    ※おかしな部分があった場合、サービス選択か番組表のカスタム設定が間違っていると思われます。
  5. 番組表内で適当に未来の番組をダブルクリックし、録画予約を行う
    ※先ほどの「Recname_Macro.dll」設定ができていれば、何も考えず「予約」ボタンをクリックするだけです。
  6. [予約一覧]タブや[使用予定チューナー]を弄って、挙動を理解する

カスタマイズした番組表


PAGE TOP