« PX-BCUDを使ったBS/CS110の"お手軽"視聴&録画システムについて | トップページ | TVRock (およびTVTest) のスカパーe2最新編成対応と、チャンネル名称も最新にする方法 »

2012年5月24日 (木)

PX-BCUDとPX-S1UDの"ドングルファミリー"を、Spinelで有効活用

さて、前記事で予告したPX-BCUDを使ったSpinel構成ガイドについて早速。時間かけてもしょうがないので、まずは書けるだけ書いてみて、不足しているものはあとから書き足していこうと思います。

BCUD自体はシングルチューナなので、これ単体でSpinel使ってネットワーク共有することにメリットがあるの?と思われる方もいるかもしれませんが、Spinelを導入するとその瞬間に、家中のパソコンが古いもの、タンスに眠っていたものを含めて、TVやHDDレコーダーに変身します。

むだなパーツや配線は要らず、アンテナ線が出ている場所に1台、Spinelサーバとして古いノートPCなりを置いてこのチューナを挿し常時ONにしておけば、家中どこでもLANや11nの無線LAN経由で、TVを観たり録画が可能になります。

この辺、普通の家電でやろうとすると何十万円も機材に投資しなければならなかったり、その挙句ガチガチのプロテクトだらけで、今録った番組すら他の機材で自由に観ることもできないようなものしか「与えてもらえない」現実があるのですが、Spinelを導入することによってシンプルにそれらが可能になります。

ちなみに以前の記事でSpinelをご紹介した時は、そもそもはW3U2の4チューナを有効活用したい、というのが私自身の動機でした。Spinelは使用するチューナが増えてくるにつれて、より威力を発揮するようになります。

そこでここでは、BCUD単独で使える手順としながらゆくゆくチューナーを増やしていくことにも対応できるようにし、また同時にいろいろSpinelの便利な(遊べる?)応用もここでご紹介することにしました。

なお、PX-BCUDの全般的な特徴と構成上の注意点は前記事に書きましたので、導入される方は前記事もひととおり目を通していただければ幸いです。

また、設定や利用していく上でのFAQはこちらにまとめてあります。もしうまくいかないことや疑問点があったら、随時参照してみてください。

注)Windows8環境ではWrapperがうまく働かないようで、BCUDのSpinelでの利用は現時点ではお預けになっています。 Win8でも問題なく動きました。BonDriver_BSCS_Wrapper.ini のパス記述に注意するだけです。
.
1.まずはSpinelのおさらいから

普段Spinelを使っている方なら何を今さらという話なのですが、一応この機会にということで、まずはSpinelの基本構成と応用を説明します。この辺かなり余談も入ってますので、その辺飛ばしてすぐに設定に入りたいという方はこちらにジャンプしてください。
.
1)今回の構成例

今回は写真のように、ドングルチューナーシリーズのPX-S1UDを1個、PX-BCUDを2個を写真のようにUSBハブに挿してPCに接続し、

Bcud_s1ud_usbhub

これを新しいSpinel配下で管理することにしました。(言わずもがなですがこういう構成の場合、USBハブはセルフパワータイプにして、各ポートにしっかり給電できるようにするのが必須です。)

概念図としては以下のようになります。

Spinel01

ここでクライアントと書いてありますが、もちろんサーバ内での視聴や録画環境も基本的には同じ構成で、同一筐体内になるだけです。クライアントの場合は必要なネットワーク帯域を満たしていれば、LAN越し、Wi-Fi越しでも自由に置くことができます。

さて、SpinelサーバではSpinelで管理するチューナーデバイスのBonDriverを

\Spinel\BonDriverフォルダ

に個数分入れておくことで個数分のチューナを識別し、利用できるようになります。

それらはSpinelクライアントからはチューナー機種毎に固有の識別子、例えば

PTxならPT、W3PEならPXW3PE、W3U2ならPXW3U2、W3U3ならPXW3U3、S3U2ならPXS3U2、S1UDならPXS1UD

のように、まず区別されます。

ちなみにSpinelはBonDriverのネーミングルールで機種を判断しています。したがってオリジナルで提供されている各機種用BonDriverはネーミングを勝手に変えてはいけません。

BonDriverのインターフェースはどれも共通なんだから敢えて機種を判別する必要はないんじゃないか?と思われる方もいるかもしれませんが、実際はBonDriverは機種ごとに細かいクセや動作の違いがあり、Spinelはその辺を吸収するために機種対応をいろいろやっています。(対応の必要のない機種もありますが、例えばPX-S1UDが最初Spinelで動かなかったのを吸収したのもSpinel側の機種対応の一例です。)

さて、Spinelは(\Spinel\BonDriverフォルダに)適切なサフィックスをつけたBonDriverを、「チューナー個数分」入れておかないとチューナー個数を判別できませんので、例えば

BonDriver_ABC.dllというオリジナルのBonDriverが提供されている場合、
BonDriver_ABC0.dll、BonDriver_ABC1.dll、BonDriver_ABC2.dllのような、オリジナルのネーミング+サフィックス.dll というネーミング

として、チューナ個数分を該当フォルダに入れておく必要があります。(0,1,2等はユニークなものであれば、どんな文字でも構いません。iniファイルも提供されているなら同じネーミングで入れておく。)

これに加えて同種のデバイスを複数管理する場合、何台目のデバイスなのか、また特にマルチチューナデバイスの場合地上波チューナなのかBS/CSチューナなのか、その何個目のチューナなのかを指定することで、個々のチューナが識別されるようになります。

具体的にはBonDriver_Spinelxxx.dll.iniというファイルで、上の図にあるように

TunerPath = "PXW3U3/0/S/0"

のように指定することで、個々のクライアントのBonDriver_SpinelxxxがSpinelサーバ上のどのチューナーを見に行くかが決まることになります。

今回はこれにBCUD用の定義体を加え、

 PXBCUD

という識別子を付けました。

PX-BCUDはBS/CS専用チューナで、1台あたり1個のチューナしかありませんので、複数台をSpinelで管理させる場合のTunerPathは

PXBCUD/0/S/0、PXBCUD/1/S/0、PXBCUD/2/S/0

のように識別されることになります。

なお今回私の環境ではPX-S1UD 1台も同じようにSpinel配下に置きますが、こちらは

PXS1UD/0/T/0

という識別になります。(これが2台3台に増えていく場合は、PXS1UD/1/T/0、PXS1UD/2/T/0 のように識別することになります。)

2)チューナの共有とチャンネル優先権

Spinelの特長の1つに「排他制御」という言葉が出てきます。BonDriver_Spinelxxx.dll.iniの

RequireExclusiveChannelControl =

というパラメータで指定するので、正確には「排他的チャンネルコントロール」なのですが、これを「排他制御」と言ってしまうと誤解を招きやすいので、上記のような表現のほうが適切なのではないかと思っています。

つまりSpinelの特長の1つはむしろ排他ではなく、逆に1台のチューナを何台のクライアント(プログラム)からでも共有できる、という点だと思います。たとえば教室のようなところで十数台のPCに同じ映像を配信し、時間が来たら一斉にチャンネルを切り替える、というような使い方もできます。

まあ自宅に十数台もPCは無いかもしれませんが、例えば録画中の映像を別のPCでチェックを兼ねて同時視聴する、とか、家の台所と居間で同じ番組を流して行き来しながら観られるようにする、手元で字幕やニコ実入りの画像を流しながら別のPCを使って大画面で純粋な映像だけを映す、など、割と気軽に使える便利な機能です。

ただし、特に録画中に勝手にチャンネルを切り替えられても困るので、この「排他的チャンネルコントロール」は、チューナを共有しつつその辺を防ぐための機能だと言えます。

この辺の共有とチャンネル排他コントロールの機能について、簡単に説明したのが次の図です。

Spinelexcl

ここで優先権 = とは具体的には、RequireExclusiveChannelControl = 1(有)/0(無し)という指定になります。

3)SpinelとBonDriver_Spinel間の通信手順

これはネットワーク越しの場合はTCP/IP、ローカル(同じOS内)の場合はpipeを使います。(BonDriver_Spinelxxx.dll.ini の ForceTCPDataLinkMode = で指定します。)

これを0にしておけば自動的に選択してくれるはずですが、気のせいかうまく行かなかった記憶がありますので、ローカルでは0、ネットワーク越しでは1を必ず指定するようにしています。

4)選択的スクランブル解除

SpinelはB25Decoder.dllを同じフォルダに入れておくことで、映像スクランブルを解除しながらクライアントに流すことができます。

クライアント側のTVTestやEDCBでもスクランブル解除はできますし、Spinelでスクランブル解除すると(特にCSの場合)同じチャンネルの全サービス(9個の時もある)を一斉にスクランブル解除しようとしますので、BCAS-カードリーダの負荷が非常に重くなり、CS 2~3チューナー程度の同時処理でも限界を超えてしまって画面がカクついたりDropを起こす、という事態が起こりえます。

そういうわけで、BS/CSではむやみに使わないほうが良いのですが、それでも非力なスレートや少し古いPCをクライアントにする場合、映像を滑らかにするために便利な機能です。

そういったこともあり、現在のSpinelでは、クライアントやBonDriver_Spinel毎にSpinel側でのスクランブル解除をする/しない を選択ができるようになっています。

① Spinel.ini にDescrambleControl = の指定 (2ならクライアントの要求に合わせてスクランブル解除・デフォルトは解除しない、3なら同じく、ただしデフォルトはスクランブル解除)

② BonDriver_Spinelxx.dll.ini に DesiredDescrambleControl =  (0ならSpinelのデフォルトに合わせる、1ならスクランブル解除要求、2ならスクランブルされたまま送ってもらうことを要求)

以上の組み合わせで柔軟に、スクランブル解除をSpinel側に依頼する/しない を選択することができます。

(ただし、この節の冒頭にもありますが、Spinel側でスクランブル解除する機能を使うためは、\SpinelフォルダにB25Decoder.dllというモジュールを入れておく必要があります。過去にはW3U2の記事の中でその手順も解説していましたが、現状このモジュールの入手性が悪くなっているため、現在の当Blogのガイドではスクランブル解除の手段としてそれを使わない方法のみを解説しています。このモジュールはMulti2Decのパッケージか、一部のEDCBパッケージの中に入っていますので、やってみたい方はネットで探してみてください。)

5)SpinelはSpinelを呼び出せる

まあ、一段とマニアックな使い方かもしれませんが、こういう構成でも、またこの階層を何段に増やしても、Spinelはきちんと動作します。

Spinelredirect01_2

このように同じ構成で何回もSpinelを通しても何のメリットもありませんが、例えば次の図のようにチューナを積んだ何台かのサーバを動かしている場合、

Spinelredirect02

一旦サーバ1にSpinelでリダイレクトした上でクライアントからはサーバ1のSpinelだけを見るようにすれば、クライアントはサーバー1のアドレスさえ知っていればいいですし、チューナや各サーバのメンテ・構成変更があっても、クライアントの設定は何も変える必要がありません。

この構成の別のメリットとして、Spinel側でスクランブル解除をおこなう場合に、その処理をどこでおこなうかをチューナー毎に決められる(負荷分散ができる)、ということが挙げられます。
普通Spinel側でスクランブル解除させる場合、衛星系チャンネルでは負荷が重くなって、2,3チューナの同時処理でも限界、という事になりますが、この方法で負荷分散させれば衛星何チャンネルでも一括して、スクランブル解除済みのtsを家庭内配信できます。

チューナの仮想化は録画アプリにも有効で、例えばTVRockは1インスタンス=1つのOS あたり8チューナまでしか管理ができませんが、BonDriver_Spinelは仮想マシン上でも問題なく動きますので、能力に余裕のあるマシンなら仮想OSを複数立ててそれぞれでTVRockを動かし、TVRock間連携機能で多数のチューナーに録画を割り振る、といった活用もできます。
(録画のCPU負荷は大したことはありませんので、HDDを散らすこととLANの帯域、およびSpinel 1インスタンスあたりのセッション上限(20)のみに気をつければ良いです。Spinel自体を適切に仮想マシン上に分散させれば、このような構成も柔軟に構築できます。)

また次の図は別の応用例ですが、

Spinelredirect03

同じチャンネルの映像を多数のクライアントに配信する際、サーバを二段にして1台ごとのネットワーク帯域を節約しながら、ネズミ算式に配信先を増やす例で、Spinelで1対多の配信が可能であることを拡張した「家庭内Akamaiシステム」です。無線LANなど比較的細いLANを経由して2階で何人かで観たり、過去記事のように数十のクライアント画面でマルチ画面を構成する時に便利かもしれませんね。

下のほうでご紹介しているBCUD用修正済みSpinel定義体では、BonDriver_SpinelxxxをSpinelから使うための定義も追加してあります。ご興味あられる方は試してみてください。その場合 \Spinel\BonDriverフォルダに入れるときの BonDriver_Spinel のネーミングルールは、

「オリジナルのBonDriverの名前(例えばBonDriver_PX_W3U3_Tx、BonDriver_PT-Txなど)の "BonDriver" を "BonDriver_Spinel" に置き換えたもの」すなわち

BonDriver_Spinel_PX_W3U3_Tx、BonDriver_Spinel_PT-Tx など

となります。(更にもう1段以上Spinelを重ねる場合のネーミングルールは作っていませんが、地上波チューナー用に BonDriver_Spinel__PX_W3U3_Tx、BS/CSチューナー用に BonDriver_Spinel__PX_W3U3_Sx などを間借りして個数分並べれば良いと思います。)

なお BonDriver_Spinel は dll と dll.ini が必要ですのでその両方ともそのネーミングで\Spinel\BonDriverフォルダに、個数分入れてください。そうすれば、

Spinelspinel

この緑の枠内のように、SpinelVirtualTunerという仮想的なマルチチューナーデバイスとして、

"V/0/T/n"(地上波) "V/0/S/n"(BS/CS) のように識別されます。

まあ以上は一種の遊びですが、Spinelは単なるチューナの仮想化やネットワーク共有のソフトではなく、いろんな応用のキャパを持っている・かもしれない・という説明でした。

.

2.PX-BCUD、S1UDをSpinelで使う

1)前提ソフトウェア

Spinelの動作には、.NET Framework 3.5 が導入されていることが動作の前提になります。これらはクライアント側PCにも必要になります。

 .NET Framework 3.5 Service Pack 1

 .NET Framework 3.5 SP1 Language Pack

 .NET Framework 3.5 SP1 修正プログラム KB959209

(以上はWindows7、Windows8以降では導入済ですが、有効化されているかどうかリンクの手順で確認し、何もチェックされていないようであればチェックしてください。
またXP、Vistaの場合、「コントロールパネル-プログラムの追加と削除」を見て導入されていないようであれば、「Windows Update-重要な更新プログラム」から導入できます。個別に入れる時はこちらこちらから。)

次に、TVTest、TVRock等の動作には以下の4つのVC++ランタイム

 Visual C++ 2005 SP1 再頒布可能パッケージ (x86)

 Visual C++ 2005 SP1 セキュリティ更新プログラム KB2538242  (vcredist_x86 を選択)
  (尚、このKB2538242の導入で「使用できないネットワークリソース」というエラーが出た場合は、こちらをご参照。)

 Visual C++ 2008 SP1 再頒布可能パッケージ (x86)

 Visual C++ 2010 再頒布可能パッケージ  (x86)

が必要です。まだ導入されていない場合はそれぞれクリックして、表示された画面で「ダウンロード」をクリックしてください。
「その他の推奨ダウンロード」のような画面が現れたら何も選択せず、画面を下までスクロールして「ダウンロードせずに続けます」を選択してください。

ダウンロードのダイアログが現れたら、「実行」を選択して導入してください。

Cppruntime2005

この画面では「はい」と答えれば導入されます。また「修復」「アンインストール」二択の画面になる場合は既に導入済みですので、「キャンセル」を選んで導入を終了させてください。

解凍ソフトの準備

以後のソフト導入手順の各所でzip や7z などの圧縮ファイルを解凍する必要があります。
OS標準の機能でもzipは解凍できる場合がありますが、TvTest用のfixやSpinelなどで使われている7z はOS機能やExplzhでは解凍できませんので、その辺ピンと来ない方は適切なフリーの解凍ソフトを導入しておいてください。zipも7zもlzhも区別なく解凍できるようになります。

例1)7-Zip
http://sevenzip.sourceforge.jp/
導入するとファイル上右クリックで7-zipのメニューが追加されており、そこから展開(=解凍)、圧縮を指示することが可能になります。

例2)WinRAR
40日を過ぎるとライセンス購入のメッセージが出ますが、毎回「閉じる」を押せば一応継続して利用可能です。
http://www.diana.dti.ne.jp/~winrar/download.html

2)デバイスドライバの導入

ここではPX-BCUDとPX-S1UDのデバイスドライバ(BDAドライバ)の導入を説明します。

① PX-BCUD

デバイスドライバーは、PLEXのBCUDのダウンロードページに最新版がアップされていますので、ご使用のOSに合わせたものをダウンロードし、解凍した中のDriverフォルダの中身を使ってください。
なおパッケージ付属の導入説明書の手順は間違っているので気にせず、BCUDをUSBに挿した状態で、DrvInst32.exe(32bit OSの場合)またはDrvInst64.exe(64bit OSの場合)を実行すれば良いです。

うまく認識できれば、コントロールパネル-デバイスマネージャーで図のように表示されるはずです。

Bcud_devman_2

② PX-S1UD

最新版のデバイスドライバーが以下のリンクにUPされています。これをダウンロード・解凍したものを使ってください。

http://www.plex-net.co.jp/product/pxs1ud_download.html

ただし、S1UDをWindows8 以降(64bit)環境に導入する場合は、現時点ではドライバーの導入で署名回避の手順が必要です。リンクの記事もご参照ください。

3) Spinelプログラムの導入と動作確認

① Spinelプログラム

最新版ver3.6.1.1 を作者のホームページ

http://lapislabs.blog24.fc2.com/blog-entry-25.html

からダウンロードしてください。

これを解凍して、中のSpinel3フォルダの中身を、適切な実行用フォルダ(以下、\Spinelフォルダと表記します) を作ってコピーしてください。

ただしこのままでは中の定義体が古いので、必ず以下のファイルをDLして、更新してください

修正済みSpinel定義体をダウンロード

これを解凍した中身をフォルダ構造ごと、\Spinelフォルダ に上書きコピーしてください。具体的には図の4つのファイルを置き換える形になります。

Spineldefupdate

② BonDriverの配置について (汎用的な解説)

PX-S1UDやW3U3/S3U2、W3PE/Q3PE、PTxのような通常のチューナーであれば、対応するBonDriverを \Spinel\BonDriverフォルダに置くことで、Spinelからそれらのチューナーを使えるようになります。

但しTVTest等で直接これらのチューナーを使う場合との大きな違いとして、Spinelは

(1) 「1個のBonDriverで複数のチューナーにアクセスすること」ができず、同種の複数チューナーを使う場合は、その数だけBonDriverをコピーして用意しなければならない。

(2) それらを区別するため、其々にユニークなサフィックス(BonDriver_SianoXX.dll 等のXXの部分)を付けた上で、\Spinel\BonDriver フォルダに置かなければならない。

(3) BonDriver***.dll と同名のiniファイル (BonDriver***.ini )が存在する時は、それらも同じサフィックスを付けて(例えばBonDriver***XX.ini )、それも \Spinel\BonDriver フォルダに置かなければならない。

(4) それ以外の付帯ファイル(例えばPT2のPTCtrl.exe、PT-ST.iniなど)がある場合は、そのまま \Spinel\BonDriver フォルダに置くこと。

以上のような決まりがあります。

例えばPX-S1UDであれば挿した個数分だけコピー、またPTxやPX-W3U3が2台の場合、地上波と衛星用のBonDriver(とiniファイルがあればそれも) をそれぞれ4個にコピーして、それぞれに0,1,2,3のようなサフィックスを付ける必要があります。

一方PX-W3PE/Q3PEの場合は1枚あたり、1つのチューナーに1個づつのBonDriverがありますので、1枚だけつかう場合はそのままでもOKですが、2枚使う場合はそれぞれを2個にコピーして、0、1 のようなサフィックスを付けた上で、\Spinel\BonDriver フォルダに置く必要があります。

以上のようなルールでBonDriverの配置をおこなってください。

.
[PX-BCUD の場合に限った手順]

一方、PX-BCUDの場合はちょっと特殊ケースなのですが、BonDriverとSpinelプログラムの間に相性の問題があり、直接\Spinel\BonDriver フォルダに置くとチューナーがうまく使えません。そこでそれを解決するためのWrapper が有志によって開発されました。

これを使うためには \Spinel\BonDriver フォルダ直下にはWrapperを置き、その設定ファイルが指し示す所にBonDriver本体を置くこと形なります。

これも2台以上使う時はWrapperのdllとiniファイルを台数分コピーして0、1、2のようなサフィックスを付け、対応するBonDriver本体も台数分コピーして0、1、2のようなサフィックスを付けた上で、各Wrapperのiniファイルを編集して、対応するBonDriver本体を指す必要があります。

③ PX-S1UDとPX-BCUDの場合の具体的手順

(1) PX-S1UD の場合はS1UD用BonDriverをこちらからダウンロードし解凍すると、中にBonDriver本体 BonDriver_Siano.dll が入っています。
うまくダウンロードできない時はここにもアーカイブがありますので、試してみてください。

\Spinel\BonDriver フォルダに、この BonDriver_Siano.dll にサフィックスを付けたもの(BonDriver_Siano0.dll、BonDriver_Siano1.dll など)を個数分加えていきます。
以上でOKです。

(2) PX-BCUDの場合は、まずWrapperをこちらからダウンロードして入手します。
PX-BCUD用BonDriverのラッパー(Wrapper)
 上記リンクからうまくDLできない場合のミラーはこちら→ BonDriver_BSCS_Wrapper.zip

解凍した中にある BonDriver_BSCS_Wrapper.dll とBonDriver_BSCS_Wrapper.ini を \Spinel\BonDriver フォルダに置きます。BCUDが1個のみの場合はそのままの名前でもよいのですが、増やす時のことも考え、サフィックス (0) を付けておくと良いと思います。

BonDriver_BSCS_Wrapper0.dll

BonDriver_BSCS_Wrapper0.ini

次にBonDriver_BSCS_Wrapper0.ini をテキストエディタで開き、内容を以下のように書き換えてください。

[BonDriver_BSCS_Wrapper]
Driver=C:\SPINEL\BonDriver\BCUD\BonDriver_BSCS0.dll

(赤字部分は\Spinelフォルダの置き場所に合せて修正すること)

BCUDが2個、3個の場合は、「BonDriver_BSCS_Wrapper0.dllとini」 をコピーして末尾の0を1、2と変えたものを作った上で、BonDriver_BSCS_Wrapper(n).ini をテキストエディタで開き、内容を以下のように書き換えてください。

[BonDriver_BSCS_Wrapper]
Driver=C:\SPINEL\BonDriver\BCUD\BonDriver_BSCS(n).dll  (n)は1、2・・・

赤字部分は\Spinelフォルダの置き場所に合せて修正すること

- 次に、BonDriver_BSCS(PX-BCUD用)をこちらからダウンロードしてください。ここにもアーカイブがあります。
これを解凍すると、中にBonDriver本体 BonDriver_BSCS.dll が入っています。

Spinel\BonDriver 下に \BCUD というフォルダを作成してください。この\Spinel\BonDriver\BCUD フォルダに、BonDriver_BSCS.dllに0のサフィックスを付けたもの

BonDriver_BSCS0.dll

をコピーします。
(これも、BCUDが2個、3個の時は、BonDriver_BSCS1.dll、BonDriver_BSCS2.dllのようなネーミングにしたものを加えていきます。)

以上でOKです。

④ Spinelの起動確認と自動起動設定

以上のようにBonDriverの配置が終わったら、\Spinelフォルダ下のSpinel.exeをダブルクリックして起動してください。図のようなウィンドウが表示されれば成功です。

Spinelwindow
(ここではPX-S1UDを2台、PC-BCUDを2台定義してあります。)

もしウィンドウに定義した筈のチューナーが表示されなかったり、起動に失敗する時は、BonDriverの置き方や中身が何か間違っていますので、再度チェックしてください。

ウィンドウの最小化ボタンTvremoteviewer_minimize をクリックすれば、最小化され、アイコンSpineliconがタスクトレイに収まります。再度ウィンドウを表示させたい場合はアイコンをダブルクリックしてください。
(尚、最小化するときに間違っても終了ボタンTvremoteviewer_end は押さないでください。Spinelが終了してしまいます。)

うまく動いたら、Windows起動時に自動起動するようにしておいてください。ただし、Windows8以降だとスタートアップフォルダが見つけにくいところに隠れていますので、そこを使うよりは私の場合、「いじくるつくーる」で「起動時に毎回実行」を設定しています。
具体的には項目に以下のコマンドラインを追加しています。

名前:Spinel

コマンドライン: パス名\Spinel\Spinel.exe -WindowState=Minimized

以上でSpinelの導入は終わりです。

4)その他のプログラムの導入

全体のプログラム配置は以下のようになります。

Spinelbcud_filestructc

このうち ⑥~⑫ について、以下でご説明いたします。

⑥ TvTest

こちらのver.0.7.23(x86)をDLし、適切な実行用フォルダ(以下、\TVTestフォルダとします)に解凍してください。
TVtestが上記リンクからうまくダウンロードできない場合、こちらにもアーカイブがあります。

なお、最新版のTVTestでも中に入っているBS、CSチャンネルファイルは必ずしも最新ではありませんので、次の添付ファイルを「右クリック」→「対象をファイルに保存」でダウンロードして、\TVTest実行用フォルダに上書きコピーしておいてください。

「Preset_BS.ch2」をダウンロード

「Preset_CS.ch2」をダウンロード

(上記の名前のままでDLするように注意してください。ときどきブラウザが勝手に.txtという拡張子に改変してダウンロードしようとする場合がありますので、その場合は再度この操作をやり直して、拡張子が.ch2になることを確認してください。)

次に、Microsoft DTVデコーダに対するバグを修正するため、こちらから 0.7.23fixをダウンロードし、解凍します。
 上記サイトがリンク切れしている場合、こちらの一覧からTVTest_0.7.23fix.zipをダウンロード&解凍して使ってください。
中にある2つのファイルを\TVTestフォルダにコピーして、 TVTest_0.7.23fix.exe をダブルクリックし実行してください。
Tvtestfix_6

正常終了が表示されてTVTest.exeの日時が 2013年2月28日11:00 になればOKです。

⑦ BonDriver_Spinel 

作者のホームページ

http://lapislabs.blog24.fc2.com/blog-entry-26.html

から最新版のver3.5.3.0 をダウンロードし、解凍してください。すると直下に
BonDriver_Spinel.dll.ini

x86フォルダの下に
BonDriver_Spinel.dll

がありますので、この2つを適切なフォルダに保存しておいてください。これをチューナー数分だけコピーして、各チューナーに対応して名前をリネームし、iniファイルの中を編集してきます。

(1) PX-BCUDを利用するためのBonDriver_Spinelは上記のセットを\TVTestフォルダの中にコピーの上、以下のようにファイル名の末尾に0を加えてください。

BonDriver_Spinel_BSCS0.dll
BonDriver_Spinel_BSCS0.dll.ini

もし2個目、3個目のPX-BCUDを使う時は、サフィックスを1,2としたもの(BonDriver_Spinel_BSCS1.xxx、BonDriver_Spinel_BSCS2.xxxなど)を同じように加えていくことになります。

次に、BonDriver_Spinel_BSCS0.dll.ini をテキストエディタで開き、該当のところを以下のように修正して保存します。

TunerPath = "PXBCUD/0/S/0"
RequireExclusiveChannelControl = 0
DesiredDescrambleControl = 0

これらのパラメータの説明は、この記事の前のほうにあります。
これも2個目、3個目のBCUDを使うときは、それぞれの BonDriver_Spinel_BSCSx.dll.ini ファイルの TunerPath = の指定を、 "PXBCUD/1/S/0"、"PXBCUD/2/S/0" のようにし、それ以外は同じようにして保存してください。

(2) PX-S1UDを使う場合も同様です。BonDriver_Spinel の2つのファイルをコピーの上

BonDriver_Spinel_Siano0.dll
BonDriver_Spinel_Siano0.dll.ini

のようにリネームした上で \TVTestフォルダに加えていき、iniファイルの中も上記(1)と同じように編集してください。ただし ini ファイル中でTunerPathは

TunerPath = "PXS1UD/0/T/0"

のようにして、S1UDのデバイス識別を指定してください。2個目以降ではこれがPXS1UD/1/T/0、PXS1UD/2/T/0 のようになっていきます。

⑧TVRock

リンク先のファイル置き場から「期限解除パッチ適用済みTvRock09u2(up0699.zip)」をダウンロード可能です。それより前のバージョンはTvRockスレ@ウィキ の倉庫にあります。
http://www35.atwiki.jp/tvrock/pages/27.html

DLしたファイルは適切な実行用フォルダ(以下、\TVRockフォルダとします)に解凍してください。

⑨TvRockOnTVTest

最新バージョン(Mod9.1r2)をこちらからダウンロードします。
あるいはうまくダウンロードできないときは、TvRockスレ@ウィキ の倉庫にもアーカイブがあります。
http://www35.atwiki.jp/tvrock/pages/27.html

DL&解凍後、中にある「TvRockOnTVTest.ini」 と「TvRockOnTVTest.tvtp」の2つのファイルを、\TVTestフォルダの下の、\Pluginsフォルダ にコピーしておきます。

 

5)カードリーダ、BCASカードを使用するPCにセットしてください。

もし既にPX-W3Ux、S3Ux,W3PE等のPLEXチューナを同じPC上でお使いでしたらリンク先の手順で内蔵カードリーダ&カードが共用できますし、BonCasLinkを使えば他PCで使っているBCASカードを共用することも可能です。なお、netcasなど代替のwinscard.dllを使う場合は \TVTest フォルダにそれを入れるだけで、それ以外上記のいずれも不要です。

6)以上で必要なファイル等の配置は終わりです。

ここからTVTest、TVRockの設定に入りますが、基本的な手順はリンク先以降のW3U2の手順とほぼ同じですので、そちらを参照いただければ十分だと思います。(端折ってすみません^^;)

ただしTVRockのDTune.batによる設定では、

●チューナ個数を実際に使う個数に合わせる。

●W3U2の手順だと「地上波」→「BS/CS」→「地上波」→「BS/CS」の順に定義していますが、今回使うチューナ種別に合わせて任意の順に設定していってください。

●チューナー初期設定では、

「チューナータイプ」をBS/CS

「実行アプリ名(視聴用)」をtvtest.exeとし、オプションに

/d BonDriver_Spinel_BSCS0.dll /DID A

を入力。

「実行アプリ名(録画用)」もtvtest.exeとし、オプションに

/d BonDriver_Spinel_BSCS0.dll /min /nodshow /DID A

以下

-2個目以降の定義ではBonDriverのサフィックスを1,2・・ DID xのxをB,Cと変えて行く
-S1UDでは「チューナータイプ」を地上波デジタルとし、オプションのBonDriverはBonDriver_Spinel_Siano0.dll等を指定

以上のように読み換えていっていただければと思います。

また、当記事では「少ないチューナーを仲良く共有する」という発想で、Spinelの「排他的チャンネルコントロール」は設定していません(RequireExclusiveChannelControl = 0 としています)が、TVRockで録画にチューナを使う場合、(上のほうで解説している通り)TVRock側にチャンネル優先権を持たせないと、録画中のチャンネルをうっかり切り替えてしまう、というミスが起きえます。

それを避けるために、TVRockで使うチューナーについては、TVRockが使うTVTest環境で

BonDriver_Spinel_BSCSx.dll.ini に

 RequireExclusiveChannelControl = 1

を指定してください。

ただしこのTVTest環境をそのまま視聴にも使うと、そちらもチャンネル優先権を持つため競合して、録画ミス がやはり起きえます。その辺も綺麗に解決するために、リンク先のW3U2の設定手順の中に、「TVRockで使うTVTest環境とは別に、視聴用のTVTest環境を作る」という手順がありますので、そちらもぜひご参照ください。

このPCで視聴したり予約録画するための設定は、これで完了です。

まで進めれば、設定は終わりです。

6)他のPCからSpinel経由でTVを視聴/予約録画する方法

これも、ほとんどW3U2の手順が使えますので、リンク先を参照して設定していってください。(リンク先にあるBonCasLink周りの設定も、netcasなど代替のwinscard.dllを使う場合以外は、クライアントPCでの視聴のために必要になります。)

以上、ちょっとかけ足でしたが、ご参考にしていただければと思います。いろいろ書きながら気づいた点、端折った点などは、後日また追加していこうと思います。

Bcud_s1ud_spinels_2

Spinelを使った画面イメージはこんな感じになります。もちろん実際のTV画面はLAN上のいろいろなクライアントに映すことになります。

« PX-BCUDを使ったBS/CS110の"お手軽"視聴&録画システムについて | トップページ | TVRock (およびTVTest) のスカパーe2最新編成対応と、チャンネル名称も最新にする方法 »

デジタルTV、TS抜きチューナー」カテゴリの記事

コメント

noiさん、全く同じ機種なら差し替えるだけでOKですが、恐らく今から新しい物を買うとしたらPXW3U3 V2でしょうから、その場合ドライバー、ユーティリティ、BonDriverとも別のものになります。その場合ドライバー、ユーティリティは追加で導入してください。
BonDriverは該当のものを差し替えてください。
もしSpinelを使っている場合、ここのBlogで公開している修正済み定義体(http://vladi.cocolog-nifty.com/blog/files/SpinelDef4BCUD.zip など)を使えば、Spinel\BonDriver下を個数分差し替えるだけでBonDriver_SpinelはW3U3, W3U3 V2とも共通化されますので、TvTestやTvRock, EDCB等の修正は不要です。

気が付いて見れば当たり前のことであり、当たり前すぎるので記述が無いのかもしれませんが、ここの内容を参考にSpinelの設定を行ったところはまったことがあるので参考までに…

Spinelに使用するBonDriverについて必ず32bit版のBonDriverを使用するということです。

コメントにある「びぎな~」さんのトラブルも解決していないようならばこれが原因ではないかと…

その他にPT3とRecTaskの組み合わせのみの話かもしれませんが気になったことがあったので合わせて詳細を入れておきます。

・Spinelのサーバ側で使用するBonDriverは、Spinelアプリが32bit版しか存在しない
 ためBonDriverも32bit版を使用すること
・64bit版のBonDriverを使用すると、Spinelアプリは起動でき正常にデバイスを
 認識した用に画面表示されるが、Spinelクライアントドライバからアクセスすると
 次のメッセージがクライアント側に表示される

チューナーを開けません

・さらにSpinelサーバアプリで次のメッセージが表示される

クライアントの接続を拒否しました
チューナーのオープンに失敗しました
TunerPath = PT3/0/S/0
ClientID = ホスト名/アプリ名/クライアントID

・Spinelで使用するDonDriverはBonDriver本体(.dll)と「PT3Ctrl.exe」のみで
 チャンネル設定ファイル(.ch2、と.CheSet.txt)は原則的に必要ないが、
 地上波デジタルの場合には「BonDriver_PT3-T.ChSet.txt」
 衛星放送の場合には「BonDriver_PT3-S.ChSet.txt」を入れておく必要がある
・「BonDriver_PT3-T.ChSet.txt」および、「BonDriver_PT3-S.ChSet.txt」の
 導入を行っていないと、RecTaskCenterでドライバを選択しチャンネルを
 選択してもチャンネル選択が行われず、RecTaskのログを参照すると次のような
 エラーが記録されている

チャンネル変更がBonDriverに受け付けられません。
(IBonDriver2::SetChannel()の呼び出しでエラーが返されました)

・Spinelのクライアントである「BonDriver_Spinel.dll」を使用する場合には
 同じ場所にチャンネル設定ファイルを設置する必要がある
・チャンネル設定ファイルを設置しないとクライアントプログラムでチャンネル
 選択を行う際にチャンネル名表示が正常に行われなくなる
・なお、「BonDriver_Spinel.dll」は実際に使用するアプリケーションに合わせて
 32bit版か64bit版を選択する

びぎな~さん、レス大変遅くなり、申し訳ありません。

>OpenResult=DriverReturnFalse SessionToken=
の件ですが、spinel.exeを管理者モードにすれば解決するのではないでしょうか?
http://lapislabs.blog24.fc2.com/blog-entry-23.html#comment38
管理者モードにするにはエクスプローラーで\Spinelフォルダを開き、spinel.exeを右クリックしてプロパティから以下の手順で、特権レベルを「管理者として・・」にチェックします。
http://helpx.adobe.com/jp/x-productkb/global/230789.html#main_anc_b
これが当たっている場合、なぜ今非管理者モードで起動しているのかはわかりませんが、とにかくこのメッセージが出る時1つの原因になるようです。

>decorderとしてffdshowをインストールしたのですが、TVtestのほうで認識しない状態
TVTestのデコーダのリストに出てこないという事でしょうか? もし64bitWindowsで64bit版のffdshowを導入していると通常の(32bit版)TVTestからは認識できないと思います。
必ず32bit版を導入してください。

お世話になります。
上記の手順を参考にさせていただいて、同様のセット・アップをしたのですが、いざSpinelを起動してTVtestを動かしたところ、以下のエラーが出ました。
>[2014/04/06 17:17:25.635] OpenTuner: リモートチューナーのオープンに失敗しました。
>OpenResult=DriverReturnFalse SessionToken=923bf3c0d813651fb6c066f68e0cc60b

またdecorderとしてffdshowをインストールしたのですが、TVtestのほうで認識しない状態です。
できるだけ早期に問題を解決して、PCでテレビを視聴したいのですが、どうすればいいでしょうか?
お知恵を拝借させてください。
よろしくお願いします。

>USBハブを使ってチューナーを繋ぐ際、データ帯域はどうなっているのでしょうか?
USB2.0の帯域は理論値480Mbpsで、実データレートは様々なオーバーヘッドや実装の良し悪しによってそこまでは出ないのですが、実際にUSB接続HDDの順次読み書きでも最近は30MByte/s=240Mbps前後は安定して出ますので、よほど古いUSBインターフェースでない限り理論値の半分程度の実効速度はあると思われます。
おっしゃる通り地上波16Mbps、衛星25Mbpsだとしても、1つのポートからハブ経由で10台前後のチューナーをぶら下げても問題ないんじゃないかと。
実際私のPCでも2台のW3U2をハブ経由で1つのUSBポートに繋いでいて、この場合地上波/衛星チューナーを4台づつ計8台繋げていることになりますが特に、データロスや遅延が出ることもありません。

なのでシングルチューナータイプのS1UD/BCUDであればあまり気にすることもなく、1つのUSBハブに剣山状態にしても問題ないと思います。もちろんセルフパワーハブにして、給電には気を付けてください。
(うちではなんだか動きが不安定になったと思ったらハブのACアダプタが外れていた、という経験があります。)

はじめまして。
いつも録画マシンセッティングの際参考にさせて頂いております。
先日PX-S1UDのBondriverをこちらからDLさせていただきました。
ありがとうございました。

ひとつ質問があるのですが
USBハブを使ってチューナーを繋ぐ際、データ帯域はどうなっているのでしょうか?
地デジの放送が16MbpsくらいだとおもうのですがUSBハブを使って複数つないだ際
帯域が足りなくなることはありませんか?

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/570024/54786963

この記事へのトラックバック一覧です: PX-BCUDとPX-S1UDの"ドングルファミリー"を、Spinelで有効活用:

« PX-BCUDを使ったBS/CS110の"お手軽"視聴&録画システムについて | トップページ | TVRock (およびTVTest) のスカパーe2最新編成対応と、チャンネル名称も最新にする方法 »

フォト
無料ブログはココログ
2017年10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

ウェブページ