デジタル放送サーバー機能のセットアップ (2) - Spinel & EDCB編
前回の記事では、DT300およびPT3を接続したファイルサーバ上で直接デジタル放送を視聴できるところまで設定を行いました。今回の目的はあくまでも「デジタル放送サーバー」ですので、今回はLAN経由でクライアントPCから録画・視聴を可能にするための設定を行います。
1. Spinelのインストールと設定
LAN経由でデジタル放送を視聴するために、TSをストリーミング配信できるソフトウェア、Spinelをインストールします。Spinelは一旦それぞれのチューナーからBonDriver経由でTSを受け取り、ネットワーク経由でクライアントPC(もちろん、IPアドレス127.0.0.1を指定することでサーバーと同一のPCも可)にストリーミング配信します。クライアント側のPCではそれぞれのチューナーに対応するBonDriver_Spinel経由でTSを受け取って対応アプリケーションで視聴する仕組みで、チューナーを内蔵していないPCでもデジタル放送の視聴が可能となります。また、サーバー側でB25デコードを実行するようにも設定でき、その場合はBonCasLinkを使用しなくてもB-CASカードはサーバー用に1枚用意するだけでよくなります。

クライアント側の BonDriver_Spinel.dll はサーバー側のチューナーと1対1で対応するため、クライアント側ではチューナーの個数分の BonDriver_Spinel.dll を用意し、それぞれの BonDriver_Spinel.dll に対応した設定ファイルである BonDriver_Spinel.dll.ini でどのサーバーのどのチューナーに接続するかを設定する必要があります。残念ながら空いているチューナーを自動的に割り当ててくれるわけではないのですが、録画に使用するアプリケーションではチャンネル変更をロックすることができるので(排他的チャンネルコントロール)、実際の運用では手動で空いているチューナーを探しながら(=BonDriver_Spinelを切り替えながら)視聴することになると思います。
では、実際のインストール作業に入ります。C:\TV\Spinel3 フォルダを作成し、Spinelのアーカイブを展開します。また、C:\TV\TvTest フォルダにあるすべてのBonDriverとPT3CTRL.EXE、設定ファイルを C:\TV\Spinel3\BonDriver にコピーします。

このバージョンのSpinelは、リリース時期の関係かPT3には対応していません。そこで、PT3をSpinelに認識させるため、以下の設定ファイルを書き換える必要があります。(ブログの制約上全角文字が入っていますので、そのままコピペしても動作しません。ご注意ください。)
BonDriverMapping.json に以下を挿入します。
/* BonDriver_PT3-ST */
{
"DeviceName": "PT3″,
"Mapping": {
"ISDB_T": "^BonDriver_PT3-T.*?¥¥.dll$",
"ISDB_S": "^BonDriver_PT3-S.*?¥¥.dll$",
}
},
C:\TV\Spinel3\DeviceDefinitions\EarthSoft.xml に以下を追加します。
<DeviceDefinition DeviceName="PT3" DisplayName="EarthSoft PT3">
<TunerDefinitions>
<TunerDefinition TunerType="ISDB_T" Count="2">
<ChannelCategories>
<ChannelCategory>UHF</ChannelCategory>
<ChannelCategory>CATV</ChannelCategory>
<ChannelCategory>VHF</ChannelCategory>
</ChannelCategories>
</TunerDefinition>
<TunerDefinition TunerType="ISDB_S" Count="2">
<ChannelCategories>
<ChannelCategory>BS</ChannelCategory>
<ChannelCategory>CS110</ChannelCategory>
</ChannelCategories>
</TunerDefinition>
</TunerDefinitions>
</DeviceDefinition>
サーバ側でB25デコードを可能にする(クライアント側でB-CASカードを不要にする)場合には、Spinel.ini の下記部分を編集します。この場合は C:\TV\Spinel3 フォルダに B25Decoder.dll をコピーする必要があります。
; B25/B1スクランブル解除の動作を指定します。
; 解除を行うにはそれぞれB25Decoder.dll/B1Decoder.dllが必要です。
; 0: 常にスクランブル解除前のTSを送信します。
; 1: 常にスクランブル解除済みTSを送信します。
; 2: スクランブル解除ONを要求してきたクライアントには解除済みTSを送信しますが、
; それ以外のクライアントには解除前のTSを送信します。
; 3: スクランブル解除OFFを要求してきたクライアントには解除前のTSを送信しますが、
; それ以外のクライアントには解除済みTSを送信します。
DescrambleControl = 2
BonDriver_Spinel.dll と BonDriver_Spinel.dll.iniを必要数(Spinel経由で使用したいBonDriverの個数)コピーしてリネームします。たとえば以下のようにします。(拡張子.ch2 のファイルはチャンネルスキャンによって設定されるファイルなのでここでは無視してください。)

各 BonDriver_Spinel.dll.ini の設定ファイルを編集します。まずはチューナー指定セクションです。
BonDriver_Spinel_PT3_S0.dll.ini → TunerPath = "PT3/0/S/0"
BonDriver_Spinel_PT3_S1.dll.ini → TunerPath = "PT3/0/S/1"
BonDriver_Spinel_PT3_T0.dll.ini → TunerPath = "PT3/0/T/0"
BonDriver_Spinel_PT3_T1.dll.ini → TunerPath = "PT3/0/T/1"
BonDriver_Spinel_U3ID0.dll.ini → TunerPath = "DT300/0/C/0"
サーバーのIPアドレスは、127.0.0.1のままでOKです。
; Spinelが稼働しているマシンのIPv4アドレスとポート番号を指定します。
Address = "127.0.0.1 : 48083"
サーバーでは録画アプリケーションで使用するため、排他的チャンネルコントロールをONにします。
; 排他的チャンネルコントロールを要求するかどうかを指定します。
; これは録画アプリ向けの機能で、チューナーのチャンネルコントロールを独占して
; 他のアプリが行うチャンネル切り替えを防止することができます。
; EDCB(RecTest)で使用する時は1に、TVTestで使用する時は0にして下さい。
; 0: 要求しない
; 1: 要求する
RequireExclusiveChannelControl = 1
以上で作成したBonDriver_Spinelと設定ファイルを C:\TvTest フォルダにコピーします。

以上の設定が完了したらSpinelを起動します。設定に誤りがなければ各チューナーが認識されているはずです。

次に、TvTestを起動し、各BonDriver_Spinelを選択し、それぞれチャンネルスキャンを行います。その後TvTestでの視聴がうまくいくことを確認し、Spinelをスタートアップ起動するようにしておきます(C:\TV\Spinel3\Spinel.exe -WindowState=Minimized と指定することで最小化起動が可能)。以上でSpinelのセットアップは完了です。
2. EDCB(EpgDataCap_Bon)のインストール
これまで行ってきた設定では、まだ予約録画への対応が不完全(TvTestのプログラム予約機能しか使えない)なので、EDCBの設定を行います。これによりクライアントPCからネットワーク経由で(リモートデスクトップを使用しなくても)EPGからの予約ができるようになります。
C:\TV\EDCB フォルダを作成し、EDCBのアーカイブの内容を展開します。同じフォルダに B25Decorder.dll (使用したい場合は winscard.dll も)をコピーしておきます。その後、C:\TV\EDCB\BonDriver に先ほど用意した BonDriver_Spinel.dll と BonDriver_spinel.dll.ini をすべてコピーします。その後、EDCBを起動してすべてのBonDriver_Spinel対してチャンネルスキャンを行います。

チャンネルスキャンが終わったら基本設定を行います。録画ファイルの保存先設定。

EPG取得設定。通常は「映像サービスのみチェック」でよいでしょう。CSなど使用頻度の少ないネットワークは「基本情報のみ取得」にチェックを入れるとよいと思います。

UDP送信設定と外部アプリケーションの設定。これを行っておくと、EDCBのメイン画面からTvTestを呼び出して直接視聴することができます。EDCBで確実に受信ができていることを確認するため今回は設定しておきました。


以上でEDCBの設定は完了です。次に、予約録画を制御する(予約時刻になればEDCB本体を呼び出して録画を実行する)プログラムであるEpgTimerの設定を行います。C:\TV\EDCB\EpgTimer.exe を起動し「設定」ボタンをクリックします。画像は録画アプリケーション(EDCB本体を指定します)と保存フォルダの設定。スタートアップ起動の設定もここで行っておきます。

チューナー数の設定。Spinelの場合はすべて「1」に設定します。

EPG取得設定。EDCB本体と同様の設定に加え、取得時刻などの設定が可能です。一般的には録画したい番組の少なそうな時間帯に設定するとよいでしょう。

録画動作設定。今回は常時起動のサーバーで実行するので、「録画後動作」は「何もしない」に設定しておきます。

予約情報管理設定。録画時のファイル名に「RecName_Macro.dll」を使用する設定にしておくと、番組名がTSのファイル名として自動的に設定されるようになります。私の場合は RecName_Macro.dll の設定で $Title2$-$SDYY$$SDMM$$SDDD$.ts と設定しました。この場合のファイル名は 番組名-YYMMDD.ts という形式で保存されます。(この設定方法については Readme_EpgTimer.txt 内に説明があります)

メイン画面で表示されるボタンの設定。「休止」「スタンバイ」など不要なものは非表示にすることができます。

その他の設定。LAN経由での録画予約を可能にするためには、ここで「ネットワーク接続を許可する」にチェックを入れておきます。ポート番号はデフォルトのままでOKです。

EPGでの表示チャンネルの設定。デフォルトのものを使用するとワンセグも含めてすべてのチャンネルの番組表が表示されてしまい、かなり見にくくなってしまいます。「カスタマイズ表示」を選択すると、必要なチャンネルのみを表示させることができるようになります。

以上で設定完了です。画像はEPG表示です。けっこう見やすい画面ですね。

以上でデジタル放送サーバー機能のセットアップは完了です。次回はクライアントPCに必要なアプリケーションをインストールし、LAN経由での視聴やEPGからの予約を可能にする予定です。
※ RecName_Macro.dll の設定で、$Title2F$ を使用した例を示していましたが、$Title2F$ は使用できませんでした。$Title2$ を使用するようにしてください。また、Spinelの設定で、サーバー側でスクランブル解除を行う場合の B25Decorder.dll についての記載が抜けていました。お詫びして訂正させていただきます。
1. Spinelのインストールと設定
LAN経由でデジタル放送を視聴するために、TSをストリーミング配信できるソフトウェア、Spinelをインストールします。Spinelは一旦それぞれのチューナーからBonDriver経由でTSを受け取り、ネットワーク経由でクライアントPC(もちろん、IPアドレス127.0.0.1を指定することでサーバーと同一のPCも可)にストリーミング配信します。クライアント側のPCではそれぞれのチューナーに対応するBonDriver_Spinel経由でTSを受け取って対応アプリケーションで視聴する仕組みで、チューナーを内蔵していないPCでもデジタル放送の視聴が可能となります。また、サーバー側でB25デコードを実行するようにも設定でき、その場合はBonCasLinkを使用しなくてもB-CASカードはサーバー用に1枚用意するだけでよくなります。

クライアント側の BonDriver_Spinel.dll はサーバー側のチューナーと1対1で対応するため、クライアント側ではチューナーの個数分の BonDriver_Spinel.dll を用意し、それぞれの BonDriver_Spinel.dll に対応した設定ファイルである BonDriver_Spinel.dll.ini でどのサーバーのどのチューナーに接続するかを設定する必要があります。残念ながら空いているチューナーを自動的に割り当ててくれるわけではないのですが、録画に使用するアプリケーションではチャンネル変更をロックすることができるので(排他的チャンネルコントロール)、実際の運用では手動で空いているチューナーを探しながら(=BonDriver_Spinelを切り替えながら)視聴することになると思います。
では、実際のインストール作業に入ります。C:\TV\Spinel3 フォルダを作成し、Spinelのアーカイブを展開します。また、C:\TV\TvTest フォルダにあるすべてのBonDriverとPT3CTRL.EXE、設定ファイルを C:\TV\Spinel3\BonDriver にコピーします。

このバージョンのSpinelは、リリース時期の関係かPT3には対応していません。そこで、PT3をSpinelに認識させるため、以下の設定ファイルを書き換える必要があります。(ブログの制約上全角文字が入っていますので、そのままコピペしても動作しません。ご注意ください。)
BonDriverMapping.json に以下を挿入します。
/* BonDriver_PT3-ST */
{
"DeviceName": "PT3″,
"Mapping": {
"ISDB_T": "^BonDriver_PT3-T.*?¥¥.dll$",
"ISDB_S": "^BonDriver_PT3-S.*?¥¥.dll$",
}
},
C:\TV\Spinel3\DeviceDefinitions\EarthSoft.xml に以下を追加します。
<DeviceDefinition DeviceName="PT3" DisplayName="EarthSoft PT3">
<TunerDefinitions>
<TunerDefinition TunerType="ISDB_T" Count="2">
<ChannelCategories>
<ChannelCategory>UHF</ChannelCategory>
<ChannelCategory>CATV</ChannelCategory>
<ChannelCategory>VHF</ChannelCategory>
</ChannelCategories>
</TunerDefinition>
<TunerDefinition TunerType="ISDB_S" Count="2">
<ChannelCategories>
<ChannelCategory>BS</ChannelCategory>
<ChannelCategory>CS110</ChannelCategory>
</ChannelCategories>
</TunerDefinition>
</TunerDefinitions>
</DeviceDefinition>
サーバ側でB25デコードを可能にする(クライアント側でB-CASカードを不要にする)場合には、Spinel.ini の下記部分を編集します。この場合は C:\TV\Spinel3 フォルダに B25Decoder.dll をコピーする必要があります。
; B25/B1スクランブル解除の動作を指定します。
; 解除を行うにはそれぞれB25Decoder.dll/B1Decoder.dllが必要です。
; 0: 常にスクランブル解除前のTSを送信します。
; 1: 常にスクランブル解除済みTSを送信します。
; 2: スクランブル解除ONを要求してきたクライアントには解除済みTSを送信しますが、
; それ以外のクライアントには解除前のTSを送信します。
; 3: スクランブル解除OFFを要求してきたクライアントには解除前のTSを送信しますが、
; それ以外のクライアントには解除済みTSを送信します。
DescrambleControl = 2
BonDriver_Spinel.dll と BonDriver_Spinel.dll.iniを必要数(Spinel経由で使用したいBonDriverの個数)コピーしてリネームします。たとえば以下のようにします。(拡張子.ch2 のファイルはチャンネルスキャンによって設定されるファイルなのでここでは無視してください。)

各 BonDriver_Spinel.dll.ini の設定ファイルを編集します。まずはチューナー指定セクションです。
BonDriver_Spinel_PT3_S0.dll.ini → TunerPath = "PT3/0/S/0"
BonDriver_Spinel_PT3_S1.dll.ini → TunerPath = "PT3/0/S/1"
BonDriver_Spinel_PT3_T0.dll.ini → TunerPath = "PT3/0/T/0"
BonDriver_Spinel_PT3_T1.dll.ini → TunerPath = "PT3/0/T/1"
BonDriver_Spinel_U3ID0.dll.ini → TunerPath = "DT300/0/C/0"
サーバーのIPアドレスは、127.0.0.1のままでOKです。
; Spinelが稼働しているマシンのIPv4アドレスとポート番号を指定します。
Address = "127.0.0.1 : 48083"
サーバーでは録画アプリケーションで使用するため、排他的チャンネルコントロールをONにします。
; 排他的チャンネルコントロールを要求するかどうかを指定します。
; これは録画アプリ向けの機能で、チューナーのチャンネルコントロールを独占して
; 他のアプリが行うチャンネル切り替えを防止することができます。
; EDCB(RecTest)で使用する時は1に、TVTestで使用する時は0にして下さい。
; 0: 要求しない
; 1: 要求する
RequireExclusiveChannelControl = 1
以上で作成したBonDriver_Spinelと設定ファイルを C:\TvTest フォルダにコピーします。

以上の設定が完了したらSpinelを起動します。設定に誤りがなければ各チューナーが認識されているはずです。

次に、TvTestを起動し、各BonDriver_Spinelを選択し、それぞれチャンネルスキャンを行います。その後TvTestでの視聴がうまくいくことを確認し、Spinelをスタートアップ起動するようにしておきます(C:\TV\Spinel3\Spinel.exe -WindowState=Minimized と指定することで最小化起動が可能)。以上でSpinelのセットアップは完了です。
2. EDCB(EpgDataCap_Bon)のインストール
これまで行ってきた設定では、まだ予約録画への対応が不完全(TvTestのプログラム予約機能しか使えない)なので、EDCBの設定を行います。これによりクライアントPCからネットワーク経由で(リモートデスクトップを使用しなくても)EPGからの予約ができるようになります。
C:\TV\EDCB フォルダを作成し、EDCBのアーカイブの内容を展開します。同じフォルダに B25Decorder.dll (使用したい場合は winscard.dll も)をコピーしておきます。その後、C:\TV\EDCB\BonDriver に先ほど用意した BonDriver_Spinel.dll と BonDriver_spinel.dll.ini をすべてコピーします。その後、EDCBを起動してすべてのBonDriver_Spinel対してチャンネルスキャンを行います。

チャンネルスキャンが終わったら基本設定を行います。録画ファイルの保存先設定。

EPG取得設定。通常は「映像サービスのみチェック」でよいでしょう。CSなど使用頻度の少ないネットワークは「基本情報のみ取得」にチェックを入れるとよいと思います。

UDP送信設定と外部アプリケーションの設定。これを行っておくと、EDCBのメイン画面からTvTestを呼び出して直接視聴することができます。EDCBで確実に受信ができていることを確認するため今回は設定しておきました。


以上でEDCBの設定は完了です。次に、予約録画を制御する(予約時刻になればEDCB本体を呼び出して録画を実行する)プログラムであるEpgTimerの設定を行います。C:\TV\EDCB\EpgTimer.exe を起動し「設定」ボタンをクリックします。画像は録画アプリケーション(EDCB本体を指定します)と保存フォルダの設定。スタートアップ起動の設定もここで行っておきます。

チューナー数の設定。Spinelの場合はすべて「1」に設定します。

EPG取得設定。EDCB本体と同様の設定に加え、取得時刻などの設定が可能です。一般的には録画したい番組の少なそうな時間帯に設定するとよいでしょう。

録画動作設定。今回は常時起動のサーバーで実行するので、「録画後動作」は「何もしない」に設定しておきます。

予約情報管理設定。録画時のファイル名に「RecName_Macro.dll」を使用する設定にしておくと、番組名がTSのファイル名として自動的に設定されるようになります。私の場合は RecName_Macro.dll の設定で $Title2$-$SDYY$$SDMM$$SDDD$.ts と設定しました。この場合のファイル名は 番組名-YYMMDD.ts という形式で保存されます。(この設定方法については Readme_EpgTimer.txt 内に説明があります)

メイン画面で表示されるボタンの設定。「休止」「スタンバイ」など不要なものは非表示にすることができます。

その他の設定。LAN経由での録画予約を可能にするためには、ここで「ネットワーク接続を許可する」にチェックを入れておきます。ポート番号はデフォルトのままでOKです。

EPGでの表示チャンネルの設定。デフォルトのものを使用するとワンセグも含めてすべてのチャンネルの番組表が表示されてしまい、かなり見にくくなってしまいます。「カスタマイズ表示」を選択すると、必要なチャンネルのみを表示させることができるようになります。

以上で設定完了です。画像はEPG表示です。けっこう見やすい画面ですね。

以上でデジタル放送サーバー機能のセットアップは完了です。次回はクライアントPCに必要なアプリケーションをインストールし、LAN経由での視聴やEPGからの予約を可能にする予定です。
※本サイトで紹介する内容は、すべて個人的研究の範囲内で行っていることです。ここに書かれた内容を実行したことによる、データ(クラウド上を含む)・ソフトウェア・ハードウェアの障害および金銭的損害について、私が責任を負うことはできません。重要なデータはあらかじめバックアップを行い、内容を十分に理解したうえで、ご自身の責任の下で行ってください。 |
※ RecName_Macro.dll の設定で、$Title2F$ を使用した例を示していましたが、$Title2F$ は使用できませんでした。$Title2$ を使用するようにしてください。また、Spinelの設定で、サーバー側でスクランブル解除を行う場合の B25Decorder.dll についての記載が抜けていました。お詫びして訂正させていただきます。
- 関連記事
-
- デジタル放送サーバー機能のセットアップ (3) - クライアント編 (2014/01/05)
- デジタル放送サーバー機能のセットアップ (2) - Spinel & EDCB編 (2014/01/03)
- デジタル放送サーバー機能のセットアップ (1) - 準備編 (2014/01/01)
スポンサーサイト