2011/03/20(日)
SpinelバージョンアップでB-CAS処理有無の使い分けが可能に
以前より構築、運用しているPT2の「TV録画サーバ」。
- PT2での地デジ録画&視聴サーバ構築・ソフト設定(サーバ)編 - masahirorの気まま記録簿
- http://d.hatena.ne.jp/masahiror/20100301/pt2_server
上記手順で構築していると、「BS/CS録画の際にドロップが多発する」という事象に陥った。詳細と解決先は下記エントリ参照。
- Spinel経由だとBS受信でドロップが発生する件 - masahirorの気まま記録簿
- http://d.hatena.ne.jp/masahiror/20100601/spinel_pt2_bs
その後、Spinelのバージョンアップがあったと、上記エントリのコメント欄で教えてもらった。詳しく調べたところ、新バージョンではSpinelへの接続ソフトごとに、B-CAS処理(スクランブル解除)のON/OFFを切り替えれるようになったとのこと。
これは早速試してみたい。ってことで、やってみた。
まずは最新版の入手。以前はアップローダでしか公開されていなかったが、公式サイトが出来たようだ。
- Blog - Lapis Labs
- http://lapislabs.blog24.fc2.com/
上記2つのエントリを元にしたPT2環境ができあがっている上で、本日現在の最新版「Spinel ver3.5.0.1」「BonDriver_Spinel ver3.4.0.0」を使用する前提で記事を書いていきます。
新バージョンの変更点として、
Spinel ver3.5.0.1 を公開しました。 - Blog - Lapis Labs
- クライアントごとにスクランブル解除のON/OFFをコントロールできる機能を実装しました。
詳しくはSpinel.ini.defaultのDescrambleControlの項目を参照して下さい
が挙げられる。これにより、Spinelに接続するアプリケーションごとにスクランブルをON/OFF切り分けれるようになった。
これで何がメリットかというと・・・
- BonCasLinkを使う必要がなくなった
- 上記を満たしつつも、BS/CS録画時のドロップ多発が回避できる
という2点。
まず、クライアント目線で見てみよう。これまでは、SpinelからスクランブルのかかったTSデータをTVTestが受け取り、BonCasLinkでデコードした上で映像を見ていた。図にするとこんな感じ。
この場合、TVTestを動かす全クライアントにBonCasLinkを入れる必要があった。インターネット経由でTVTestを利用する際は、BonCasLinkの設定が面倒で視聴しにくい状態であった。
しかし、新バージョンのSpinelとBonDriver_Spinelを使用すれば、TVTestにはスクランブルが解除された映像を送ることが出来、ドロップの懸念があるEDCBにはスクランブルがかかったままの映像を送る、といった異なる動作が出来るようになった。
図を使って簡単に解説。まずサーバの場合。
Spinelでスクランブル解除してしまうとEDCBの録画の際にドロップが多発してしまう。そのため、スクランブル未解除のままEDCBに画像を送り、EDCB側でスクランブル解除するのが望ましい。サーバ側のためB-CASカードも刺さっており、EDCBによるB25処理は問題なく実行される。
次にクライアントの場合。
クライアントの視聴ソフトである「TVTest」からSpinelへの映像要求時には、Spinelはスクランブル解除済みのデータを送るようにする。こうすることで、B-CASの刺さっていないクライアント、およびBonCasLinkで仮想的にB-CASがあるようにする必要が無い。視聴だけのため、BS/CS視聴時の多少のドロップは気にならない。
概要的には以上のような感じ。
次に、実際の設定変更に入っていく。
Spinelのバージョンアップ
まずは最新版をダウンロード。
解凍して出来たファイルを、Spinelがインストールされたフォルダ内で上書きする(Spinelは終了させておくこと)。
Spinel設定変更
Spinelの設定項目が一部変更されている。今回の「アプリごとにスクランブルON/OFFを切り替える」を有効にするため、Spinel.exeと同じフォルダにある「Spinel.ini」を下記の通り修正する。
まず、B25関連の設定を削除する。具体的には下記の記述部分をばさっと削除。
; B25Decoderの動作を指定します。 ; 0: 無効にします。 ; 1: 有効にします。 EnableB25Decoder = 0
次に、新機能を有効にするため、下記の通り追記する。
; B25/B1スクランブル解除の動作を指定します。 ; 解除を行うにはそれぞれB25Decoder.dll/B1Decoder.dllが必要です。 ; 0: 常にスクランブル解除前のTSを送信します。 ; 1: 常にスクランブル解除済みTSを送信します。 ; 2: スクランブル解除ONを要求してきたクライアントには解除済みTSを送信しますが、 ; それ以外のクライアントには解除前のTSを送信します。 ; 3: スクランブル解除OFFを要求してきたクライアントには解除前のTSを送信しますが、 ; それ以外のクライアントには解除済みTSを送信します。 DescrambleControl = 3
原則解除とし、EDCBから呼び出すときだけ解除前のデータをもらうようにする。
BonDriver_Spinel のバージョンアップ
作業前にEDCBを終了させておくこと。
そして、最新版をダウンロード。
解凍して出来たファイルのうち、「x86」フォルダ内にある
- BonDriver_Spinel.dll
を、EDCBインストールフォルダの「BonDriver」フォルダへコピー。以前の例でいうと、
C:\PT2\EDCB\BonDriver
にコピー。
そして、以前の「BonDriver_Spinel」を削除し、アップデートする。
まず、
- BonDriver_Spinel_PT-T0.dll
- BonDriver_Spinel_PT-T1.dll
- BonDriver_Spinel_PT-S0.dll
- BonDriver_Spinel_PT-S1.dll
を削除。
次に、【BonDriver_Spinel.dll】を
- BonDriver_Spinel_PT-T0.dll にリネーム
- 上記をコピーして、BonDriver_Spinel_PT-T1.dllにリネーム
- 上記をコピーして、BonDriver_Spinel_PT-S0.dllにリネーム
- 上記をコピーして、BonDriver_Spinel_PT-S1.dllにリネーム
という作業を行えば完了。
BonDriver_Spinel設定変更
バージョンアップにより設定項目が増えたのと、Spinelからスクランブル解除前のデータをもらうよう設定する。
下記設定ファイル
- BonDriver_Spinel_PT-T0.dll.ini
- BonDriver_Spinel_PT-T1.dll.ini
- BonDriver_Spinel_PT-S0.dll.ini
- BonDriver_Spinel_PT-S1.dll.ini
をそれぞれ開き、すべてのファイルに次の行を追加していく。
; スクランブル解除を行ったTSの配信を希望するかどうかを指定します。 ; 実際に解除済みTSが配信されるかどうかは、サーバ側のDescrambleControl設定値によって決まります。 ; 0: 特に希望がない(どちらでもよい)事を通知します。(デフォルト) ; 1: スクランブルが解除されたTSの配信を希望する事を通知します。 ; 2: スクランブルされたTSの配信を希望する事を通知します。 DesiredDescrambleControl = 2
これでサーバ側の設定変更は完了。
あとはSpinel、EDCB共に立ち上げ、正しく録画出来るか動作確認。
TVTest側の影響
クライアント側に入れているTVTestの方は、BonDriver_Spinelを上書きするだけでよい。
※逆に言うと、BonDriver_Spinelを最新化しないと動作しなくなる。
上記「BonDriver_Spinel のバージョンアップ」で用意した
- BonDriver_Spinel_PT-T0.dll
- BonDriver_Spinel_PT-T1.dll
- BonDriver_Spinel_PT-S0.dll
- BonDriver_Spinel_PT-S1.dll
をコピーし、クライアント側のTVTestインストールフォルダに上書きすればよい。
例でいうと
C:\PT2Client\TVTest
へ上書きコピー。
「BonDriver_Spinel_PT-T0.dll.ini」などの設定INIファイルは、変更しなくても問題ない。というのも、今回の追加設定項目が無い場合、スクランブル解除された信号が送られる設定をSpinelに行っているからである。
設定が完了したら、BonCasLinkクライアントを終了させて、正常に視聴できるか動作確認。
BonCasLinkの停止
今回の対処で、サーバ側クライアント側共にBonCasLinkの出番は無くなるため、アプリケーションを終了させるなり、スタートアップから削除するなりして構わない。
万が一のため、ファイル自体は残しておいてもよいが・・・
まとめ
上記により、さらにPT2環境の利便性が向上した。
これまでは、TVTestを入れたクライアントにはBonCasLinkも入れる必要があり面倒であった。
さらに、BonCasLinkクライアントはサーバの指定がIPアドレスでしかできず、DDNSなどで出先からTVTest+BonCasLinkで視聴しようとした際、毎回ホスト→IP変換して設定変更しないといけないため面倒だったが、これでTVTest単体で動くようになり、簡単に視聴できるようになった。
それでいて録画に影響が無いので、願ったり叶ったり。
作者さん、神アップデートありがとうございました。
また、新バージョンのリリースを教えてくださった「はろおさ」さん、ありがとうございました。
- 出版社/メーカー: アースソフト
- メディア: エレクトロニクス
- 購入: 7人 クリック: 571回
- この商品を含むブログ (24件) を見る
- 5 http://www.google.co.jp/search?hl=ja&lr=lang_ja&tbs=lr:lang_1ja&q=pt2+spinel&aq=f&aqi=g8g-m2&aql=&oq=
- 5 http://www.google.co.jp/search?q=spinel+ダウンロード&hl=ja&tbo=1&prmd=ivns&source=lnt&tbs=qdr:w&sa=X&ei=l4yKTbmHCsSecO3x9bMM&ved=0CA0QpwUoAw
- 3 http://search.yahoo.co.jp/search?p=解凍して出来たファイルを、Spinelがインストールされた??%
- 3 http://www.google.co.jp/search?hl=ja&q=Spinel+最新版&lr=lang_ja
- 3 http://www.google.co.jp/search?hl=ja&q=pt2+spinel+ダウンロード&aq=6&aqi=g10&aql=&oq=pt2+sp
- 3 http://www.google.co.jp/search?q=PT2+boncaslink&num=50&hl=ja&safe=off&rlz=1B3GGLL_jaJP390JP390&tbs=blg:1,sbd:1&source=lnt&sa=X&ei=3USJTZP3N4rsvQP925jgDg&ved=0CBYQpwUoAQ
- 3 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGLL_jaJP354JP354&q=BonDriver_Spinel-Updete
- 2 http://club.coneco.net/user/8178/review/55651/
- 2 http://d.hatena.ne.jp/
- 2 http://ezsch.ezweb.ne.jp/search/?query=レーンキャッチャー+ラウンドワン+R+S++++&start-index=6&adpage=3&ct=1101&sr=0000&t=20110323125534&filter=1
■ このページについて
ホームページ:MN SOFTWARE HOMEPAGE からリンクしてるブログです。
公開しているソフトの開発状況や、作者の日常の出来事・イベント・体験談・考え事などの記録。購入したもののレビューやお気に入りのものの紹介なども。カウンタ→
目的の記事が表示されていない場合は、検索してみてください。
※検索ワードは1単語程度に減らした方がヒットしやすいです。例:「ご飯 炊き方 梅干」→「ご飯」