BonDriver共有ツール総合 [sc](★0)
-
- 555
- 2014/10/14(火) 18:25:32.39
-
今、デスクトップPCにPT3付けて、ソフトはVirtualPTでノートPCから見れるようにしてるんだけと
BonDriverProxyを使えば同じようなことが出来るってことでしょうか?
-
- 556
- 2014/10/15(水) 16:55:39.91
-
>>555
大体あってる
ただし現在スクランブル解除をVirtualPTでやってるなら、そのあたりに若干対応する必要がある
ノートPC側にカードリーダーを持ってくる、BonCasLinkとかを使う、BonDriverProxyにb25パッチを当てる、
その他の方法を使う・・・
みたいな感じで、対応のしかたはいろいろあるから好きな方法使えば良い
-
- 557
- 2014/10/16(木) 08:03:14.84
-
>>556
>BonDriverProxyにb25パッチを当てる
どこにあるの?
-
- 558
- 2014/10/16(木) 20:53:46.88
-
b25パッチはlinux版用につくられた方がおられますね
githubにあるので、ググったらすぐみつかると思います
linux版用ですが、ロジックは同じなのでwindows版に適用するのもごく簡単ですよ
一応当方でも、libarib25をdll化した物と、b25パッチを小改造(libarib25にもパッチ当ててるので、
不要になる筈の処理を削除しただけです)した物との組み合わせで、問題無く動くのを確認しています
-
- 559
- 2014/10/16(木) 20:56:50.64
-
ちなみに、libarib25はwindows環境では多分殆ど使われていませんが、1回目のECM処理でサービスの契約状況を確認して、
未契約のサービスに関しては2回目以降処理しないと言う動作をするので、契約/未契約関係なしに毎回カードにECM処理
させる事になるB25Decoder.dllと比べて、(特にサーバ側でのデスクランブル用途で使う場合は)大分都合が良いです
#もっとも、全サービス契約してるとか、それと同等のアレなカードを使用しているとかの場合は
#あまり変わらないかもしれませんが…
-
- 560
- 2014/10/17(金) 18:05:51.70
-
BonDriverProxyExで、PT2のT側だけチャンネル変更がうまく行かないパターンがあるとおっしゃってた方、
まだみておられるでしょうか?
BonDriver_PTは、T側だけ、OpenTuner()からSetChannel()までが速すぎると選局に失敗する事がある、
と言う話をRecTaskのパッチ眺めてて知ったのですが、もしかしたらそれが原因かもしれません
ウチで再現しないのも、ウチのPT2刺してる録画サーバは遅いから、と一応説明がつきます
そこで、確認用のアプリつくってアレコレ試してみたら、一回だけですが確かに上記現象は確認出来ました
これの原因がBonDriver_PTにあるのかPT1/2-SDKにあるのかはちゃんと調べていないのでわかりませんが、
(軽く見た感じではBonDriver_PTにそんな風になりそうな部分は無さそうに思いますが…)
とりあえずBonDriverProxyEx側でOpenTuner()の後にディレイ入れると回避はできそうなので、任意の
ディレイを設定できる機能を追加してみました
良かったら試してみてください
ttp://www1.axfc.net/u/3343962
サーバ側のiniの[OPTION]に追加で、
---
OPENTUNER_RETURN_DELAY=10
---
みたいに記述すると機能します
#数値の単位はmsで、指定無しの場合はディレイ無しとなります
-
- 561
- 2014/10/17(金) 18:37:52.76
-
キタ━━━━(゚∀゚)━━━━!!
チャンネル変更できるようになりました!
-
- 562
- 2014/10/18(土) 09:57:39.24
-
>>549
thx
Epgsrvが落ちなくなってるかな?
-
- 565
- 2014/10/18(土) 21:54:15.76
-
>>564
PT1Ctrlが原因なんですか?
どうせなら修正バイナリが欲しい・・・
-
- 566
- 2014/10/18(土) 23:46:33.72
-
>>556
ありがと
VirtualPTの中にTVTestを入れて使ってる(昔はPC一台TVTest+EDCBだったけど、別のPCから見るのと録画しないのでVirtalPT+TVTestのみ使用)んだけど、
VirtualPTのソフトを外して(VirtualPTに代わりに)BonDriverProxy+TVTestにすればいいてことかな?
もちろん設定とかチャンネルデータみたいなのコピーしたり、カードリーダー、BCASカードは必要だけど
-
- 567
- 2014/10/19(日) 13:18:47.94
-
どうやら、EARTH::PT::Device::SetTunerSleep()でチューナを省電力状態から通常状態に移行させた後、
T側だけは少し待たないとEARTH::PT::Device::SetFrequency()に失敗するようですね
SDKのヘッダ(兼ドキュメント)に待つ必要がある事等は書かれていないので、PT1/2-SDKの問題と言っても良さそうです
#なお、上記のパターンでSetFrequency()に失敗するとSTATUS_PLL_LOCK_TIMEOUT_ERRORが返ってきますが、
#これもドキュメントにはこの関数の戻り値として書かれていない値です
>>565
と言う感じなので、(PT1Ctrlも含めて)BonDriver_PTの問題では無さそうでした
しかし、SDK以外のどこで対策するかと考えると、やっぱりSDKに一番近い層であるPT1Ctrlが正しいかなと
#最善はSDKが対策する事ですが、正直それ程重大な問題でもないですし、上位層での対策も簡単なので…
-
- 568
- 2014/10/19(日) 13:36:44.65
-
なお、PT1Ctrlで対策しておきたい人は、
CPT1Manager::OpenTuner()とCPT1Manager::OpenTuner2()の最後の辺りの、
if( enISDB == PT::Device::ISDB_T )
の中で、
Sleep(10);
とかやっとけば大丈夫かと思います
また、SDKを使ってチューナを直接操作してる他のアプリである、ptTimerとかVirtualPTが対策してるかどうかは
調べていないのでわかりません
-
- 569
- 2014/10/19(日) 16:35:12.43
-
どっかで見たなそれ、と思ったら手元のPT3Ctrl改造メモに
「OpenTunerにあるSleep(10)がOpenTuner2にないので追加」ってあったw
そりゃ発生しないわけだw
-
- 570
- 2014/10/19(日) 19:57:07.41
-
>>569
いえ、PT3CtrlのCPT3Manager::OpenTuner()にあるSleep(10)は、多分無くても問題無いですよ
#当方はあのSleep()には特に意味は無いと思ってます
問題となるのはあくまでもSetTunerSleep(false)から帰ってきた後の時間ですね
PT1/2とPT3では使用ICが変わってますので、PT3で問題が起きないのはその為かと思います
実際、PT3はSDKのInitTuner()の内部で一旦SetTunerSleep(false) -> SetFrequency()をディレイ無しで行っているので、
仮にPT3に同じ問題があったなら、InitTuner()自体が結構な確率で失敗する筈です
ですが実際にはそう言う事はないので、これはやはりPT1/2が使用しているICに由来する問題なんでしょう
-
- 571
- 2014/10/19(日) 20:03:51.76
-
ちなみに、ptTimerを軽く調べてみたところ、チューナモジュール毎の省電力設定は行っておらず、
どれかのチューナを使用する時はデバイスのチューナモジュール全部省電力を切っている様でした
なので、関係しそうなのはチューナ使用前のデバイス初期化時だけで、そこでは
S0:SetTunerSleep(false) -> T0:SetTunerSleep(false) -> S1:SetTunerSleep(false) -> T1:SetTunerSleep(false) ->
S0:SetFrequency() -> T0:SetFrequency() -> S1:SetFrequency() -> T1:SetFrequency()
と言う感じで初期設定しているので、問題が起きるかどうかは実行時間次第ですね
まず大丈夫かとは思いますが…
-
- 572
- 2014/10/19(日) 21:29:53.98
-
Rev.Aの省電力の不都合と関係しているのかな?
Reb.Bでも起こるのかな?
社長にメール投げてもいいのかな?
-
- 573
- 2014/10/19(日) 22:19:03.39
-
>>570
やっべ読んでるつもりが理解してないの丸判りだ。PT1/2の事でしたね
まあうちも「念のため」って書いてあったし処理をそろえる程度にしただけっぽい
消しても問題ないと判断したけど安全側をとったんだったような気がします
-
- 574
- 2014/10/19(日) 22:43:02.82
-
>>572
ウチのPT2はRev.Bで、それで確認しているので多分Rev.A/Bは関係ないかと思います
テストは、
ttp://earthsoft.jp/PT1_PT2/bin/PT1-PT2-Sample-200.zip
を
ttp://pastebin.com/zj9wcmnd
な感じに変更して行いましたよ
ホントに問題かどうか、社長さんに判断していただけるならありがたいですね
-
- 576
- 2014/10/20(月) 14:21:50.08
-
BonDriverProxyやBonDriverProxyEx
スカパー!プレミアムのボードに対応してほしい。
-
- 577
- 2014/10/21(火) 21:34:53.02
-
>>575
時間かかってしまいましたが、解決できたようで良かったです
(アプリケーションの立場からは)原因特定もできたのでスッキリしましたヽ(´ー`)ノ
>>576
加入した事ないのでスカパー!プレミアムサービスの事は良く知らないのですが、ググってみたところ、
使用しているチューナに使えるBonDriverを使ってTVTestで視聴する、みたいな感じなんですね
それなら、特にこちらで何か対応しないでもそのまま使えるんじゃないかと思います
linuxの方は、サーバ/クライアントモジュールはwindowsと同じく特に問題無し、ドライバモジュールは、
例えばTBS6982などはDVBフロントエンドが提供される様なので、DVB版ドライバモジュール使えば行けそうです
ただ、DVB-S2用に小改造する必要はありそうですね
#具体的には、現状ISDB-SとISDB-Tしか想定していない種類判別及び周波数の設定処理の辺りと、もちろんconfの内容です
なお、linuxで視聴もするならb1に対応したデスクランブラも必要かと思いますが、こちらはlibarib25の小改造で
行けるんじゃないかと思います
-
- 578
- 2014/10/28(火) 18:50:25.75
-
>>577
BonDriverProxyExを使っています。
軽くていいです。便利です。安定しています。
00=PT-T 01=PT-S 2つのグループ指定だけでなく、複数のグループが作れるようになればもっと便利だと思いました。
プレミアムにも対応したらうれしいです。
-
- 579
- 2014/10/28(火) 23:44:13.05
-
日本語読めないのかな?
-
- 580
- 2014/10/29(水) 19:13:28.60
-
>>578
グループの種類は標準では00〜63まで最大64個使えるようにしてるので、必要ならば、
---
00=PT-T;BonDriver_PT-T...
01=PT-S;BonDriver_PT-S...
02=SPHD;BonDriver_BDA...
03=hoge;BonDriver_hoge...
04=...
---
みたいな感じでグループの行を増やして使ってください
ただし、00から順番に探していって、番号が設定されていなければそれ以上の検索を打ち切るようになっているので、
#例えば、00と01と03で設定した場合、02が無いため03の行は無視される事になります
グループを増やす際は番号は飛ばないように設定してくださいね
https://github.com/u-n-k-n-o-w-n/BonDriverProxyEx/blob/master/ReadMe.txt#L13-L17
-
- 581
- 2014/10/29(水) 21:38:10.33
-
>>580
最初から出来たんですね・・・
すみませんでした。
-
- 582
- 2014/10/29(水) 23:23:39.52
-
>>581
いえ、確かに増やせる事がちょっとわかりにくい書き方だったかもしれません
ReadMe.txtを少し変更しておきましたヽ(;´ー`)ノ
-
- 583
- 2014/10/30(木) 18:26:03.81
-
BonCasStub hoge の中の人いますか???
アプリ側に置くBonCasStub.iniを固定のファイル名ではなく、winscard.dllと同じファイル名になるようにして欲しいです。
当方、TVTestやEDCBでwinscard.dllのファイル名を変更して使っています。
変更後のファイル名.iniになると複数のBonCasProxy.exeにアクセスしやすくなって便利です。
-
- 584
- 2014/10/30(木) 23:09:37.46
-
>>583
えと、TVCASをCARDREADER_SCARD_DYNAMIC_SUPPORTで使用していると言う事でしょうか?
EDCBの事は良く知らないのですが、同等の仕組みがあるのかな…
とりあえず対応してみました
https://drive.google.com/folderview?id=0B-b35lIwjw6ybzV5QU9DWkJLUWc
-
- 585
- 2014/10/31(金) 20:09:01.24
-
>>584
対応ありがとうございました。
TVTestは、[CasLibraryNetwork]でTVCASのファイル名を指定
EDCBは、BonCtrl.iniの中でB25Decoder.dllのファイル名を指定
その指定したファイル名の中の文字列winscard.dllをバイナリファイルで書き換えて使っています。
-
- 586
- 2014/11/01(土) 23:59:23.64
-
>>585
> その指定したファイル名の中の文字列winscard.dllをバイナリファイルで書き換えて使っています。
ああ、TVCASやB25Decoderが読み込むdllをヘッダ書き換えで差し替えてると
それならソフト側の対応状況は関係無しですねヽ(´ー`)ノ
-
- 587
- 2014/11/02(日) 03:33:53.39
-
>>584
BonCasStub.ini (winscard.ini)でPATHをBCASとスカパープレミアムで分けて指定できるようにしてほしい。
またFakeWinSCard.dllとかのファイルを指定できるようにしてほしい。
[OPTION]
B25:path=C:\path\to\BonCasProxy
もしくは
B25:file=C:\path\to\FakeWinSCard.dll
B1:path=C:\path\to\BonCasProxy_SPHD
B25はBCAS、B1はSPHDとかでもいい。
[OPTION]
BCAS:file=C:\path\to\FakeWinSCard.dll
SPHD:path=C:\path\to\BonCasProxy_SPHD
-
- 588
- 2014/11/02(日) 10:18:27.72
-
>>587
余計な制御が入るから必要ないんじゃないの?
-
- 589
- 2014/11/02(日) 11:30:46.53
-
>>587
とりあえず、「BCAS:path」と「SPHD:path」でそれぞれ別のBonCasProxyを指定できるようにしてみました
「BCAS:file」は実装してませんが、「BCAS:path」で指定したBonCasProxyの接続先のBonCasServerに
そのdllをロードさせれば、一応同等の事ができると思います
ちなみに脳内テストしかしてないので、ちゃんと動かなかったら教えてください
https://drive.google.com/folderview?id=0B-b35lIwjw6ybzV5QU9DWkJLUWc
#日付がついてる方です
-
- 590
- 2014/11/02(日) 12:25:13.35
-
1つのBonCasServer.exeでB25とB1の振り分けが出来て、
多数のリーダーの待ちうけが出来れば最高なんだよね。
-
- 591
- 2014/11/02(日) 20:50:01.24
-
BonDriverProxy軽いね。
Ex使っているけどSpinelより断然いい。もっと流行って欲しいよ。
-
- 592
- 2014/11/02(日) 23:58:54.09
-
>>590
元々BonCasLinkでは複数のカードリーダ対応は想定されていない感じなので、そこはなかなか面倒そうですね
もし対応しようとすると、多分BonCasLinkの通信プロトコルいじる必要が出てきます
SCardListReaders()の呼び出しをサーバ側にプロキシして、サーバ側で見えてるカードリーダをアプリに返す感じでしょうか…
あるいは、BCAS/SPHDカード専用で良いのなら、SCardTransmit()でコマンドパースして…と言うのもアリかもしれません
いずれにせよ、BonCasServer自体を変更する必要が出てきますけどね
しかしまあ、素直にBonCasServerを複数起動させておくのがお手軽かと思います
-
- 593
- 2014/11/03(月) 00:05:03.38
-
>>591
ありがとうございます
しかしまあ当方面倒はイヤなので、ヘタに流行ってReadMe読まない人とかが使い出すのはノーサンキューです(;´Д`)
-
- 594
- 2014/11/03(月) 02:26:26.81
-
>>590
改造BonCasLinkで出来てたはずだけどな
リーダーごとに別ポートで受け付けるようになってたはず
-
- 595
- 2014/11/03(月) 07:18:49.41
-
>>594
それは実質的にはBonCasServerを複数起動してるのと同じですから、それならそんなに手間ではないですね
>>592で想定してたのは、BCASもSPHDも同じポートで待ち受けて処理するパターンで、
この場合アプリからは、BonCasProxyを使ってても複数のカードリーダが見えるようになります
で、>>589は、BonCasLinkのプロトコルはいじらずにそれと大体同等の事ができるようにする為の機能追加ですね
ただしもちろん、BCAS用とSPHD用のBonCasProxy/BonCasServerの組がそれぞれ起動している必要があります
またそもそもの話ですが、BonCasServerでBCAS用以外のカードを扱うには、BonCasServerを改造
(BcasCard.cppでやってる余計な初期化処理を削除)する必要があります
バイナリパッチで良ければ、手元にあるsha1ハッシュ値が
---
e0b3b6a08ab79f53ba2030b169b5238719ce2993
---
のBonCasServer.exe(53248バイト / 2008/04/28 17:38:02)に対してで言うと、
---
00001D09: 21 -> 2C
---
で多分行けるんじゃないでしょうか(これも脳内テストしかしてませんが)
-
- 596
- 2014/11/03(月) 07:21:37.51
-
なお、複数のカードリーダが見えると何が嬉しいのかと言うと、例えばB25/B1DecoderやTVCAS_B25/B1は、見えてる
カードリーダに順番にアクセスしてみて、初期化要求に対して期待してるレスポンスが得られた場合に
そのカードリーダを使用するようになっているので、特に指定しなくても必要なカードが刺さってる
カードリーダを探して使用してくれる、と言う辺りでしょうか…
#もっとも、結局その上位層のアプリでは、あるデータに対してどのCASシステムを使用するか、と言うのを選択する
#必要がありますから、TVTestで言うところのCasLibraryNetworkの様な仕組みは必要になりますけども
-
- 597
- 2014/11/03(月) 12:25:54.58
-
使おうと思ってやり始めたけどイマイチ使い方がわからない
最低限で使おうとすれば
親PC:BonDriverProxy+TVTest(カードリーダー+CASカード)
子PC:BonDriverProxy+TVTest (カードリーダー+CASカード)
でいけるのかな?
-
- 598
- 2014/11/03(月) 17:41:24.80
-
>>594
BonCasLink Ver.1.10 z2 −
BonCasLink Ver.1.10と行えることは変わりません。
フックするプロセスを指定できるように改造と下記小修正を行いました。
(1.10オリジナル→1.10 cust→1.10 z2)
・フックするプロセス指定を拡張(Proxy)
・多重起動防止(Server/Proxy)
・設定を閉じたら即設定保存(Server/Proxy)
・複数のカードリーダーがあった場合複数ポートで待ち受ける(Server/Service)
■複数カードリーダー対応
Server/Serviceを動かしたPCに複数のカードリーダーがあった場合、それぞれ別のポートで待ち受けをします。
ポート設定が6900(デフォルト)の場合、1台目が6900、2台目が6901と1ずつ増えます。
カードリーダーの割り当てについてはOutputDebugStringで出力を行っています。
確認をする必要がある場合は起動時にログをDebugViewなどで探してください。
-
- 599
- 2014/11/03(月) 19:19:47.44
-
BonCasLinkを使わずに、
BonDriverProxyの中でCAS処理してくれるのが理想。
TVで視聴、EDCBで録画だとCASが2処理になる。
BonDriverProxyで処理してくれたら1処理で済む。
-
- 600
- 2014/11/03(月) 21:31:02.94
-
そーですね(棒)
-
- 601
- 2014/11/03(月) 22:25:02.54
-
>>597
最低限の構成は、
親PC:BonDriverProxy+各種BonDriver
子PC:BonDriver_Proxy.dll+TVTest等の各種BonDriver使用アプリ+CAS処理関係
ですね
イメージとしては、子PCのBonDriver使用アプリに対して、読み込んだBonDriver_Proxy.dllを
親PC側に存在するBonDriverに見せかける様な感じです
-
- 602
- 2014/11/03(月) 22:36:33.06
-
>>599
以前にも書いたのですが、それに関しては機能を実装する事自体は簡単なのですが、
著作権法的に地雷かもしれないので意図的に避けています
最新版のTVTestやEDCBやptTimerがCAS処理を行わないのと同じ理由だと思っていただければ…
ただそれとは別に、サーバモジュールでのデスクランブルは、チューナ数が増えてそれぞれ別のチューナに
アクセスするクライアント数が増加した場合に、CAS処理(multi2デスクランブル部分ではなく、
カードでのECM処理部分)がボトルネックになりかねませんから、個人的にはアーキテクチャとして
あまり良い形だとは思いませんけどね…
例えば、Spinelでデスクランブルしようとすると、CS数ストリームでドロップし始めると言われてるのは、
それ(とB25Decoder.dllの仕様)が理由だと認識しています
ちなみに>>558-559はその辺りに関しての情報ですので、やはりその機能を組み込みたい、と言う場合には
参考になるかと思います
なお、>>558でちょっと書いてるlibarib25へのパッチは
ttp://pastebin.com/xiZg4W9j
の事です
-
- 603
- 2014/11/05(水) 21:58:47.99
-
BonDriverProxyEXいいね。
TVTestとSpinelで6画面同時再生すると負荷50%だったけど、
TVTestとBonDriverProxyEXの組み合わせにしたら負荷20%になった。
とにかく軽いしチューナー共有できるからいい。
-
- 604
- 2014/11/06(木) 05:40:00.32
-
誰かBonDriverProxyExとPX-W3PEで運用してる人おる?
色々と試行錯誤したんだが、どうやってもTVTestの起動時に「CreateBonDriver() の呼び出しで NULL が返されました。」と表示されてしまう。
ちなPX-W3PEのドライバーは最新。OSはWHS2011です。
-
- 605
- 2014/11/06(木) 22:44:07.12
-
>>604
PX-W3PEなら、BonDriver_PX_W3PE_T0.dllとかだと思いますが、
確認事項としては、
・TVTestから対象BonDriverを直接読み込んでの視聴は可能か?
・windowsファイアウォールの設定含め、ネットワーク的な問題は無いか?
・x64版のBonDriverProxyEx.exeを使っていないか?
・BonDriverProxy関係の設定にミスは無いか?
あたりでしょうか
当方PLEXチューナは持っていないので、こうすれば絶対大丈夫とは言えないのですが、
TVTestで直接読み込んで問題無いなら多分使えるんじゃないかとは思います…
-
- 606
- 2014/11/07(金) 09:17:30.88
-
Bondriver_Linuxの周波数テーブル番号は
どうやって変えたら良いの?
当方フレッツテレビでTOKYOMXの
物理チャンネル番号が20なので変えたい
のです。
このページを共有する
おすすめワード