>>144 バグ修正、ありがとうございます! 助かりました^^
>>146 > ※ Version 1.1 より TunerPath に ";" で区切ることにより複数のスペアとなる
> BonDriver が追記可能となっている。
ちょ、何この神機能
すまん、興奮しすぎて自己レスしてしもたw
これで予備機がVirtualPTから解放される!
Readmeの内容が全く理解できない俺には無理っすね。w
何故か初期バージョンからファイルは保存してますが。
>>150 TunerPath=RDCT\BonDriver_Spinel_PT-S0.dll;RDCT\BonDriver_Spinel_PT-S1.dll;RDCT\BonDriver_Spinel_PT-S2.dll;RDCT\BonDriver_Spinel_PT-S3.dll
とか書いたら、S0からS3まで順番に開いていって、
最初にopenできた奴でチューニングしてくれるって事らしい。
連番でも使用できるよ
[Setting]
TunerName=Reduction:PT-TS
TunerPath0=Reduction\BonDriver_PT-T1.dll;Reduction\BonDriver_PT-T0.dll
TunerPath1=Reduction\BonDriver_PT-S1.dll;Reduction\BonDriver_PT-S0.dll
FullOpen=0
RecordTransit=1
LazyOpen=0
SaveCurrent=0
tuner pathの連番の違いがよくわからない
仮に
> TunerPath0=Reduction\BonDriver_PT-T1.dll;Reduction\BonDriver_PT-T0.dll (※UHF)
> TunerPath1=Reduction\BonDriver_PT-S1.dll;Reduction\BonDriver_PT-S0.dll (※BS/110CS)
> TunerPath2=Reduction\BonDriver_PT-T2.dll;Reduction\BonDriver_PT-T3.dll (※UHF)
こんな設定にすると、TVTestとかからは
BonDriver_RDCT=UHF/BS/110CS/UHF
の4波チューナーが繋がってるように見える・・はず。ここに
> TunerPath3=Reduction\BonDriver_PT-S2.dll;Reduction\BonDriver_PT-S3.dll (※BS/110CS)
を追加すると
BonDriver_RDCT=UHF/BS/110CS/UHF/BS/110CS
の6波チューナーになるはず(誰得)。
このとき、二つあるUHFはそれぞれ選んだ時に
UHF1: PT-T1⇒PT-T0
UHF2: PT-T2⇒PT-T3
の順で参照される・・のかな。詳しく調べて無いから分から、ちょっと違うかもしれないけど
TVTestで同じ周波数のチューナーをまとめて使おうとしたけど排他にしないと次のチューナーを探さないのね。
排他にしちゃうとEDCBの録画が失敗しちゃうの・・・
チューナーのOPEN/CLOSEで判別している限り満足に使えないわ・・・
RDCTで放送チャンネルを確認して振り分けられるようになってほしいわ。
排他にしないチューナーが使用中でも開けるのはアタリマエで
排他のチューナーは開けるけどチューニングができないので
OpenCloseのタイミングだけではなく、チャンネル切替の
タイミングでチューナーを切替えている。
なので、チャンネルを切替えるとチューナーが自動的に切り替わるよ
>>156 そもそもSpinelがうまい事やってくれたら、クライアント側で小細工する必要ないんだけどねぇ。
なんだ、ただの神アップデートか
>>158 自動で切り替わらないよ。
非排他だと、1でチャンネルを変えると2もチャンネルが変わってしまう。
非排他はSpinelの仕様的に仕方ないじゃん
というか、非排他だとほかのクライアントが使用中なのか確かめる術がないんだよね
横からすみません。
TVTestだと、.transit.txtが作成されるのですが、EDCBだと、.transit.txtが作成されません。
TVTestで作成された.transit.txtを、EDCBで使うとチューナーを認識できるようになります。
みなさん、.transit.txtがない状態でEDCBを起動すると作成されますか?
チャンネルスキャンをやり直すと作成されるはず
駄目なら .ini ファイルの Setting セクションに RecordTransit=1 を追加
それで作成されないならディレクトリのセキュリティ属性か何かの問題かも
スキャンが面倒くさい場合は .ini に FullScan=1 と書いて呼び出すと自動作成されるはず
>>169 .ini に FullScan=1 を追加しても駄目でした。
D:\以下のディレクトリに置いているのでセキュリティ属性も問題がないと思います。
10.69で試して駄目でVS2012でビルドしても駄目でした。
ずっとがんばったけどやっぱダメ
BonDeiverのオープンができませんでした
BonDriver_RDCT_S.dll
チャンネル情報の読み込みに失敗しました
EpgDataCap_Bon.exeを起動させるとって出る
>>151 ありがとう。
しかし、作者はどれだけSpinelが好きなんだろう。
>>165 VirtualPT使えば良いと思うよ。
PTxシリーズとPXシリーズしか対応してないけど。
>>173 VirtualPTほど痒い所に手は届かないけど、
Spinelの一番の問題点を小細工で盛大に改善しました的な?
普段VirtualPT使いだけど、こっちはこっちで少し問題があって、
今回の対応は本当に有り難い。予備機をSpinel化するつもり。
175 :
名無しさん@編集中:2013/09/18(水) 07:33:35.42 ID:g8PjRm6y
BonDriver_RDCT圧倒的大勝利!!!!!
>>172 たぶんソイツはTunerPathの指定が間違っているな
フルパスで指定するかもう一度パス通っているか確認してみな
>>177 TVTestで作成した.transit.txtを使うと正常に動作するのでTunerPathの指定は合っていると思います。
EDCBでた.transit.txtがない状態だと、
BonDeiverのオープンができませんでした
BonDriver_RDCT.dll
チャンネル情報の読み込みに失敗しました
と出てチャンネルスキャンもできないので.transit.txtも作成されません。
いや、 .transit.txt があるとRDCTはチューナーを模倣するだけだから
チューナー本体はEDCBを起動した直後ではロードされていないはずだ。
なので、パスをもう一度確認してみろって。
それから、 "" ←こういうダブルクォーテーションとかでパス囲むと失敗すると思う。
Windows7とかでSHIFT+右クリックでパスのコピーとかやったやつを単に貼り付けるだけじゃダメ。
それでもダメならディレクトリに漢字コードがないかどうかチェックするとか。
いや、 .transit.txt があるとRDCTはチューナーを模倣するだけだから
チューナー本体はEDCBを起動した直後ではロードされていないはずだ。
なので、パスをもう一度確認してみろって。
それから、 "" ←こういうダブルクォーテーションとかでパス囲むと失敗すると思う。
Windows7とかでSHIFT+右クリックでパスのコピーとかやったやつを単に貼り付けるだけじゃダメ。
それでもダメならディレクトリに漢字コードがないかどうかチェックするとか。
いや、 逆だな 間違ってた
パスに空白が含まれる場合とかは、ダブルクォーテーションで囲まないとおかしくなるのか
TunerPath="D:\Epg Data Cap Bon\BonDriver\RDCT\BonDriver_Spinel_S.dll"
とか書かないといけないという事か…
>>181 本当に作成されてる? 自分の環境じゃ無理っぽ、、、因みにチューナーはW3U2
>>180 EDCBは、EpgDataCap_Bon.exeの略です。
BonDriverにBonDriver_RDCT.dllを指定していればそのままロードされます。
Pathは確実に通っています。
その証拠に、TVTestで同じINIを使って正常ですし、EDCBを起動したときに指定したBonDriver_SpinelのINIを削除しておくと、
INIがないとEDCB側で警告が出ます。
えーっとまさかBonDriver_RDCTとBonDriver_Spinelを同一ディレクトリにぶっこんでいるという落ちじゃないよね?
ラップする先のBonDriverは、readme.txt に書いてあるみたいに
RDCT ディレクトリとかを作って別途そこに置かないと誤動作起こすよ。
>>184 同一ディレクトリーも試したし、RDCTってフォルダーの中も試したし、まったく別のフォルダーも試してもダメでした。
結果、TVTestでは正常。EDCBは、.transit.txtがあれば正常。
.transit.txtがないとおかしい。って結果になりました。
Win64
EDCB X64 X86 両方
ネットワークは同一PCと別PCからの両方
使用チューナは PT2 PT3 KTV-FSPCIE
BonDriver_RDCT version 1.0 121118
BonDriver_RDCT_1_1_r2 121121
はもともと.transit.txtが作成されないけど、EDCBで正常に起動できました。
BonDriver_RDCT_1_2 3030012(Sc_489856) 130916
BonDriver_RDCT_1_2_r1 3030041(Sc_489863) 130916
transit.txtがないとチューナーのオープンに失敗しました。
チューナーのオープンに失敗しているのでチャンネルスキャンも出来ないから.transit.txtも作成できません。
TVTestでチャンネルスキャンするとどうなる?
>>188 自分の環境でも駄目。今までの報告と同じで
BonDriver_RDCT_1_2 3030012(Sc_489856) 130916
BonDriver_RDCT_1_2_r1 3030041(Sc_489863) 130916
両方とも.transit.txtが作成される。
それをEpgDataCap_BonのRDCTで使うとチューナーを認識する
明日あたりEDCBで試してみるか
TVTestでチャンネルスキャンすると.transit.txtが作成されるので、それをEDCBのBonDriver_RDCTのあるディレクトリへコピー
↑の手順を踏まないとEDCBでチャンネルスキャンできない
.transit.txt使わずにチャンネルスキャンできてる人っているのけ?
9.46 で試したけど正常動作した。
新しい EpgDataCap_Bon は、もしかしてBonDriverディレクトリ配下は
階層的に読み込まれる仕組みなのかな? 使ってないからようわからんけど
BonDriver配下に置かないならこんな感じにすれば動く気がする
●ディレクトリ構成
EpgDataCap_Bon.exe
├<BonDriver>
│ ├BonDriver_RDCT.dll
│ └BonDriver_RDCT.ini
└<RDCT>
├BonDriver_Spinel.dll.ini
└BonDriver_Spinel.dll
●BonDriver_RDCT.ini の内容
----------------------------
[Setting]
;TunerName (必須)
; チューナーの名前
TunerName=RDCT:Spinel_PT-T0 とか
;TunerPath (必須)
; BonDriver 本体のパス (相対パス、またはフルパス)
TunerPath=..\RDCT\BonDriver_Spinel.dll
----------------------------
>>193 相対パスとフルパス試してみたけど.transit.txt使わずにチャンネルスキャンは無理っぽ
それとRDCTフォルダーの配置を↑に変えても相対パスを修正しなくても正常に動作するみたい
>>194 チューナー模倣しているから本体なくても開けることには開けるんだよ。
ただ、パスが通っていないと実際チューニングするときに問題が出るよ。
.ini の [Setting] に LazyOpen=0 と書いてチューナー開けなければパスが
通っていないか、使用中で開けないのどっちかだね。
BonDriver_RDCT.iniのLazyOpen=0のコメント外したけど開けるみたいよ。。。但し、ローカルPC上での話し
さすがに.transit.txt削除すると開けないけど…
チューナーは何使っているの? PT2?
>>197 ごめんなさい。。LazyOpen=0でS0を2つ起動しょうとすると2つ目が蹴られますね・・
W3U2
┐(´-`)┌
>>195 LazyOpen=0 でも駄目
EpgDataCap_BonでRDCTを指定したとき、RDCTで指定したSpinelのiniを削除しておくと警告が出るからパスは通っている。
他のアプリケーションを全て閉じているので競合もない。
ラッパーする部分でバグっているんじゃないの?
で、あなた勝手に決め付けているけど作者?
BonDriver_VTPT.dllの互換モードで今更確認してみたけど、
指摘されてる通り、Transit消すとEDCBでチャンネルスキャンできない。
Transitがあるとスキャン通る(普通に動く)ので、パスは通ってると思う。
EDCB側と相性が悪いのか、どっちかがバグってるのか。
Spinelに置き換えようと思ってたけど、これは少し様子見るべきか・・
>>202 ビルドしてみたけどチャンネルスキャンきちんと通ってるっぽい。修正乙!
>>204 乙
EDCBだけでチャンネルスキャンできるようになりました
ただ、ひとつ気になる点が
TVTestでBonDriver_RDCT_S0/S1.dllのチャンネルスキャンができませんでした
BonDriver_RDCT_TS0/TS1.dll、BonDriver_RDCT_T0/T1.dllは問題ありません
仕様でしたら、ごめんなさい
>>207 0.7.23 Officialでスキャンできたよ?
逆に地デジの挙動がちょっとおかしかったけど、これはRDCT関係ない気がするので現時点では何とも
209 :
207:2013/09/21(土) 22:20:43.87 ID:x1I42aof
どうやら糞環境が原因ようでした。別PCだと問題なくスキャンできました
スタンバイ待機のRDCTラップしたSpinelチューナーを EDCB で
使いまわす場合は予約録画一分位前に録画開始する設定で
「ぴったり録画」をONにしておくとするとうまくいくな。
保守
PT1/2/3のドライバ更新されたけど、VirtualPT動くか誰か試した?
>>212 Windows8.1環境下のこと?
VirtualPTなら普通に動いてるよ。
サービスの登録はやり直す必要があったけど。
>>214 SDKもドライバも3.0に更新済みだよ。
RDCT入れてみた
PT3 2枚、TvRock、Spinelで満足してる環境なんでメリットはあんま無いかと思われたが
RemoteTestで地味に恩恵があった
RemoteTestServerのBonドラ設定欄に***T0.dll,***T1.dll・・・と書くのと
RDCTでスペアとしてまとめるでは空きチャンネルもしくは既に使われている同一チャンネルを
自動で探させるのがRDCTのが断然早かった
スペアではなくTunerPath0,1,2・・・指定でやってch2ファイルの番組名を
「T0_NHK総合」みたいに書き換えとけば、RemoteTestクライアント側でチューナー指定で開くことも
わかりやすく出来る
その際元のBonDriver_Spinel_***.dllのch2ファイルには影響無いのがいい
よく分からないけど何か面白そうなコトやってるな
VMWare下の8.1でEpgDataCap_Bon.exeって動く?
PT1で3.0ドライバ入れて起動すると
BonDeiverのオープンができませんでした
になってしまう。"BonDeiver"だぜ。
対応してるハードウェアできちんと設定すれば使えるんじゃね?
221 :
名無しさん@編集中:2013/12/05(木) 12:48:50.74 ID:FBKz5TBK
EARTHSOFT はまず VMWARE 側が認識していないだろうな
Win7 x64の上でVMware動かしてそのなかでWin8.1 x64起動してる
Win7では何の問題もなく動くけど仮想Win8.1では動かせてない
PS
PT1ってPT2のドライバでも動くのね。diff とったら違うけど
横からすまんが、スレタイ的にSpinelかVirtualPT経由か何かだと思うんだが・・
VMwareじゃないけど、Hyper-V経由でVirtualPT+RemoteTestServerが動く事は確認してる。
まぁ
>>219がVMwareの何かを書かんことには埒があかんが
ESXiでのPCIパススルーの事かと思とった
>>224 素直に受け取れば
>>223だと思うんだけど・・
その場合はハイパーバイザよりもSpinelとかVirtualPTとか、その辺の方がむしろ重要な気が。
ただ、仮想化してること自体がBonDriverの動作不良の要因になるとは思えないし、
実はそれで躓いてて質問先間違えてる可能性も否定できないよなぁとは思う。
ちなみに、Hyper-V上のEDCB+VirtualPT(接続先はホスト環境)でEDCBから定期的に
EPG情報が取得出来てる模様。RemoteTestServerで参照する為のモンで、録画には使ってない。
VMWareではLANの接続モードが何種類かあって
ホストモードだと接続はまず無理だろ
ブリッジ接続モードかカスタム接続でホストPCと
同じネットワークアドレス上に接続構築しないとな
ホストモードってゲストとホスト同士をn対1で接続する機能だろ?
アドレッシングさえ正しくしてやれば無理って事はないのでは。
SpinelとかVirtualPTの仕組みを詳しく知らんから、NAT/NAPTに切り替えたときの挙動はちょっと読めないけど
RTPでカードなんて昔からある話じゃね
>>228 情報不足でなんもわからん
FW絡みじゃね?とエスパーしておく
あけおめ
232 :
名無しさん@編集中:2014/01/06(月) 20:37:18.19 ID:QCnn7506
ことよろ
233 :
名無しさん@編集中:2014/01/17(金) 18:58:56.86 ID:M6hwD+xb
過疎化
596 名前:名無しさん@編集中[sage] 投稿日:2014/01/10(金) 16:43:20.95 ID:zd9NsSEI
サーバにrecpt1+httpパッチ
クライアントにtvtest+BonDriver_HTTP.dllを試してみたらわりと普通にみれた
chinachuがもう少しでTV欄とか変更するらしいから好みなら移行しようかな
だそうな.ここ読んでる人なら目通してるかもしれんけど一応.
VirtualPTのようにチャンネルごと振り分けてくれれば最強なんだが・・・
>>255 優先権みたいな処理ってもっと詳細にできない?
EDCBとTVTestで使ってるけど
EDCBが絶対の優先権で開いているチューナーのところに
TVTestが入るって感じな処理していて
その条件だとTVTestが複数台以上あると
TVtest1が見ている時にTVtest2が上書きされる。
TVtest1が再びチャンネル変えるとTVtest2に上書きされ
開いているチューナーには飛んでいかない。
明示的にiniでチューナーの優先度変えればいいけど
PC台数がチューナー以上で管理すると厄介なことになる。
こんなかんじです
無理かな?
>>255 乙乙。地味だけど有益なツールが増えてくれて嬉しい。
トリップつけ忘れてましたorz
仕事はええw
ありがたやーありがたやー
243 :
名無しさん@編集中:2014/03/03(月) 21:35:23.96 ID:YpYZgXeA
BonDriver_RDCT圧倒的大勝利!!!!!
大勝利って・・誰と戦ってんだよお前,とマジレスしたくなった
チャンネルごとの振り分けが出来るのはVirtualPTだけ?
246 :
名無しさん@編集中:2014/03/04(火) 16:11:08.82 ID:gMqjoN+3
なにそれ?
エイリアスみたいな機能?
>>246 たとえば、Tが2チューナーあったとして、チューナー1でEDCBで18chを録画している場合に、TVTestで18chを開くと
自動でチューナー1を選択してくれる。TVTestで違うCHを指定した場合は、チューナー2を使うようになる。
こうすると余計にチューナーを開く必要がなくなり有効に使える。
チューナーの振り分けはRDCTの予備チューナー駆使したらナントカなりそうだけど、
チャンネルの振り分けはVirtualPTじゃないと無理じゃないだろうか
うん、サーバー作らないとダメそうだ
そこまでやるならVirtualPT向けにBonDriver向けのラッパー作る方が早いんじゃね。
最期の方はデバイス用のDLLが分離されてたし
>>249 作ってほしいけどな・・・
そこまでやってくれる人は居ないだろうな・・・
誘導でこちらにきました
ちょっと教えて下さい
今、テレビに繋いだPCにEDCB+TVtestなんだけど、PT3のPCは別に置いてネットワーク視聴(?)に挑戦してみようかと
以前からSpinelを使えば可能ってのは見てたんだけど、VirtualPTってのも同じことできるんですかね?
VirtualPTが簡単なように読めたんだけど開発が止まってネットワーク視聴の情報があまり見つからず…
できれば手軽に使える方がいいなあと…
>>252 利用者が増えれば情報交換しやすいし、分かる範囲でなら答えるけど、どの辺で躓いてる?
それとも全体の流れから既に分からない?
これからVirtualPTの利用者が増えることはあるのか?作者がオープンソースにするなら別だが。
>>254 大きく増える事はなくても利用者層が入れ替わる程度に増えたり減ったりしてくれたら情報共有出来て良いじゃん。
例えば新OSへの対応方法とか
>>254 ソースの公開はないだろうな。
公開終了時のあのやりとりを見る限りはね
257 :
age:2014/05/04(日) 15:07:04.85 ID:pnByZBvn
ほ
間違えた。
これ使うとSpinel環境に鯖入れてRaspPiのXBMCからテレビ再生できたりする?
261 :
名無しさん@編集中:2014/05/06(火) 10:10:57.29 ID:ekcxgiAP
>>260 spinel使いたいんだけど。元にしてるEDCBのソース自体がspinelでフリーズするものっぽいんですねよ
githubに上がってるソースのどこが問題なのか、調査中。
あとRPIってライブTVの機能あるんでしたっけ?実機持ってるけど、忙しくて放置されてる・・・
ライブTV機能があるんならいけるんじゃないっすかね、
子機はwindows共有からわんこそば状態のTSファイルを再生してるだけと思われるので
Spinelが駄目ならVirtualPTでも駄目かなぁ
ほほう
TS関連ソフトウェア総合スレでこっちを教えてもらって来ました
BonDriverのプロキシツールつくったので暇な人がいたら試してみてね
ttp://www1.axfc.net/u/3248489 機能の少ないSpinelみたいなものだから、既にSpinel等で安定運用してる人には意味無しな気もするけど…
Readmeを一通り読んだが自分の環境では使い道が思い浮かばない
Surface RTやSurface 2 RTで使えるアプリお願いします
267 :
名無しさん@編集中:2014/06/01(日) 22:54:08.41 ID:CAR8qVIO
多分、ロケーションフリーみたいな使い方を想定しているんだろうとおもう
>>264 珍しく新ツールキタ(゚∀゚ )
今後、機能追加してく予定は無いっすか?
Spinelもなんだけど、帯域がでかくて外からの接続は絶望的
asfとかNVENCみたいにリアルタイム配信出来たら素敵だなーと思ったり
QSVEncが一番対応環境多いんじゃないかなぁ
>>268 横からですが、それができれば素晴らしいな〜
素人考えだが、わざとドロップさせてfpsを下げて帯域を狭めるとかできないかな
MPEG-2を解釈しなきゃいけないから地味にハードル高い気がするなぁ
単純にdropさせたらブロックノイズだらけのゴミデータが出来るだけ
remotetest
>>268-271 んー「BonDriverインタフェースを持った軽くてデータ落ちが発生しないプロキシ」を目標としてつくったので、
データをトランスコードしてストリーミング配信みたいな話になると最初の意図からだいぶズレてしまうんですよね
現時点では法的にどう転ぶかわからないスクランブル解除を行う事になりますし…
個人的には、複雑な事は一つのアプリで全部やるんじゃなくて、役割ごとにそれ用のアプリを使う方が好きです
スマホ等へのストリーミング配信ならRecTask + ffmpeg(とかVLC) + Apache httpd辺りでやればそんなに複雑ではなさそう
…と思ったけどチャンネルの変更指令を出す方法だけは別途考えないとダメですね
その辺りはそれ用のwebアプリをつくるか、その機能を持った簡易サーバアプリをつくるかでしょうか
(使った事ありませんが、RemoteTestがやってるのは後者みたいですね)
ともあれ、
>>264のツールでやりたい事は、この例で言うとチューナからRecTaskまでの間の通信なんですよ
軽くてシンプルなSpinelって感じか
少し使ってみたけど
TVTestで視聴中に映像や音声が少しずつ遅れていくのは俺の環境が悪いのかな
リビングにあるテレビと同じチャンネルに合わせると
最初は大体合ってるんだけど、時間の経過とともにズレが大きくなってくる
Spinelだとここまで大きくズレることはないから気になってしまう
あとBonDriver_RDCTみたいに複数のチューナーを1つにまとめる機能があったら最高です
LAN内でいいので、android端末で観るにはどうしたらいいのでしょうか?
remotetestの最新が手に入らない
>>274 うーん、何だろう
どれくらいの時間見てたらどれくらいズレるとかわかりますか?
あと、その際にドロップは出てるかどうかも
家で試した感じでは、最初の(バッファにたまって送信始めるまでの)数秒のズレは
1時間くらいでは変化無しなんですよね
やっぱりテスト不足だなぁ
その件と関係あるかどうか微妙ですが、GetSignalLevel()のレスポンスが遅いBonDriver読み込んでる場合に、
場合によっては対象BonDriverがTSバッファを破棄してしまう事があったのを見つけたので、若干処理変更して、
あと固定値だったのをiniでの調整可能項目にしたのと、その他微妙な変更とかしたのをアプし直しました
ttp://www1.axfc.net/u/3251509 チューナまとめる機能は実装できなくはないですが、それこそBonDriver_RDCTからこれを読み込む形の方が良い気がします…w
何でも背負い込ますよりもしっかり役割分担したほうが最終的には融通効くよね。
283 :
274:2014/06/04(水) 22:32:12.66 ID:SuMxdx3N
>>281 ありがとうございます
前回より長めにテストしてみましたが、ズレませんでした!
たしかに何でも追加すればいいという考えは良くないですね
失礼しました
>>281 VirtualPTのような自動割り当てできるようになりませんか?
>>284 >>281のツールが行うのはクライアントアプリとBonDriver間のプロキシ処理だけで、
チューナやチャンネル選択の事はなるべく関知しない方針なんです
(クライアントアプリから対象BonDriverをなるべく透過的に見せたいので)
複数のクライアントから同じBonDriverが要求されると共有されますが、概念的には
共有してるのはあくまでもBonDriverで、チューナじゃないんですよね
なので、
>>247みたいな話の事なら、多分このツールで対応する事は無いと思います
#当方にそれが出来る事によるメリットがイマイチわからないてのもありますが…
期待に添えずスミマセン
>>285 BS/CSチューナーは2つ。EDCBでBS録画中にTVTestで同じやつ見てた見たいけど、
更に他のマシンから同じチャンネルとか違うチャンネルの接続要求が来た、みたいなケースは考えられる。
チャンネルまで制御してくれると、無駄に数多くチューナー搭載しなくて済む(PCI/Expressの空きって限られてるし)。
Spinelの場合、排他制御と共有までしか使えなかったはずなので、
運用面で遣り繰りするにも手間かかるし、日頃からそんなややこしい事やってたら録画ミスるリスクも。
実際、VirtualPT積んでるPCにPT3繋いでるけど、他にテレビ無いから、
家中のPCにTVTest入れてBonDriver_VTPT経由で見るような構成になってる。
これにEDCBも混ぜてるけど、今のところ特に困ってない。
>>284 今RDCTってどこまで制御してくれるんだっけ?チューナーを順に開いてくれる所まで?
RDCT でも ManageTunerMutex フラグを有効にすれば、パスレベルで開いているチューナー把握して管理できるよ。
ただ、VirtualPT のように現在開いているチャンネルを把握して振り分けるのは、まだ無理ってところだな。
そもそもチューナーは共有されるんだから、EDCBが録画してて、TVTestでも同じチューナーが要求されたなら
チューナーは一つしか使われないでしょ
別のTVTestが接続してきた時、それが違うチューナーを要求してたら違うチューナーが使われるし、
同じチューナーならそれも共有される
で、録画中に違うチャンネルを見たいならどっちにしろ2チューナー使う(同じトラポンの場合は除く)
チャンネル変更権の設定を事前に間違いなくやっとけば録画失敗する理由も無い
思い付くメリットと言えば、上の状態でTVTestでチャンネル変える為には別チューナーを選択し直す必要があるのが
無くなるくらい?
クリックが一回減るのがそんなに嬉しいか?って気はするけど・・・
>>288 > EDCBが録画してて、TVTestでも同じチューナーが要求されたなら
これ要するに運用レベルでチャンネル制御を自力でやれって事なんだけど、そもそも話が噛み合ってない。
あぁ、多分PC1台だけの環境ならそこまでクリティカルじゃないんだろうな。
>>286はチューナー繋げてる本体含めて常に2-3台(最高4台くらい)からアクセスのある環境だからなぁ。
個人的にはVirtualPTで困ってないけど、俺以外に
>>284みたいなのが居るみたいだし、
そもそも「需要がない事は無い」って程度の話だから、運用でカバーしろってのは正直言って筋違い。
物理チューナーをラップして自動的に割り振ることで
仮想的に使えるチューナー数を増やすってのは確かに需要なくはないんだろうけど
>>281のはネットワーク越しに使える事をシンプルに目指してるんだろうから
思想として違う方向を向いてるわけで、やるなら別にやるべきだろう
>>286 PT3お4枚運用している。
TVTestで地上7チャンネル同時視聴できるように設定している。
その場合、EDCBは1チューナー1つの固定局に設定しなければならないから不便。
自動割り当てが可能だと便利になる。
>>289-290 >これ要するに運用レベルでチャンネル制御を自力でやれって事なんだけど、
いやまあそうなんだけど、そもそもEDCBとTVTestで、同じチャンネルを別のチューナーで録画/視聴
してたとして何の問題もないわけで
EDCBにだけチャンネル選択の優先権を設定しておけば、もしもう一つ録画が始まっても勝手にTVTestの
チューナー持って行くんだし(EDCBをわけのわからん運用方法してない限りは)
各PCのTVTestに関しては、チャンネル制御を自力でやれと言うか、使ってたチューナーがEDCBに奪われたら
空きチューナーに切り替えれば良いじゃないって話・・・
その空きチューナーが別のTVTestで既に使われてる状態なら、何をどうやってもチャンネル争奪が
起こるのは防げないし、空きチューナーが無いならそもそも何もできない
そこは自動割り当てされようがされまいが一緒じゃない
別に自動割り当てでチューナーの数が増えるわけでもないんだから
まあ空きチューナーに切り替える時に、100とか200の中で1つだけ空いてるみたいな状況でなら
無いと大変そうだけど、多い人でもせいぜい8つの中から空いてる4つの内どれかを選択程度なわけで
(あでも、空きチューナーがある状況でTVTest同士が同じチューナーを選択してのチャンネル争奪を
防ぐ事はできるだろうから、その点は少し意味あるかなとは思う)
確かにオールインワンの全自動が好きな人もいるだろうから、そう言う機能が嬉しい人もいるのは
わからなくはないけどね
冷静に考えたら無くても別に困る程の機能じゃないとは思わんかね?てだけで
逆になるべく余計な事はして欲しくないマニュアル派もいると思うよ
少なくとも俺はそうだし
>>292 >その場合、EDCBは1チューナー1つの固定局に設定しなければならないから不便。
なんで?
EDCBはT0からT8まで全部使えるように設定しとけば良いじゃない
× T8
○ T7
チューナー共有のメリットは
CSの同一物理チャンネルの各サービス同時視聴が1チューナで可能とか
今まだやってるか知らんけど難視聴も1チューナで6-7局複数視聴とか
利用可能チューナフルに使って民放数局をTVH264でワンセグ垂れ流しにしておき
TVTestで気になった局のフルセグをザッピングなど(次期TVTestでは必須ではなくなるけど)
ただ、
>>291に同意でシンプルを追求する作者に要求する事ではないな
軽くてチューナ共有できるシンプルなソフトがあれば俺も使いたいぐらいだけど
MITライセンスなんだからさ
みんな勝手にForMe仕様にすればいいじゃんか
作者がネタを投下してくらたんだから各自楽しめばOK
作者を困らせるのはナンセンスってもんだ
>>294 TVTestを7つそれぞれチューナーとチャンネル固定で設定している
その状態でEDCBが適当なチューナーを優先で使いTVTestの組み合わせと違うチャンネルにしてしまうと困る
>>292はそういうことなんだろうけど、かなりレアケースじゃないかな?と思うね
>>291 せやな。その点は同意。
ただ需要というかメリットの有無を訊ねられたら「ある」のは事実なので、
>>291を踏まえるなら、
>>285の最後の補足なんか書かずにバッサリ切った方がいいと思う。
>>293 > そもそもEDCBとTVTestで、同じチャンネルを別のチューナーで録画/視聴
> してたとして何の問題もないわけで
だからそれだと無駄にチューナー無駄に準備しなきゃいけないだろ。
> 各PCのTVTestに関しては、チャンネル制御を自力でやれと言うか、使ってたチューナーがEDCBに奪われたら
> 空きチューナーに切り替えれば良いじゃないって話・・・
話が噛み合わんな。なんで今切り替える必要がない環境を実現出来てるのに、
わざわざ手間のかかる方法へ戻す必要があるのかね。
> その空きチューナーが別のTVTestで既に使われてる状態なら、何をどうやってもチャンネル争奪が
> 起こるのは防げないし、空きチューナーが無いならそもそも何もできない
> そこは自動割り当てされようがされまいが一緒じゃない
> 別に自動割り当てでチューナーの数が増えるわけでもないんだから
チャンネル被りが起きてるものはクライアント同士でチューナーを共有させて、必要最低限のチューナー数で足りるようにするのがVirtualPT。
名前の通りチューナー自体を抽象化してる状態だから、少なくとも実際に開いてるチャンネル(TS数)の数しかチューナーを開かないで済む。
流石にチューナーが物理的に足りてない状況じゃどうしようもないが、その辺りはプライオリティ付けて切っていくクライアントの優先順位は決められる。
対してデメリットも幾つかあって、例えばtsを解釈してカプセリングし直してるような状態だから、希に互換性のないアプリケーションがある。
BWTHelperでBS/CS流そうとすると失敗したり。
明日は日曜日
>>296 チューナー共有はこのスレに出てきてるツールならどれでもできるよ
今話題になってるのは、クライアントが選択したチャンネル毎に、アクセス先チューナーを
自動的に切り替える機能の話だね
>>298 あーナルホド、EDCBからあるチャンネルを録画する時に、TVTestでそのチャンネルを既に開いてる
チューナーを選択して欲しいって意味か
そういう状況で意味が出てくるのはわかったけど、流石にレア過ぎる状況と言うか、
そうしなきゃいけない状況の方が想像できないと言うか
俺の想像力があんまり豊かじゃないのは認めるけど・・・
>>299 >だからそれだと無駄にチューナー無駄に準備しなきゃいけないだろ。
?
その無駄ってのは、チューナーが二つの環境で今現在のクライアントが二つだけの場合でも、
同じチャンネルを見てる以上はチューナーを二つとも開くのは無駄だって意味なの?
”チューナー無駄に準備しなきゃいけない”って言うから物理チューナー数を無駄に増やさなきゃいけないって
言ってるのかと思ってたんだけど、そうじゃない?
もしそういう意味だったなら、最初から俺のツッコミは的外れだったわ
俺は、必要な物理チューナー数は何も変わらんでしょと言いたかっただけだから
>話が噛み合わんな。なんで今切り替える必要がない環境を実現出来てるのに、
>わざわざ手間のかかる方法へ戻す必要があるのかね。
いやいや、そんな事は言ってない
単に俺にはその機能の有用性がピンと来なかったからツッコミ入れてただけで、有用だと思うのは個人の自由だし、
ましてや他人が満足してる環境を変えろだなんてアホな事を言う気は無いよ
>>302 VirtualPTはチャンネル制御までガッチガチにやってる、
RDCTはドライバの占有状況で他のドライバにバイパスさせられる(恐らく実装コストとパフォーマンスを考えると最適な実装)、
Spinelはドライバの共有・排他ロックだけ制御、BonDriverProxyも(多分)同様。
本質的にはリソースをどこまで効率的に使うか、程度の問題だって事は分かってるんだよな。
> 同じチャンネルを見てる以上はチューナーを二つとも開くのは無駄だって意味なの?
二つ開くのは無駄だし、チューナー制御でチャンネル共有しようとすると、共有参照してる時にチャンネルが占有ロックされると、
共有参照してる側からは突然ストリームが途切れる、加えて既に指摘されてるチャンネル切替の手間も掛かる。
その辺が気に入らないと、結局チューナーの数を、接続するクライアントの数だけ増やす事になる。結果的に無駄なリソースを抱える事になる。
> 単に俺にはその機能の有用性がピンと来なかったからツッコミ入れてただけで、
BonDriverProxyの中の人が疑問に感じてた部分、メリットが分からんって所に答えてる流れなんだけど、
その上で適当に聞き流せずに横やり入れてるなら、ちょっと頭冷やせよ。
勿論BonDriverProxyの設計思想とは全く噛み合わんが、
少なくとも言い出しっぺの
>>284とか俺とか、そう言うツールの需要があるのは間違いないんだよ。
# シンプルなのも結構な事、それはそれで需要があると思うぜ。
>>303 聞き流せんと言うか、単に俺自身も録画サーバを何年か運用してきて、自動割り当てされない事によって
困った事なんて一度もなかったし、チャンネル奪われた時に、チューナーが足りないなら何やっても無駄、
足りてるならドライバ選択しなおしゃ良いだけじゃんと思ってたから、そんな機能ホントにいるか?と
素朴に疑問で
>>288を書いたんだよね
どうも話を聞くに、要するにドライバ選択し直す事とか、録画じゃなく見てるだけの時でも一時的にでも
チャンネルを奪われる事に対するプライオリティが、君や
>>284と俺とではだいぶ違ってたって事かな
説明されたメリットにも(今現在も)結局ピンと来なかったのも、この部分の価値観が違うからなんだろう
もっとも、確かに俺自身には、
>その辺が気に入らないと、
から
>結局チューナーの数を、接続するクライアントの数だけ増やす事になる。
とまでやっちゃう感覚は理解出来ないけど、価値観が違えば実際にやっちゃう人がいないとは言い切れないのは
わからなくもないよ
とまれ、別に俺の価値観を押し付けたい訳じゃないので、この辺にしとく
>>304 あなたの想像力がないだけ。
てか、
>>俺自身も録画サーバを何年か運用してきて
これ馬鹿すぎる・・・その程度でプロ気取るとは恥ずかしい・・・
議論されてる内容が高度過ぎて俺には2割くらいしか理解出来ないが
CSの同一物理ch/別サービス な番組を同時録画する時に1チューナーしか使わなくて済むならテンション上がるかもw
ただそれって凡共有ツールの対応じゃなくて録画ソフト側の改善でも済みそうな話だよね
ここに居るのは作者以外みんなエンドユーザーに過ぎんし、プロを気取るような話じゃないと思うが‥
>>306 VirtualPTで普通に共有できる。
# 自分で突っ込んでる通り、録画だけならBonDriverレベルで対応する必要はない話だけど。
ちなみに、物理チャンネルから必要なサービスだけ分離して飛ばす事もできる(拡張チャンネルモード)。
Wi-Fi使ってる環境でBS/CS視聴環境整える時に不要なサービス飛ばさなくて済むので、帯域確保がすげぇ楽になる。
‥まぁ開発停止しちゃってるんだけどさ。
>>304 > 録画じゃなく見てるだけの時でも一時的にでもチャンネルを奪われる事に対するプライオリティが、
「チャンネルを奪われる事に対するプライオリティ」って、テレビ見てる時に突然落ちない事の重要性の話かね。
例えばだけど、市販のテレビに一時的にでも画面が真っ暗になる製品なんてあるか?
普通に考えて不良品だろ、それ。朝飯とか晩飯食ってる時にリモコン持ち続けるなんて面倒な真似したくねぇよ。
# もちろん、この手のツールは一通り自己責任で使うべきものだけれども、一般的な感覚としてな。
って自分で書いてて、最近の録画機能付きテレビなら裏録画開始のタイミングで処理落ちとか普通にあり得そうなきがしてきたな‥
>>305 俺がプロ気取ってるように見えたのなら、それは君の勘違い
当たり前だけど、単なる素人としての一意見だよ
>>306 >CSの同一物理ch/別サービス な番組を同時録画する時に1チューナーしか使わなくて済むならテンション上がるかもw
サービス指定しないで録画したら1チューナーで全部録画されるよ
後から分割するのが面倒なら、例えばPT3のS0を使うドライバを共有、両方に生ストリームを配信して、それぞれで
サービス指定録画すれば最初から分割状態で保存する事もできるよ
>>307 >例えばだけど、市販のテレビに一時的にでも画面が真っ暗になる製品なんてあるか?
それは例としてあんまり適切じゃない気がするよ
自分がテレビ見てる時に、誰かが別の部屋で自分のテレビとチューナーを共有してるテレビをつけた(あるいは
テレビと録画機がチューナーは共有してるけど別の製品)みたいな場合の話なんだから、そもそもそんなテレビは
家電として市販されたりしてないんじゃないか?
(しかしまあ、仮に家電として市販されるような事になったらそこは当然対応される部分だとは思うけどね)
結局この手のツールに対する感覚の違いなんだなって思う
俺は若干自分でやらなきゃいけない事があっても何が起こってるか分かりやすい方が良い
(何かがトラブった時の問題切り分けしやすくなるしね)
一方、手はかからないに限る、家電ライクなのが良いって人がいるのもわかる
携帯には余計な機能なんていらない、電話とメールだけ使えりゃ良いって人と、デカい画面でネットが出来てワンセグ
みられて音楽プレイヤーになって定期にも財布にもなるのが当たり前って人もいる
実際にそれぞれの層に向けての製品がある様に、この手の好みと言うか価値観の話に絶対の正解なんて無いって事だろう
>>306 TVRockで録画しているのかな?
EDCBなら別サービスの場合1チューナしか使わないで複数録画できるよ。
ソフトウェアって物は
「面倒な物の自動化」が根底にあってそれで進化していくものの
一方で、実装はプログラマ(orスポンサー)の裁量が絶対であるべきでしょ
その前段階としての議論は建設的(ブラッシュアップ)であれば構わないが
「俺は要らないから〜」「メリットがわかんねぇ物を〜」「無くても別に俺は困らない〜」
ってのは実装しない奴がとやかく言うものではない気がするんだがな
代替手段の提示は有ってしかるべきではあるし、マの負担やスパゲッティを憂うとかは当然だけど。
結局VirtualPTってソース公開したのか???
>>310 > それは例としてあんまり適切じゃない気がするよ
> 自分がテレビ見てる時に、誰かが別の部屋で自分のテレビとチューナーを共有してるテレビをつけた(あるいは
> テレビと録画機がチューナーは共有してるけど別の製品)みたいな場合の話なんだから、
想像力が足りないって言われてんだから、もう少し自分で裾を広げられんのかと。
ダブルチューナー(T1/T2)搭載のレコーダー想像してみろよ。
T1で何か見てる時に裏録画が1件始まったけど、その番組はT1で予約が入ってる。
録画が始まった瞬間、視聴中のT1が突然真っ暗になる、自動復帰すらしない。要するにそう言う状況だろ。
(1)レコーダーはT1使ってる時にT2で録画始めるように仕様を改める
(2)レコーダーの仕様は割り切って、最初っからテレビで見る(視聴専用のチューナーを準備する)
(3)テレビ準備する金がないからディスプレイで我慢する(レコーダーの仕様は割り切る)
貴方は最初っから(3)を選んでくるのは結構な事だが、普通に考えれば、そのレコーダーは製品として不出来だろう。
そもそもこの手のツールは「製品」じゃないから割り切るにせよ、(2)が選択肢に入ってくるのは自然な考えだと思うが。
「考えが違う」のはこの話の大前提だし、メリットの有無訊ねられてるレス、要するに「違う考え」を求められてる時に
一々「(3)じゃ駄目なのか」って横やり入れてくるから叩かれてるんだろうが。正解云々の話じゃねぇよ。
>>313 希に「俺は受け取った、けど公開しない」みたいなレス見かけたけど、一般に対しては広く公開されてないはず。
無駄に長すぎ
要望をまとめて3行でどうぞ
長文書き込む奴は例外無くキチガイだと思ってる
>>317 俺に言ってんなら、BonCasProxyは今の方針のままのんびり開発続けてもらう事が一番の要望だな。
>>312 その点に関しては全く異論はないよ
>マの負担やスパゲッティを憂うとかは当然だけど。
結局ここが気になってるって事かな
ある携帯を使ってて、せっかくシンプルな電話として満足してるのに、ワンセグみる機能付けてくれって
言ってる人がいたら要らねぇって言いたくなった、て感じ
まあ結局は、機能の追加要望してる人と同じで、変えないでくれって要望だわな
もちろん決めるのはツール作者だってのは十分理解してる
>>314 >ダブルチューナー(T1/T2)搭載のレコーダー想像してみろよ。
>T1で何か見てる時に裏録画が1件始まったけど、その番組はT1で予約が入ってる。
>録画が始まった瞬間、視聴中のT1が突然真っ暗になる、自動復帰すらしない。要するにそう言う状況だろ。
いやだから、それはチューナーも録画機能も視聴機能も全部まとまったプログラムの場合の話じゃない
(家電としてのテレビではその構成はごく当たり前だけど)
今してるチャンネル制御の話は、それらが全部別製品なのを、更に別製品のそれぞれの間の通信ソフトで
何とかする場合の話でしょ
例を出すなら前提を揃えなきゃって言ってるだけだよ
全部まとまっててそれぞれを直接いじれるのと、別ソフトを外部から制御するのとじゃ意味が全然違うんだから
>「考えが違う」のはこの話の大前提だし、メリットの有無訊ねられてるレス、要するに「違う考え」を求められてる時に
>一々「(3)じゃ駄目なのか」って横やり入れてくるから叩かれてるんだろうが。正解云々の話じゃねぇよ。
俺は君がチャンネルまで制御を便利に思ってるのは納得したよ
俺自身はやっぱり別にいらんなと思ってるけどね
上に書いたように俺のもある意味要望だからさ
要望通すためにそのままでいい理由を説明してたんだと思ってくれていいよ
当方の不用意な言葉で波風立ててしまったようで、なんかスミマセン…
当該機能ですが、実装考えるとすると、サーバ側でどのクライアントがどのチャンネルを選択しているのか状態管理して、
使用するBonDriverインスタンスを切り替えるようにすれば、それ程複雑な実装にはならない気もしますね
#互換性のあるBonDriverはBonDriver_RDCT方式で指定してもらう前提で
チャンネルロックとの絡み辺りがちとゴチャりそうかな…
時間が出来たらちと試してみます
#期待はしないで下さいw
仮に完成しても、BonDriverProxyの新バージョンではなく、それの亜流と言う感じになると思います
頑張ってくださ〜い
応援してますよ〜
>>322 なんか気を使わせてしまって申し訳ない。
需要があるのは間違いないと思うけど、BonDriverProxyは単体でそれなりに面白そうなので続けて貰えれば。
>>320 だからその点がミスリードなんだよ。
あくまでメリットの有無訊ねられてる段階でなんで横やり入れる必要があんのさ。
>>321 > それはチューナーも録画機能も視聴機能も全部まとまったプログラムの場合の話じゃない
分かりやすくディスプレイ、テレビ、2inチューナーで機材分けたんだけどまだ分からない?
発端がBonDriverProxyに共有機能を追加して欲しいってのだったからな
そういう機能の有用性とBonDriverProxyがそこまでやるのとで話が食い違ってないか?
話がそれてきてるからそこら辺でお互い収めてほしい気がする
>>322 チャンネル切り替え自体はそこまで面倒ではないと思うんだけど
どのチューナーが同じチャンネルを見れるチューナーかとか定義するのが結構厄介そう
チューナー空間の合わせは手動で定義してもらうのが無難かも
>>325 その要望出した奴というか、発端書いたのは俺じゃない。
そこでメリットデメリットの話を振られたからその点に関して横から説明入れただけだからな。
>>326 ぐだぐだ長々とうぜえもう止めろって言われてるんだよ
分かってね
>>325 >同じチャンネルを見れるチューナーか
そこなんだよ・・・
VirtualPTとSpinel以外の凡ドラは無理だから
結局ファイルマッピングかソケットなんか使ってバッファ共有する
ような仕組みを導入するめんどくささが出てくるんだよね
>>329 半コテ化してるお前らアホ2人とも黙れ
って言ったら分かってもらえるのん?
[Setting]
TunerName=RDCT:PT-TS
TunerPath0=RDCT\BonDriver_Spinel_PT-T1.dll;RDCT\BonDriver_Spinel_PT-T0.dll
TunerPath1=RDCT\BonDriver_Spinel_PT-S1.dll;RDCT\BonDriver_Spinel_PT-S0.dll
FullOpen=0
RecordTransit=1
LazyOpen=0
SaveCurrent=0
SpaceConcat=1
SpaceConcatName=CATV/BS/CS110
ManageTunerMutex=1
おれはこの設定で TVTest 2つ立ち上げて同時視聴とかしているけど
TvTest2つ単に立ち上げるだけで面倒な設定とかいらなくて便利だよ
>>330 機能の有用性を語るにせよ要望書くにせよ、このスレ的にはスレチでも何でもない。
話が合わんならNGにでも何にでも勝手に入れろよ、お前みたいに書き込む度にID変わったりしないからさ。
>>331 RDCTの設定例だよな。何が言いたいのかよく分からんけど
>>326 横から入ってきて別の前提で話してるなんて他の人にはわかりづらいよ
欲しいことも別でやった方が良さそうってのもそう食い違っちゃいないんだから
少し自分の書いたの読み返して攻撃性落としてくれ
>>328 チューナー空間のずれとか、繋いでるアンテナが違うとか考慮しだすと辛いね
バッファはクライアントDriver単位で必要だけどそっちはそんなに難しくはない
と言うわけで、やっつけですが実装してみました
ttp://www1.axfc.net/u/3255255 dll側はバイナリ互換で行けたので、変更はサーバ側だけです
#思った以上にコードがゴチャってワロス
多分テストは不十分なので、試してみていただける方は変な挙動見つけたら教えていただければと思います
>>325 > チューナー空間の合わせは手動で定義してもらうのが無難かも
BonDriver_RDCT方式ってのがまさにそれで、もちろん最初からそのつもりでした…w
これはテンション上がるな
土日に試す
337 :
名無しさん@編集中:2014/06/10(火) 01:13:05.85 ID:5HeLY7kL
BonDriverProxyEx大勝利!!!!!
なるほどわからん
凄いな。
次は、CAS解除。
FFFFFFFF=B25
0004FFFF=B25
0006FFFF=B25
0007FFFF=B25
000AFFFF=B1
0001FFFF=B1
0003FFFF=B1
などiniで指定して複数を処理できるようにする。
ついでに、どのwinscard.dllを使うのか個別に設定出来るようにしてほしい。
>>339 ・全サービス・サービス毎の解除を設定で選択
・B25Decoder.dll B1Decoder.dll の指定を絶対・相対パスで出来るようにする。
例FFFFFFFF=.B25\B25Decoder.dll
・Localのwinscard.dllの読込みディレクトリをDecoder.dllにする。
これでいいと思う。
期待してます。がんばってください。
343 :
名無しさん@編集中:2014/06/13(金) 07:14:37.04 ID:xc5SOHib
久々に学生っぽいソースを見た。
これは期待できるな!
がんばって!
>>335 BonDriverの共有に対応したの???
設定方法がわからない。
>>343 参考までに、学生っぽいとかプロっぽいとかってどこ見て判断してる?
俺的には、趣味のソースっぽい気はするけど手慣れてる感もあるなって印象なんだけど・・・
>>344 凡ドラの共有には元から対応してるよ
凡ドラの選択が
>>247の希望みたいな挙動になった
>>345 どうやって設定するの?
iniの記述方法がわからない。
なんでReadMe読まないの?
>>346 わからないんじゃこれ使うの無理じゃね?
なんでiniの記述方法くらい教えてあげらないのw
秘匿しなきゃいけないことでもなんでもない
むしろ人間の小ささが浮きだつ
だからオタクやギークはキモいって言われちゃうんだよ?
大したことないくせに自分がそれしか出来ないからってもったいぶる
それでしか自分を保てない何も持ち合わせていない能力もないカスだから
お前が教えれば終わる話
タスクトレイにアイコンがあれば神かも
いやいらない
ローカルの場合は名前付きパイプを使用出来るようにして欲しい。
あと、なんでBonDriverProxyEx.exeのini設定でアドレスを参照する必要があるの?
ポートだけの設定じゃだめなの?
> ポートだけの設定じゃだめなの?
ポート指定できなきゃ複数立ち上げた時にブッキングするじゃん。
複数のドライバ纏められるようになったとしてもBS系と地デジ分けたいとか124度/128度CS制御させたいとか色々考えられるからな
>>357 > ポートだけの設定じゃだめなの?
「だけの」って書いてあるよ。
なぜ、
[OPTION]
ADDRESS=
が、BonDriverProxyEx.exe側に必要かってことでしょ?
あぁすまん、読み違えてた。
検証してないけど、リッスンかけるアドレスを指定してるのでは?
保持してる全IPアドレスで全裸ウェルカムするなら要らないと思うけど
BonDriverProxyEx.exeとPT2・PT3の組み合わせで安定しない。
あと直接BonDriver使ったときよりもアンテナレベルが高く表示されるのは仕様?
安定しないのは、チューナが見つからなかったり、TVTestのチャンネルスキャンでチャンネルオープンできなかったり、
EDCBのチャンネルスキャンで13chの番組取得失敗率が高い。
>>358 BonDriverProxyEx.exeだと
[OPTION]
PORT=
の記述と
[BONDRIVER]
関連の記述で正常に動いている。
ADDRESS=
の指定は必要ない。
どうせなら
BonDriverProxy.exe
BonDriverProxyEx.exe
を、2こ1にして1つのバイナリにまとめてほしい
BonDriverProxyExの中の人へ
ありがとう使いやすい。
問題の署名:
問題イベント名: APPCRASH
アプリケーション名: BonDriverProxyEx.exe
アプリケーションのバージョン: 1.1.1.0
アプリケーションのタイムスタンプ: 5395cd7a
障害モジュールの名前: BonDriverProxyEx.exe
障害モジュールのバージョン: 1.1.1.0
障害モジュールのタイムスタンプ: 5395cd7a
例外コード: c0000005
例外オフセット: 00002dff
OS バージョン: 6.1.7601.2.1.0.256.1
ロケール ID: 1041
追加情報 1: 0a9e
追加情報 2: 0a9e372d3b4ad19135b953a78882e789
追加情報 3: 0a9e
追加情報 4: 0a9e372d3b4ad19135b953a78882e789
Exに変えてみたけどいいね
すごく便利
>>356 名前付きパイプを使わないのは、ソースの移植性が低下しそうだったからなんですよね
他にも、
・パフォーマンス的にも(MSいわく)ほとんど変わらないらしい
・ループバックアドレスにbindすると(恐らくそのマシンのNICも含めて)ネットワーク帯域を消費する事も無くなる
・コスト的に一番重いのは対象BonDriverから読み出したメモリコピーの部分で、プロセス間通信部分ではない
な感じなので、問題が起きない限りこのままで良いかなと
サーバ側にもアドレス指定が必要なのは
>>359さんの説明通りです
ちなみに(クライアント側サーバ側共に)アドレスの指定がされなかった場合は、127.0.0.1を指定されたものとして動作します
なお、サーバ側で全インタフェースにbindしたい場合は0.0.0.0を指定すればそうなります
>>360-361 シグナルレベルに関しては、読み込んだBonDriverで取得した物をそのままアプリに渡してるだけなので、
アプリから直接読み込んだ場合とそうでないのとで値が変化する理由は無いはずですが…
安定しない件に関しては、時間が出来たら家でも現象の再現実験やってみます
>>364 落ちましたか(;´Д`)
読み込んでたBonDriverの種類と落ちた時の状況、可能であれば
再現方法がわかれば教えていただけると対応できるかもしれません
あと、せっかく移植性考えてつくったのでLinux版もつくってみました
ttp://www1.axfc.net/u/3261432
流れ追いかけてなかったけど
やっとWindows鯖とおさらばできるのか!?
すげーな 何者だよw
ちょっとまてLinux版だと‥?
これは予想の斜め上を行ったな‥(褒め言葉)
おいおい‥他のドライバ使ってデバイス読み込んで
BonDriverProxyと同じ挙動で制御するだけかと思ったら、
BonDriver_PTまでLinuxに移植したのかこれ‥とんだ変態だぜコイツは(やっぱり褒め言葉)
感謝と期待で視界が歪む
すげぇ
こいつは間違いなく予想の右斜め上だ
>移植性考えてつくったのでLinux版もつくってみました
あれ?Linux鯖でPT動かしてる人にはもちろんSpinel越えた?
スゲェなw
>>370 一応、BonDriver_LinuxPTは自前実装で移植ではないです
多分これを雛形にすれば、PTシリーズ以外のチューナでもデバドラが公開されているものに関しては
それ用のBonDriverつくるのもそんなに面倒ではないかと思います
当方PT2とPT3以外のチューナは持ってないので、その辺は人任せですが
Unix系の環境でもBonDriverみたいな共通インタフェースが普及したら便利じゃね?と思ったのでつくったんですが、
#BonDriverProxyのアーキテクチャ的に、サーバ側に直にデバイスへのアクセスを組み込みたくはなかったてのもありますが
それに乗ってくれる開発者の方がいるかどうかはまだわかりませんね
で、あれこれバラバラなのもめんどくさいかと思ったので、実環境で影響あるかどうか微妙な修正ついでに
全部まとめたファイルをアプしました
ttp://www1.axfc.net/u/3261982 >>360-361さんや
>>364さんの問題がこの修正した件由来かどうかはわかりません
#可能性はあるかもしれませんが
>>366 全インタフェースにbindしたら不都合とかありますか?
なるほどわからん…
サーバーとクライアントのiniファイルの違いは一体なんなんだ??
そしてこの Sample.ini というファイル名はどう変更すればいいのだ??
BonDriverの配置は.exeと同じところでよいのか?
とか疑問でいっぱいです!!
>>376 それによってbindされるようになるアドレスにアクセスされて困るような事が無いなら問題ないとは思います
例えばIPアドレス一つだけのマシンで、そのマシン自身からもリモートマシンからもアクセスしたい場合は、
IPアドレス指定よりもむしろ全インタフェースbindの方が適切ですね
これは、リモートからのアクセスはそのマシンに割り当てたIPアドレスで、ローカルからはループバック(127.0.0.1等)で
アクセスするような使い方ができるようになるからです
逆に、例えばルータとして使ってるマシンでそれをやると自分側のセグメントだけでなく接続先セグメントからも
アクセスできるようになってしまうので、それを意図してる場合以外はなるべく避けた方が無難でしょう
>>377-378 違いはないので、内容が適切なら同じ物のコピーで大丈夫です
クライアント側だけ(Ex版に関してはサーバ側だけも)で使用される値もありますが、使わない値はiniにあっても
無視するだけなので問題無いです
iniファイルの名前は、モジュール名の拡張子をiniに変えたものです
例えば、クライアント側でBonDriver_Proxy-PT-S0.dllをつくったとすると、BonDriver_Proxy-PT-S0.iniになります
サーバ側も同じです
#そう言えばこの辺(特にEx版について)明確には説明して無かったなと反省しております
サーバ側で読み込みたいBonDriverはそのパスが正しくiniに記述してある限り、どこにあっても良いです
>>380 わかりやすい説明、ありがとうございます。理解できました。
よく考えたらUnix系の環境では普及してないインタフェース使おうぜと言っても、開発者の方に
なんやよーわからんしメンドくさいわて言われたら終了なので、使い方のサンプルプログラムを追加しました
デスクランブルやサービス指定処理は入れてませんが、生のTSを保存するだけならこれで可能です
Unix系の環境での録画環境は、録画ソフトからこう言う感じのTS保存する外部プログラムを起動する形が
普通みたいなので、録画ソフトの設定を多少いじれば、録画ソフトがBonDriverを使用する環境に
簡単に移行できそうな気がします(未確認)
ttp://www1.axfc.net/u/3262994
GJ
確かに今のアプリから使えんかったらあんまり旨味ないもんな。
今のクライアント側に対応できるならLinux環境でもBonDriverProxyの旨味はありそう
Linux 版の EDCB と TVTest があれば完璧だぬん!
BonDriverProxyを使わせてもらっています。
サーバーをスタンバイにしたいので、
復帰するまでの間タイムアウトを長くできないでしょうか?
Spinelの場合はiniで設定できます。
ConnectTimeoutSeconds = 60
Linux 版の SoftCas もあれば完璧だぬん!
おおう〜
トレビア〜ン
>>388 ああ〜
これはすごい。
ありがとうございます。
id=165
Linux版のクライアントモジュールを手元にあったいくつかの環境で試してみた。
CentOS 5.4 NG
Ubuntu 12.04 OK
CentOS5.4だとsampleでCreateBonDriver()は成功
IBonDriverからIBonDriver2へのダウンキャストに失敗しちゃっている。
なんでだろう...
$ g++ -O2 -shared -fPIC -Wall -o BonDriver_Proxy.so BonDriver_Proxy.cpp -lpthread -ldl
IBonDriver.h:15: warning: 'class IBonDriver' has virtual functions but non-virtual destructor
IBonDriver2.h:18: warning: 'class IBonDriver2' has virtual functions but non-virtual destructor
IBonDriver3.h:21: warning: 'class IBonDriver3' has virtual functions but non-virtual destructor
Cent5でコンパイルした場合は、上記のwarningが出てる。
gcc/g++のバージョン?
ちなみにCent6.5で試したらOKだった
>>392-393 うーん、Cent5の環境は手元に無いので検証できませんが、確かにg++のバージョンのせいかもしれませんね
>>393のCent5での警告はもっともな警告ではあるんですが、そもそも純粋仮想関数持ってるんだから継承意図してんのは
当たり前だろと、コンパイラに良きに計らっていただきたいところではあります
#C++に詳しい訳ではないので、その辺のC++の規格がどうなってるのかは知らないのですが
今Cent6.5(32bit)に普通に入れたg++4.4.7で試してみたら、警告が出ないだけで、その警告されてる内容の挙動は
結局同じみたいでした
警告が出たり出なかったりの違いは何なんでしょうね…
警告が出る場合には(IBonDriver*.hに手を入れる形になってしまいますが)、IBonDriver*.hのそれぞれに
何もしない仮想デストラクタを、
---
virtual ~IBonDriver(){};
---
みたいな感じで追加すれば回避できるかもしれません
それがダウンキャスト失敗の理由かと言うとちょっとわかりませんが…
基本的にBonDriverインタフェースに関しては、普通に使う限りはその警告は無視しても問題ないはずです
少なくとも、BonDriver_ProxyもBonDriver_LinuxPTも、その警告が関係してくるような事はしていないつもりです
EDCBの元の開発者の設計思想が結構いい加減だからな
>>394 Cent5の環境で、IBonDriver*.hに、仮想デストラクタを追加したら
warningは消えました。
ダウンキャスト失敗の方は現象変わらずです。
warningとは別件だったみたいです。
CentOS5みたいな古いOSを使っている人は少ないかな..
>>395 まあそれでもきちんと機能してるし、ほぼ使われてない機能があるのはともかく、
これだけ時間が経っても致命的に困るような事態にはなってないので、
インタフェース設計としては十分成功だと思いますよ
>>396 ちとググってみたら
ttp://stackoverflow.com/questions/590371/dynamic-cast-fails と言うのを見つけました
>>394で追加したIBonDriver*のそれぞれの仮想デストラクタを
---
virtual ~IBonDriver();
---
の様に宣言だけに変更して、
BonDriver_Proxy.cppとBonDriver_LinuxPT.cppのどっか適当な場所に、
---
IBonDriver::~IBonDriver(){};
IBonDriver2::~IBonDriver2(){};
IBonDriver3::~IBonDriver3(){}; <- この行はBonDriver_Proxy.cppにだけ
---
を追加して試してみるとどうでしょう?
>>397 sample.cppのコンパイル時に以下のエラーがでました。
---
sample.cpp:(.text+0x26e): undefined reference to `typeinfo for IBonDriver2'
sample.cpp:(.text+0x276): undefined reference to `typeinfo for IBonDriver'
---
とりあえず、sample.cpp側にも上と同じ、IBonDriver*のデストラクタの実体を定義して、
コンパイルを通しました。(何が正解かは不明ですが)
結果としてはNGです。ダウンキャストの失敗は変わらずです。
typeinfo がないっつーのはタイプライブラリ関連じゃないのか?
とりあえず、sample.cpp の dynamic_cast すべて static_cast に置換してみろよ
> とりあえず、sample.cpp側にも上と同じ、IBonDriver*のデストラクタの実体を定義して、
> コンパイルを通しました。(何が正解かは不明ですが)
これは適当すぎなので止めて、BonDriver_Proxy.soとリンクしてみました。
ダウンキャストは失敗せず、正常に動いているようです。
リンクしちゃうとdlpenしてる意味が無くなっちゃうんですけどね
おまえタイプライブラリ勉強してこいよ
無知でスマン。Linuxでタイプライブラリ使ったこと無いんだ.。
>>398 あああ失礼、sample.cpp側からは実体が見えなくなるので宣言だけにしちゃうと当然エラー出るようになりますね
この場合はヘッダでは純粋仮想デストラクタとして
---
virtual ~IBonDriver() = 0;
---
みたいにしとかないといけませんね
純粋仮想だけど実体もあると言う若干珍しいパターンになりますが…
#sample.cpp側に実体定義は…多分やっちゃいけないですw
これでもダメならダウンキャスト失敗はやっぱりまた別な原因なのかもしれません
>>399 当方も最初それかなと思ったんですが、一応gccのRTTI関連のオプションはデフォルトでオンらしいんですよね
gccのバージョンでも変わってくるのかなぁ
そもそも dynamic_cast である必要があるの?
>>405 BonDriverインタフェースの設計的にそう言う利用方法にならざるを得ない感じです
もっとも、現実的にはIBonDriver2を実装していないBonDriverは多分ないですし、
IBonDriver3を実装してるのはほぼ皆無でしょうから、
IBonDriver2決め撃ちでも殆ど問題にはならなさそうですけどね
> あああ失礼、sample.cpp側からは実体が見えなくなるので宣言だけにしちゃうと当然エラー出るようになりますね
> この場合はヘッダでは純粋仮想デストラクタとして
> --
> virtual ~IBonDriver() = 0;
> ---
上記はまだ試してないです。
ちょっと手元でコードを弄っているのですが、dlopenを止めて
soをリンク、CreateBonDriverを直接呼び出すようにすると
ダウンキャストに成功するんですよね。
基の設計がクラス自体を返す設計だからな
あの設計が有り得ないくらい中途半端なんだよな
LinuxのTS抜きスレってありますか?
>>395 BonDriverは2senの中の人じゃなかったっけ?
>>410 EDCBの作者=BonDriver_PT、BonDriver_PT3の中の人
>>411-412 最初にBonDriverのinterface定義をしたのは2senの中の人だよ
で、そのinterfaceにそってPT用の複数プロセス対応BonDriverを作ったのがEDCBの作者
interface定義を最初にした人が別なのにEDCB作者を叩く意味がわからん
で?
てか、2senの中の人もBonDriverがダメダメなことがわかっていて、
拡張BonDriverの計画があったけど、B-CAS関連でごたごたしだして頓挫した。
それに加えて、BonDriverに対応したソフトがたくさん出ていたので
互換性を考慮すると簡単に弄れなくなってしまった。
せめてバージョンが判るコールバックでもdll側に実装すべきだよ
どのバージョンのBonDriverがかえってくるのかtypeinfoで判別するとか
致命的欠陥だろ
>>418 もともとが亀から続いての凡だもん。
たくさんのバージョンやチューナを想定していたわけじゃない。
想定外の発展を遂げた。それを欠陥というのは間違い。
タイプライブラリってコンパイラが変わると互換性ないだろ?
>>400 dynamic_castってstatic_castに変えても良かったっけ?
ハゲしくすれ違いだがw。
実行時の型チェックが行われないだけだよ
>>413 あら、faqに載ってるような問題だったんですね
新しめのgccでは何が違うんだろう
dlopen使わないプログラムには基本無駄な情報でしょうからデフォルトがそうなってるとも思えませんが…
リンク対象にlibdlがあったら勝手にリンカオプション追加してくれるとかでしょうかね
いずれにしても解決したようで良かったです
プレクまで・・・乙
これを期にクワッドチューナー買ってみようかな
>>375 これsample.iniの通りに指定してるんですが 01=PT-S 側のチャンネルスキャンなどが出来ません
00=PT-T 側は利用できていますが、他に確認するところはありますか?
BonDriver_Proxy.ini / BonDriverProxyEx.ini
> BONDRIVER=PT-T
>
> [BONDRIVER]
> 00=PT-T;BonDriver_PT-T0.dll;BonDriver_PT-T1.dll
> 01=PT-S;BonDriver_PT-S0.dll;BonDriver_PT-S1.dll
必要かわかりませんが BonDriver_PT-S.ChSet.txt のBonDriverとしてのチューナ空間も未変更/変更共に試しました
> $BS 1
> $CS110 2
>>425 まだ多分動くんじゃないかな的なコード書いてみただけでホントに動くかどうかはわかりませんので…
>>426 えと、BonDriverProxyExは同一スペース/チャンネルのBonDriverなら複数まとめられますが、
それらが異なるBonDriverをまとめる機能は持っていません
つまりT用とS用でそれぞれBonDriver_Proxy.dllのコピーが必要です
その上で、Sample.iniの例で言うとT用の方のiniのBONDRIVERにはPT-Tを、S用の方にはPT-Sを設定です
更にTとSもまとめたい、みたいな用途には、BonDriver_RDCTからT用とS用の2つのBonDriver_Proxyを
読み込む感じで可能ではないかと思います
なお、BonDriver_PT-S.ChSet.txtのチューナ空間の番号(スペース番号)は、BonDriverを使うアプリ(TVTest等)が
0からスキャンを始める都合で、0スタートでないと駄目だったかと思います
要するに同類のチューナーをBonDriverProxyExで一度纏めて、それをBonDriver_RDCTで纏めて仮想3チューナーっぽく仕上げて、
更にそいつをズラズラ並べたやつをBonDriverProxyで飛ばしてやればいいんじゃないの?
BonDriverProxyEx.exe
PT2 Rev.A を1枚差しで、TVTestを2つ起動して地上波の同じ番組を見ているときに、
1つのTVTestのチャンネルを変更しようとしても変更できない確立がすごく高いです。
PT3で症状は出ません。PT2 Rev.A 2枚で同じ結果でした。
BonDriverProxy_ver1.1.2.0 3261982(Sc_552590) 140618
BonDriverProxyEx 3255255(Sc_550695) 140610
BonDriver_PT-ST(人柱版3) 110116
>>429 うーん何だろう
ハードウェアはもちろん、読み込むBonDriverによっても内部処理を変えたりはしていないので、
PT3で症状が出ないのなら、PT2の方の何かしらの設定関係ではないかと思いますが…
ウチでもテストでは主にPT2(Rev.Bですが)とBonDriver_PT-ST(人柱版3)の自ビルドしたのを使ってますが、
一応以下の設定で意図通りの動作を確認しています
// サーバ側フォルダ内容
--------------------
BonDriverProxyEx.exe
BonDriverProxyEx.ini
BonDriver_PT-S.ChSet.txt
BonDriver_PT-S0.dll
BonDriver_PT-S1.dll
BonDriver_PT-ST.ini
BonDriver_PT-T.ChSet.txt
BonDriver_PT-T0.dll
BonDriver_PT-T1.dll
PTCtrl.exe
--------------------
// サーバ側iniの[BONDRIVER]セクションの設定
--------------------
[BONDRIVER]
00=PT-T;BonDriver_PT-T0.dll;BonDriver_PT-T1.dll
01=PT-S;BonDriver_PT-S0.dll;BonDriver_PT-S1.dll
--------------------
// クライアント側T用iniのBONDRIVER指定
--------------------
BONDRIVER=PT-T
--------------------
なおBonDriver_PT-ST(人柱版3)も、(100ms待ってからなのでまず表面化しなさそうですが)
「SetChannel()内で、GetTsStream()でアプリに返したバッファを解放してしまうBonDriver」なので、
念のためサーバ側を対処済みのモノにしといた方が良いかと思います
>>430 やはり駄目でした。
EDCBのEPG取得もBonDriver_Proxyを通すと歯抜けになります。
そのままBonDriver_PT-ST(人柱版3)を読み込んでも、PT3を使っても問題ありません。
もう少し試してみます。
>>432 あとは、TVTestやEDCBのチャンネル設定の問題の可能性もゼロではなさそうなので、BonDriver_Proxyを
使用してる状態でチャンネルスキャンをやり直してみるくらいしか思いつきません
あんまりお力になれずスミマセン
もし誰の環境でも起こる確実な再現方法、あるいは原因そのものがわかったら教えてください
434 :
426:2014/06/27(金) 20:11:06.29 ID:yhT/8yvQ
>>427 お答えありがとうございます、機能を一部勘違いしておりました
dll側をリネームし指摘の通り別個にする事で利用可能になりました
>>433 検証してみました。
100%の再現性があるのは2つのチューナーを登録した状態で、TVTestで同一番組を見ている場合で
番組変更する側のチューナーがPT1の場合でした。
この場合、TVTestでチャンネル変更するとチャンネル名はそのままでD/E/Sがリセットされ0に戻って反応しなくなります。
再度、元のチャンネルと指定したチャンネルに切り替えても反応しません。それ以外のチャンネルにするとチャンネルの変更がされます。
以上のことから、BonDriverProxyExの、使用チューナー判定→新しいチューナーOPEN→チャンネル切替 の動作の中でおかしくなっているのでは
ないか思いました。
また、EDCBのEpgDataCap_Bon.exeで同じ検証をしましたがチャンネル変更されました。
TVTestとEpgDataCap_Bon.exeで動作が違うのは、、KTV-FSPCIEを複数台近づけると電波障害でチャンネル変更できない場合がある症状と同じ
違いなのでチャンネルの変更方法が違うためだと思います。
○切替OK
00=PT-T;BonDriver_PT-T0.dll;BonDriver_PT3-T0.dll
00=PT-T;BonDriver_PT-T1.dll;BonDriver_PT3-T1.dll
×切替NG
00=PT-T;BonDriver_PT3-T0.dll;BonDriver_PT-T0.dll
00=PT-T;BonDriver_PT3-T1.dll;BonDriver_PT-T1.dll
00=PT-T;BonDriver_PT3-T1.dll;BonDriver_PT-T0.dll
検証ソフト
BonDriverProxy_ver1.1.2.0 x86
BonDriver_Proxy.dll BonDriverProxy_ver1.1.2.0 x86 付属DLL
TVTest 0.7.23
TVTest 0.8 最新ビルド
i5 4760K
H87-PRO
とりあえず1台のPCでの検証です。アンテナを外しCAS処理も無効で検証しました。
時間ができたらもう一台のPCで試してみます。
ほかに必要な情報や検証があったら教えてください。
また、EDCBの番組取得出来ない問題は再現性がわかりませんでした。
BonDriverProxyExとは関係ない可能背うせ意のほうが高いです。
ごめんなさい。
作者はトリップ貼ってほしい
一体どいつが書いているのかよくわからない
有用性によっては専用スレ立ててもいいじゃない
先に公式ページなり雄志のwikiなりで、先に情報整理してくれた方が良いような気がするけど
それ素っ飛ばして専用スレ立てるなら、せめてテンプレ案くらいは考えた方が良いんじゃないの。
>>435 同じ症状。
これが原因だったのか。
EDCBで録画すると正常だから気づきにくかった。
>>435-437 なるほど、PT3用とPT2用のBonDriverをまとめてる場合なんですね
ウチには二枚刺しの環境が無いので同じ状況を検証できず、何とか再現できんかなと、
---
00=PT-T;BonDriver_Proxy.dll;BonDriver_PT-T0.dll
---
とやって、BonDriver_Proxy.dllを別マシンのBonDriver_PT3-T0.dllに繋いでみたりしたんですが、
それでは再現せずでした…
BonDriver_PTやBonDriver_PT3はロードされてからコントロールプロセスを起動してアレコレやるかなり複雑な
構造してるので、なんかその辺りに原因がありそうな気がしてますが…
とりあえず、PTCtrl.exeとPT3Ctrl.exeはサービス登録でしょうか?
もし違うなら、サービス登録して試してみても同じ症状でしょうか?
何が原因にせよ、理屈的にはハードウェアが別でもBonDriverとしてのスペース/チャンネルが同じであれば
まとめられるはずなので、確かに解決しておきたい案件ではありますね
>>438-440 どうせ大した事は書いてませんので…
ソースは結局全部GitHubに上げたので、そっちのバージョンが変わらない限り、当方からの新バージョンの
リリースも無いと思っていただければ
専用スレなんてのも必要無いかと
#落ちるの目にみえてますし(;´Д`)
443 :
435:2014/06/29(日) 14:38:45.25 ID:gMMh5JQ6
>>442 PT2だけのときも同じ症状です。新しく開いてチャンネルを切り替えるチューナーがPT2の場合に発生しています。
検証結果に書いてありませでした。ごめんなさい。
追加
×切替NG
00=PT-T;BonDriver_PT-T0.dll;BonDriver_PT-T1.dll
00=PT-T;BonDriver_PT-T1.dll;BonDriver_PT-T0.dll
PTCtrl.exeとPT3Ctrl.exeのサービスの追加を明日までに検証しみます。
444 :
435:2014/06/29(日) 14:53:12.04 ID:gMMh5JQ6
>>442 PTCtrl.exeとPT3Ctrl.exeをサービス登録してみました。
PT2のみ
PT3とPT2の組み合わせ
両方とも同じ結果でした。
>>441 まったく同じ症状でしょうか?
他の方で同じ症状の人いますか?
>>443 > PT2だけのときも同じ症状です。新しく開いてチャンネルを切り替えるチューナーがPT2の場合に発生しています。
あら、そうでしたか
となるとますます謎ですね
当方の環境では
>>430に書いた通りPT2でも意図通りの動作をしています…
PT複数枚刺しである事以外にウチと
>>443さんとで違う可能性のあるものと言えば、PT2のドライバ/SDKのバージョン
くらいでしょうか?
#当方どちらも最新版(3.0)を使っています
また、ウチではx64バイナリでテストしています
#流石にこれは関係ないんじゃないかと思いますが、一応…
>>446 お手数おかけしてしまってすみません。
ドライバー・SDKともに最新版(3.0)です。
x64試しても駄目でした。他PCでも同様の実験をしたのですが同じ結果でした。
デコーダー・レンダラを変更しても駄目。自分でビルドしても駄目。
PT2で2枚とも同じ症状。VirtualPTでは正常にチャンネル切替ができる。
原因はBonDriverProxyだと思うのですが・・・
探ってもわからないので諦めます。
お付き合いくださってありがとうございました。
>>447 PT2のSは大丈夫でTの変更時だけ?
尽くSleep入れて様子みたら?
>>447 せめてこちらでも再現できればいいのですけどね…
そう言えば、問題が起きた時TVTestのログ(設定から見えるやつ)には何か出ていますか?
それと、一応以前から理論的にはあり得るよなと思ってた事に対応したバージョンをつくってはみました
多分TVTestには関係ないと思うので、これで改善する見込みは薄いかと思いますが…
今は斧が死んでるみたいなので、復旧したら上げてまた書きます
>>449 TVTestのログ見るのを完全に見落としていました・・・
2014/07/02 9:49:41>BonDriverにチャンネル変更を要求します。(チューニング空間 0[地デジ(UHF)] / Ch 以下略
2014/07/02 9:49:42>チャンネルの変更が BonDriver に受け付けられません。
>>450の状態になったときに、
直前のチャンネルと変更しようとしたチャンネル以外のチャンネルに変更するとチャンネル変更できます。
直前のチャンネルを指定すると、再生されず
TVTest 0.8.1
2014/07/02 10:10:52>サービスを選択します(SID 以下略
TVTest 0.7.23
2014/07/02 10:18:24>サービスを選択しています(SID 以下略
2014/07/02 10:18:24>該当するサービスが見付かりません。指定されたSIDはPMT内にありません。
変更しようとしたチャンネルを指定すると、再生されず
2014/07/02 10:12:41>BonDriverにチャンネル変更を要求します。(チューニング空間 0[地デジ(UHF)] / Ch 以下略
2014/07/02 10:12:41>チャンネルの変更が BonDriver に受け付けられません。
>>448 はい。PT2のSは大丈夫です。Tのみおかしいです。
Sleepはどうやって入れますか?
中の人どうしたんだろう?
斧に来ないよ
Githubで管理するという案は如何だろうか
456 :
450:2014/07/06(日) 10:27:28.03 ID:90kJkCHq
>>454 ありがとうございます。
試してみましたが駄目でした・・・
>>455 確かにそうですね
GitHubでのバイナリ配布とかの細かい使い方良くわかってないので、今度調べてみる事にします
>>456 もしかして、
BonDriver_PT3-T.ChSet.txt
と
BonDriver_PT-T.ChSet.txt
の内容が違ってたりしないでしょうか?
で、TVTestでのチャンネルスキャンがPT3側で行われてると
>>450-451みたいな挙動になりそうな気もします…
>>457 BonDriver_PT3-T.ChSet.txt
と
BonDriver_PT-T.ChSet.txt
は同じでも同じ結果です。。
PT1を1枚で2チューナーの実験でも同じ現象なので関係ないと思います。
>>458 > BonDriver_PT3-T.ChSet.txt
> と
> BonDriver_PT-T.ChSet.txt
> は同じでも同じ結果です。。
と言うのは、それらの内容が今までは違っていたのを今回同じにしてみたと言う事でしょうか?
それとも以前からずっと同じだったと言う事でしょうか?
#細かくてすみません
後者であった場合は、単にやっぱりこのパターンでもなかったと言う事になりますが、
もし前者であるのなら、コピーするなりして同じ内容にした上で、TVTestのch2ファイル削除して
再度チャンネルスキャンしてみるとどうでしょうか?
> PT1を1枚で2チューナーの実験でも同じ現象なので関係ないと思います。
論点はTVTestのch2ファイルの内容が実際のChSet.txtと食い違っていないか?と言う点なんです
確かにPT一枚だけでの運用の場合はそうなる可能性は低いのですが、二枚刺し運用でなら、
PT3でチャンネルスキャンをして、作成されたch2ファイルをPT2用にもコピーすると(あるいは
BonDriverProxyExの様な使用方法をすると)、ChSet.txtとch2ファイルの内容に齟齬が生じる
可能性が出てくるので、もしかしてと思った次第です
PT3や、PT2でもS側では現象が発生しない理由の説明も付きますしね…
>>459 PT3のBonDriver_PT-T.ChSet.txtに合わせてありました。
自分もSが正常でTだけおかしいのは自分の設定かと疑っていたのですが・・・
思いつく設定を弄っても・・・
>>460 とりあえず
>TVTestのch2ファイル削除して再度チャンネルスキャン
やってみたら?
>>461 BonDriver_PT-ST(人柱版3) 110116
PT3 人柱4 修正ビルド 292_build wv12d77m4ynsukc 120718
一番疑われる場所なので慎重に試しました。
共に最新のBonDriver_PT-T.ChSet.txtを使用。
.ch2を一度消して再度作り直しをしても駄目。
上記2つのBonDriver_PT-T.ChSet.txを使ってチャンネルスキャンしても.ch2のCRCは一緒でした。
>>460 >>462 > PT3のBonDriver_PT-T.ChSet.txtに合わせてありました。
> 共に最新のBonDriver_PT-T.ChSet.txtを使用。
うーん、同じでしたか…
#PT3の方はBonDriver_PT3-T.ChSet.txtと言う意味ですよね?
現時点では他に同様の現象になる理由を思いつかず、当方で再現も出来ないので残念ながらちょっとお手上げです
再現できるならどの部分でトラブってるのか調べようもあるのですが…
他の確認事項も、
・BonDriver_PTのTのバイナリとSのバイナリを間違っていないか
・サーバ側iniの[BONDRIVER]セクションの内容に誤記はないか
の様に、おそらく既に確認されたであろう事くらいしか思いつきません
>>460さんの各種確認作業を疑っているわけではないのですが、BonDriverProxyExとしては、BonDriverインタフェースを通じて
対象BonDriverを操作しているだけなので、S側は動くのにT側は動かないと言う理由は存在しないハズなんですよね…
もしまだお付き合いいただけるなら、参考までに、
---
00=PT-T;BonDriver_PT-T0.dll
---
の様に使用BonDriverを一つだけにした場合にも再現するか?(この状態で二つ起動したTVTestの両方からPT-Tを指定、
チャンネルロックは指定せずで、チャンネル変更に失敗するか)と言うのを確認して教えていただけるでしょうか
内部処理的には未使用BonDriverが見つかるか見つからないかの違いしかないので、再現しない理由は無いハズですが…
なお正常動作の場合は、両方のTVTestのチャンネルが変更されます(これは単なるBonDriver共有状態と同じなので)
不具合が起こったり起こらなかったり摩訶不思議だね
不思議な症状だよね。
466 :
441:2014/07/09(水) 20:13:40.91 ID:gUBZmMeu
同じ症状でPT2だけ駄目だよ。
TVTestのショートカットでチャンネル指定するとチャンネル変更は問題ないな。
TVTestの問題の可能性が高いので報告しておいた。
>>463 ご迷惑お掛けしています。
>・BonDriver_PTのTのバイナリとSのバイナリを間違っていないか
>・サーバ側iniの[BONDRIVER]セクションの内容に誤記はないか
再度確認してみましたが問題ありませんでした。
>00=PT-T;BonDriver_PT-T0.dll
2つのTVTestで同じ番組に変更されます。
>>466 同じ症状の人がいてよかったです。
>>467 TVTestだけの症状ですから、TVTestの不都合の可能性がありますよね。報告ありがとうございました。
TVTestのショートカットに/rch を割り当て起動させて見ました。2つのTVTestで違うチャンネルを指定して
順番に起動させたら正常に違う番組が表示されました。
470 :
469:2014/07/10(木) 19:58:17.95 ID:14rbPTOS
1)別々のフォルダーのTVTestで多重起動禁止でAとBの2つ起動させる。
2a)チャンネルは同じチャンネル
2b)チャンネルは別々
3)ショートカットに /rchを追加してBのチャンネルを変更
2a)チャンネルが切り替わりませんでした。
2b)チェンネルが切り替わりました。
結局、今までの検証と同じ動作だったようです。
>>468 > 2つのTVTestで同じ番組に変更されます。
うーむ、一つにすると再現せずですか
やっぱり謎ですね…
一つの場合と二つ以上の場合との違いは、どちらかのTVTestからのチャンネル変更リクエスト時に
未使用BonDriverがあるかどうかだけで、あった場合はその未使用BonDriverに対して
CreateBonDriver()→OpenTuner()と続けて呼び出して、以降はなかった場合に元のBonDriverに対して
行うのと共通処理となっています
なので、再現しない理由は無いはずなのですが…
なお、これらの追加処理中にエラーが発生するとTCPのコネクション自体を切断するようになっているので、
直前のチャンネル、変更しようとしたチャンネルだけでなくそれら以外のチャンネルへの変更も不可能になるはずで、
おかしくなっても他のチャンネルには変更できるとの事なので、この部分ではエラーにはなっていないのではないかと
推測しています
#この辺りはTcpview等で確認するのが確実ですが
個人的にはTVTestより、BonDriver_PT(あるいはPT1/2用のSDK)の方が原因としては可能性が高いのではないかと思いますが、
#いやBonDriverProxyExだろ、てのはひとまず置いておくとすればですが…
なにぶん現象が再現できておらず、突っ込んで調べたわけでもないのでハッキリした事は何も言えませんね
>>471 AutohotkeyでTVTestのを多重起動させるときSleep 100程度入れないと再生されない時がある。
PT2に限らずPT3でも同じ。SpinelだとSleep必要ない。
この辺りが不都合の原因じゃないの?
>>472 TVTestの(ほぼ)同時多重起動で再生されない場合はともかく、この問題に関しては
TVTestからは単に単一のBonDriverに対してチャンネル変更を要求しているだけなので、
問題はそこより下層の部分である可能性が高いんじゃないかなと思うんですよね
もっとも、TVTestより下層の問題じゃないかと言う意味で根が同じである可能性はありますね
474 :
名無しさん@編集中:2014/07/29(火) 14:32:31.91 ID:0P/rEcVs
tvtestとBonDriverProxyをmacに移植できるかなあC読んでも全然わからないのが問題だ
>>474 BonDriverProxy_Linuxは既にmacに対応してる(当たり前だけど、Linux用のPT/プレクチューナー凡ドラ以外)
TVTestの方は移植ってレベルの作業じゃないだろうし、別のプレイヤー使うのが現実的かと
定番だけどVLCとかでudpストリーム受ければ視聴できるから、サンプルプログラム→b25→udp送信プログラムと
パイプで繋いで送信すればとりあえずテレビとして使えるレベルにはなる
ただこの方式じゃ、チャンネル変更はサンプルプログラム一旦終了→別チャンネル指定して再実行になるから、
サンプルプログラムを少し改造して凡ドラ制御でチャンネル変更できるようにした方がスマートだと思う
プレイヤー自体でチャンネル変更できるようにしようとすると、プレイヤーに凡ドラサポートとb25デコード、
あとそれ用のUIも追加する必要があるだろうから、結構大がかりになるかな
>>475 とりあえず作ってみるかダメだったら諦めよう
現状Macでテレビ見ようと思ったら
VMか小型PCなどを用意しRecTaskとTvRock環境を構築して
チューナーのON/OFFとチャンネル変更は番組表のコントローラーから
画面表示部はVLCでudp受けして実現することになる
pythonからdll読み込むとかはわかったけどアホだからOpenTunerとかアクセスできねーよ
sampleの98行目から謎すぎる早く人間になりたい
TvTestにBonDriverProxyをいれてみたんだけど、
「BonDriverの初期化ができません。」とエラーになってかなり悩んだ。
原因は、対応するiniファイルのセクション名が間違っていたこと。
linux側で作成したconfをwindowsへコピーした後、 ; を [] へ書き換え忘れていたw
エラーメッセージがもう少し判りやすいと有りがたいですね。
ともあれ、linux→windowsでのリアルタイム視聴が便利になり感謝です。
今後の発展に期待しています。
>>480 元々win環境でのGetPrivateProfileString()使って楽する為にiniファイルだったんですが、
*nix環境に移植する際にそういう便利な物は無くて(僕が知らないだけかもしれませんが)、
また、iniよりはconfだよなと思ったのと、設定ファイルパースなんて楽に越した事ないので、
深くは考えずにパースできるフォーマットを適当に決めた次第です…
#ちなみに動作確認していませんが、クライアントモジュールの*nixでのconfをwinでのiniとして
#利用する事はできませんが、その逆のiniをconfとして利用するのは大丈夫だと思います
なお、あのアバウトな「BonDriverの初期化ができません。」表示はTVTestが出してるもので、
BonDriver側としては単にエラー返してるだけなんです
言い換えれば、BonDriverインタフェースとして、アプリ側からエラーの詳細を知る手段は
用意されていないので、しょうがないとも言えますね
一応、BonDriver側からもメッセージボックス表示するとかそう言うのも可能だとは思いますが、
他のBonDriverでやってるのをみた事ないので、そう言うモンかな、と思ってそのままですヽ(;´ー`)ノ
482 :
480:2014/08/23(土) 23:27:38.37 ID:ladXu/tP
>>481 >
>>480 > #ちなみに動作確認していませんが、クライアントモジュールの*nixでのconfをwinでのiniとして
> #利用する事はできませんが、その逆のiniをconfとして利用するのは大丈夫だと思います
*nix側、ini形式で大丈夫でした( ・∀・)
483 :
435:2014/09/14(日) 15:17:09.73 ID:YmULzI2m
新しい、BonDriverProxy_current 3318791(Sc_567353) 140913
が出たので検証して見ました。
同じ結果でした・・・
残念。
win版はうまく行くがLinux版はうまくいかない…成功した人がいたらブログとかにまとめて欲しい…
>>484 うちは CentOS 6.5 だけど普通に動いてる
どこでコケてるの?
あれ、ID被ったw
. ィ
._ .......、._ _ /:/l!
:~""''.>゙' "~ ,、、''‐'、| _ ンナアホナ
゙、'、::::::ノ:::::::_,.-=. _〜:、 /_.}'':,
``、/:::::::::__....,._ `゙'Y' _.ェ-、....._ /_゙''i゙ノ、ノ
,.--l‐''"~..-_'.x-='"゙ー 、`'-、 ,:' ノ゙ノブ
" .!-'",/ `'-‐'') /\ `/ でノ-〈
.-''~ >'゙:: ‐'"゙./ ヽ.,' ~ /
//::::: ', / ,:'゙
>>485 たぶんバカにされるくらい初歩的なことだからもう少し知識つけてからやってみるわ…
debianでもできる?
>>483 その問題も気になってはいるのですが、いかんせん当方で現象が再現できないので手詰まりなんですよね
何とか原因を突き止めて解決したい…
自演失敗
492 :
484 488:2014/09/15(月) 18:37:25.01 ID:XIr2tJ4j
>>491 初歩的な質問します
make server
make driver
そのあと
BonDriver_LinuxPT-S0.so
BonDriver_LinuxPT-S0.so.conf
にリネームして
confの中のドライバーを/dev/pt3video0
に指定して
その後がわかりません…
クライアントの方は
make client
ででてきたconfの;を[]に変更して.iniに変更しサーバーのPCのIPアドレスに指定しました。(このiniを利用しWindows版のExからの受信は成功したので記述は間違ってないと思うんですが…)
>>492 BonDriverProxy が置いてあるフォルダに移動
./BonDriverProxy 0.0.0.0 1192 &
を実行して後はクライアント側の設定すれば見れると思う
クライアント側から視聴する場合にサーバ側で b25 解除したい場合は --b25 を付ける(その際は make の後ろに B25=1 を付けてビルド)
494 :
484 488:2014/09/15(月) 20:11:02.57 ID:BKjwJ7QM
>>493 IBonDriver を取得できません。
CreateBonDriver()の呼び出しでNULLが返されました。
とエラーがでます…
ちなみにB25はクライアント側で解除しようとしてます。
495 :
484 488:2014/09/15(月) 20:18:16.76 ID:BKjwJ7QM
>>493 あ、できました。
接続はできたみたいなんですが、Linux側で
SetChannel() ioctl(SET_CHANNEL) error: /dev/pt3video0
とでて映像が映りません…
496 :
484 488:2014/09/15(月) 20:47:58.43 ID:BKjwJ7QM
>>493 解決しました!
無知な私に丁寧にありがとうございました!
http://peace.2ch.net/test/read.cgi/avi/1404770820/524 BonDriverProxy_current 3318791(Sc_567353) 140913
これをTVTestで試してみましたので気になった点だけ報告します
Proxy起因で無い場合想定通りの動作の場合、無視して下さい
・(頻度 常時)チャンネル切り替え後リセットする設定でエラーやドロップのカウントが0にリセットされない
・(頻度 稀)地デジとBSを切り替える際ブラックアウトのままになるが、操作を受付チャンネル変更すると無事映る
# 使用BonDriverは BonDriver PT-ST 人柱版3 です
>>497 えと、前者に関しては、TVTestに表示されるドロップのカウント等はTVTest(のBonTsEngine)が内部的に行っている事で、
BonDriver側で何かを行っているわけではないです
なんとなくですが、チャンネル切り替え時ストリーム破棄とか切り替え最小間隔とかの、TVTest側の設定の辺りの気がします
前述の通りTVTestの内部処理なので、TVTestのバージョンにも依存するかもしれませんね
一応、ウチで使用しているバージョン(0.8.2とdevelop版最新)では特に問題無くクリアされるようです
#チャンネル切り替え時にストリームは破棄、切り替え最小間隔は0の設定で使用しています
後者に関して、地デジとBSの切り替えでのブラックアウトと言うのは、映像が出ないで音だけ出るってやつでしょうか?
もしそうならウチでも、最初に1440x1080の番組を表示し、そこから1920x1080の番組に切り替える際に、
レンダラにEVRを使用していると高頻度で発生します
#EVR以外を使用している場合や、最初に1920x1080を表示してから -> 1440x1080 -> 1920x1080では発生しません
これはTVTest+TvtPlay+BonDriver_Pipeでファイルを再生する場合でも同じなので、おそらくTVTestか
EVR(か環境依存)の問題なのでしょう
#ちゃんと調べてないので正確な原因はわからないです
PLEXのPX-S1UDでBondriverProxy_Linuxを使えた方いますか?
PT3での手順と同様にやってみたところクライアント側にBS/CSしか表示されないんですが…
>>498 詳しくありがとうございます
前者は追試した所、Proxy経由とそうでない場合でリセットのタイミングが変わってただけ?らしく
リセットされました、お手間かけて申し訳ないです
後者は音声も出ない(エラーカウントも増えないが映像も音声も来ていない?)状態ですが
複数のTVTestを立ち上げて確認した所、Proxy自体は応答停止してるようではないので
指摘の通りTVTestに問題があるのかもしれません
ちなみに、TVTestのVerは0.8.1(x86) 2014/01/28頃のGitをビルドしたものでした
>>500 > 後者は音声も出ない(エラーカウントも増えないが映像も音声も来ていない?)状態ですが
あ、もしかしてTVTestのBonDriver設定で、初期チャンネルが指定無しになっている場合の挙動と同じでしょうか?
もしそうなら、BonDriver_Proxy.dllのiniを書き換えたりして、プロキシ先のBonDriverをスペース/チャンネルの
互換性が無いBonDriverに変更した場合に、TVTestが前回終了時のチャンネル(や指定チャンネル)に
チャンネル変更しようとして失敗してる、みたいなパターンかもしれません
#この場合は、ソフトウェア的な問題ではなく設定に起因する問題ですね
>>501 DVBドライバですね…
BS/CSと表示されるのはその「Adapter0」と言うDVBドライバーを指定しているので誤認識しているのだと思います
>>503 なんかそんなに手間でもなさそうだったのでDVBドライバ用のBonDriverつくってみました
GitHubのdevelopブランチにあげてます
テストはpt3_dvb(リビジョンはfd90fa5a16d07981b19d5e868ad9f463cee77989)でしかやっていないので、
それ以外でちゃんと動くかどうかはわからないですが、良かったら試してみてください
confの内容は、地デジに関してはデバイスのかわりに#ADAPTER_NOを指定する以外はchardev版と同じです
>>504 わざわざありがとうございます…感謝します
make driverをしたところ
BonDriver_DVB.cpp:601:17: error: ‘DTV_STREAM_ID’ was not declared in this scope
make: *** [BonDriver_DVB.so.o] エラー 1
というエラーが出るのですが
何が原因でしょうか…
506 :
483:2014/09/19(金) 23:46:38.65 ID:Xj2sEPU4
>>489 BonDriverProxyEXが便利なのぜひ使えるようになってほしいです。
なにかあれば協力しますのでお声を掛けてください。
>>505 すいませんコピペミスです
BonDriver_DVB.cpp: In member function ‘virtual const BOOL BonDriver_DVB::cBonDriverDVB::SetChannel(DWORD, DWORD)’:
BonDriver_DVB.cpp:601:17: error: ‘DTV_STREAM_ID’ was not declared in this scope
make: *** [BonDriver_DVB.so.o] エラー 1
OS はdebianです
>>507 何やら古いカーネルヘッダでは定数の定義名が違うみたいです
BonDriver_DVB.cppの601行目の
DTV_STREAM_ID
を
DTV_ISDBS_TS_ID
に書き換えてコンパイルしてみるとどうでしょうか?
>>508 >>509 ありがとうございます。makeできました!
しかし私のPX-S1UDではやはりできないようです…PT3を友人が持っているのでそちらでDVB版を試してみて設定が悪いのか、チューナーが悪いのかを特定したいと思います。
>>511 当方ではPT3で動作確認しており、PT2とFriio(白)でも動作確認できたと報告していただいてます
が、Friio(白)への対応の際に若干改修が入りました
この改修はPX-S1UDにも関係する可能性ありそうなので、試してみたのがもし現在の最新版でないなら、
現在の最新版で試してみてください
最新版で試してもダメだった場合は、どんなエラーが出てるのか教えていただけると対応考えられるかもしれません
>>512 最新版でmake driverをしたところ今度は
BonDriver_DVB.cpp:737:19: error: ‘DTV_STAT_CNR’ was not declared in this scope
BonDriver_DVB.cpp:747:27: error: ‘union dtv_property::<anonymous>’ has no member named ‘st’
とエラーが出ますがどうしたらよろしいでしょうか
>>513 おおう、こんなところにもバージョン依存が(;´Д`)
じゃあBonDriver_DVB.cppの735行目から747行目まで削除してmakeしてみてください
#この削除はお使いのカーネルがサポートしていない機能を削除してるだけです
>>514 recpt1のpx-s1ud版のdvbrecの録画テストでも失敗するようなのでおそらくドライバの導入のミスだと思います…そちらがまず正常に動作してからBondriver_Proxyをやってみたいと思います。
lsusb やls/dev/dvb/では正常にドライバは入っているようなのですが…
最新版のBonDriverProxy_Linuxで指示の通り指定行を削除しmakeはできました、サーバー側で動作させてみたところ、クライアントのTVtestは「チューナーを開いています」が永遠に続きエラーはでません...
>>515 Linuxの方に書きましたがPX-S1UD動きましたよ。ただしUbuntu14.01です。
http://maguro.2ch.net/test/read.cgi/linux/1388900589/699 自分が忘れてただけですがファーム入れ忘れてないですか?
後、電源ON時や再起動時は認識に失敗したり、認識しててもドロップ
しかしない状態になったりとどうも不安定です。自分のPCがボロなのか、
PX-S1UDがはずれだったのかは分かりませんけど。とりあえず、PX-S1UDを
さし直しすとそれなりに安定します。それでも、視聴中に突然ドロップしたり
します。まあもう少し様子を見ようかなと思ってます。
>>516 ドライバは同サイトで行いました。
ファームもインストールしていると思います。やはりdebianでは無理なのですかね…
518 :
名無しさん@編集中:2014/09/22(月) 23:47:47.26 ID:eXjwb2Di
>>517 手持ちのDebianでやってみたけど普通に動作しましたよ。
新しいほうがいいかなと思ったので 3.14.15にしてみたけども。
uname -a
Linux tvsv2 3.14-0.bpo.2-amd64 #1 SMP Debian 3.14.15-2~bpo70+1 (2014-08-21) x86_64 GNU/Linux
sampleを実行してTSファイルが保存できます?例えば以下の様な手順で
cd BonDriverProxy_Linux
・BonDriver_DVB.cppがコンパイルできないみたいなので
>>514で対処。
make
・sampleはmakeを実行しても作成されないのでsample.cppの先頭コメントを
確認してコンパイル
g++ -O2 -Wall -rdynamic -o sample sample.cpp -ldl
・設定ファイルは .conf ではなくて so.conf
BonDriverのファイル名+.conf ですが BonDriverのファイル名が.soで終わるから
それも含んでってことです。BonDriver_DVB.so + .conf = BonDriver_DVB.so.conf
デフォルトは.soのないBonDriver_DVB.confになっているからそのままだとダメです。
cp BonDriver_DVB.conf BonDriver_DVB.so.conf
・DVBのアダプタ番号の変更を忘れずに
vi BonDriver_DVB.so.conf
#ADAPTER_NO=0
・チャンネル番号を間違えない様に
デフォルトの設定ファイル BonDriver_DVB.so.conf では -c に指定するチャンネル番号は
UHF13に対して63になります。もちろん自分の住んでる地域で有効なチャンネルで。
BonDriver_DVB.soのパスも指定した方がはまらないです。
./sample -b ./BonDriver_DVB.so -s 0 -c 63 -t 10 -o aaa.ts
で10秒録画したら20MBぐらいのaaa.tsファイルができるはずです。
・b25 コマンドがあるならデコードしてaaa-b25.tsが再生できるか確認を
b25 aaa.ts aaa-b25.ts
>>518 >>519 ありがとうございます!
.so.confにするのをやはり忘れてました…
これを修正しクライアントで接続はできたのですが
SetChannel() ioctl(FE_SET_PROPERTY) error: adapter0
というエラーが出ます。
またsampleでは
OpenTuner() frontend open() error: adapter0
OpenTuner error
というエラーが出ます
これはドライバーの導入ミスですかね?
パーミッション確認してみたら?
ls -l /dev/dvb/adapter0/dvr0
crw-rw---T 1 root video 212, 1 9月 20 03:49 /dev/dvb/adapter0/dvr0
sudo adduser yourid video
割とつまらない理由でエラーになるケースが散見されるので、
エラー表示にはstrerrorも含めたほうが良いかなーと思います。
#straceで事足りるんですけどね(;´∀`)
>>521 パーミッションは大丈夫でした
>>522 すいません知識が乏しいもんでstrerrorとはなんですか?ググってもわかりませんでした…
ドライバやソフトを最初から入れ直しても同じ症状です。再起動やチューナーのポートを変えても変化なしでした。
あ、安価ミスった。ついでに補足
>>522の意図は、もう少し詳細なエラーメッセージが欲しいということです。
straceを使うと、エラーメッセージが曖昧なアプリでも、
システムコールに起因するエラーであればその原因がすぐ判ります。
>>525 ありがとうございます
使い方間違ってたらすいません
$ strace ./sample -b ./BonDriver_DVB.so -s 0 -c 63 -t 10 -o aaa.ts
[f7720430] nanosleep({0, 10000000}, NULL) = 0
[f7720430] nanosleep({0, 10000000}, NULL) = ? ERESTART_RESTARTBLOCK (To be restarted)
[f7720430] --- SIGALRM (Alarm clock) @ 0 (0) ---
[f7720408] sigreturn() = ? (mask now [])
[f7720430] close(6) = 0
[f7720430] close(5) = 0
[f7720430] close(4) = 0
[f7720430] close(3) = 0
[f77375e1] munmap(0xf7711000, 51264) = 0
[f7720430] exit_group(0) = ?
使い方はあってるよ。grepで絞ってみて
この辺が知りたいところ
> OpenTuner() frontend open() error: adapter0
> OpenTuner error
例えばBonDriver_DVB.so.confのリネームミスだとこんな感じで判る。
$ strace ./sample -b ./BonDriver_DVB.so -s 0 -c 63 -t 10 -o aaa.ts 2>&1 | grep open
open("./BonDriver_DVB.so.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
>>527 open("/dev/dvb/adapter0/frontend0", O_RDWR) = 4
open("/dev/dvb/adapter0/demux0", O_RDONLY) = 5
open("/dev/dvb/adapter0/dvr0", O_RDONLY) = 6
こうなりました
ん?普通に動いてない?
その結果なら
> OpenTuner() frontend open() error: adapter0
> OpenTuner error
は出てないと思うんだけど。
grep "= -" だとどうですか
あ、今sampleをしてみたところ
SetChannel() ioctl(FE_SET_PROPERTY) error: adapter0
となりました
連投すいません
$ strace ./sample -b ./BonDriver_DVB.so -s 0 -c 63 -t 10 -o aaa.ts 2>&1 |grep SetChannel
write(2, "SetChannel() ioctl(FE_SET_PROPER"..., 52SetChannel() ioctl(FE_SET_PROPERTY) error: adapter0
grep ioctl か grep "= -" でplz
>>533 $ strace ./sample -b ./BonDriver_DVB.so -s 0 -c 63 -t 10 -o aaa.ts 2>&1 |grep ioctl
ioctl(4, 0x80a86f3d, 0xff8e2348) = 0
ioctl(5, 0x40146f2c, 0xff8e22ac) = 0
ioctl(4, 0x40086f52, 0xff8e22f8) = -1 ENOTTY (Inappropriate ioctl for device)
write(2, "SetChannel() ioctl(FE_SET_PROPER"..., 52SetChannel() ioctl(FE_SET_PROPERTY) error: adapter0
>>531のように、挙動が安定してないのも気になるところではありますね。
dmesgでドライバがエラー吐いてないかチェックしてみてください。
何か手がかりが掴めるかもしれません。
コレ以上は当方では力になれそうにないです。すみません。
ご健闘を。
>>537 解決しました。
amd64のdebianをインストールしなおして手順通りやったら録画できました。
BonDriverProxyも正常に動作しました!
無知な私に丁寧にありがとうございました。
また、DVB版も対応してくれた作者に感謝します。
>>522 確かに、設定や環境構築の基本部分は間違っていない前提でやってるところはあるので、
あまり親切ではないかもしれませんね(;´Д`)
しかしまあ、その辺りはReadMeをちゃんと読んでもらうなり、それこそstraceで調査してもらうなりの方向で…
>>538 動いたようで良かったです
サポートしてくれる方々がいてよかったですね
#なにぶん当方は当該チューナの現物を持っていないもので…
便利にBondriverProxyEx使わせていただいてます
チューナ指定の昇順降順をアプリケーション毎に使えないか試してた所
BonDriverProxyEx.exe が落ちたので報告だけ
下記iniにて2つのTVTestから双方別のチャンネルを指定した際に
めまぐるしくチャンネルが変わりBonDriverProxyEx.exeが落ちました
[OPTION]
BONDRIVER=PT-Ta
CHANNEL_LOCK=0
[BONDRIVER]
00=PT-Ta;BonDriver_PT-T.dll;BonDriver_PT-T.dll;BonDriver_PT-T.dll;BonDriver_PT-T.dll
01=PT-Tz;BonDriver_PT-T3.dll;BonDriver_PT-T2.dll;BonDriver_PT-T1.dll;BonDriver_PT-T0.dll
[SYSTEM]
PACKET_FIFO_SIZE=16
TS_FIFO_SIZE=32
TSPACKET_BUFSIZE=18048
# 色々試してみたのですが、仕様的に昇順降順の使い分けは無理ですかね?
BonDriverProxy_LinuxのTsSplitterの実装どっかがおかしくね?
まだ切り分けできてないけど、b25できないTSが出てくることがあるわ。
>>541 > 00=PT-Ta;BonDriver_PT-T.dll;BonDriver_PT-T.dll;BonDriver_PT-T.dll;BonDriver_PT-T.dll
これは、実体が同じBonDriverを複数並べていると言う事でしょうか?
BonDriver_PTは、単一バイナリで複数チューナを扱えると言う事になっていますが、それは複数プロセスから
別々に読み込まれる場合に限っての話で、BonDriverProxyExでの上記設定の様に、一つのプロセスから複数回
読み込まれる事を想定した物ではないようなので、こういう使い方はサポートされていないと考えた方が無難です
そのような使い方をした場合エラーになってくれればまだ良いのですが、実際にはそうはならず、
単にBonDriver_PT内部の各種状態変数の上書き破壊が発生し、いろんな箇所で実際の状態との齟齬が生じる為、
最終的にはホストプロセスを巻き込んで落ちる事になります
https://github.com/u-n-k-n-o-w-n/BonDriverProxy/blob/master/ReadMe.txt#L64-L66 で書いているのはその辺に関しての話ですね
#ちなみに、BonDriver_PT3も同じです
また、BonDriverProxyEx側も、ドライバリストに列挙されているのは実体が別のDLLだと想定しているので、
実体が同じDLLをロードした場合、仮にBonDriver_PTの様な問題が無かったとしても、おそらくメモリリークを
起こす事になると思います
なので、使用方法としては、
> 01=PT-Tz;BonDriver_PT-T3.dll;BonDriver_PT-T2.dll;BonDriver_PT-T1.dll;BonDriver_PT-T0.dll
のような方法でお願いします
> # 色々試してみたのですが、仕様的に昇順降順の使い分けは無理ですかね?
えと、昇順降順の使い分けと言うのは、具体的にはどう言う動作でしょうか?
>>542 TSヘッダのエラーインジケータを見てなかったので、絶妙に壊れたPATやPMTが来た場合、本来残すべきTSパケットを
上手く検出できない可能性がありました
また他の可能性として、ECMのPIDがPMTの記述子領域2で指定されてるパターンと言うのもあるかもしれません
当方そのパターンの実物は見た事が無いのですが、ARIB STD-B25 仕様確認テストプログラムでは対応しようとしてるので、
実は実際に利用されているのかもしれません
と言うわけで、その辺対応してみました
もちろんこれらが原因ではない可能性もあるので、もしまた再現したら詳しい状況等を教えていただけると助かります
またそれらとは別に、TSパケットの同期/再同期処理は行っていない(そもそもの対象のPT3のchardev版は、デバドラ側で
TSの同期を保証してくれている様だった為)ので、使用しているデバドラの仕様によってはTSの同期ズレが発生するかも
しれません
が、この場合はTSの出力自体が行われなくなる筈なので、とりあえずご指摘の件には関係ないんじゃないかなとは思います
>>543 > 昇順降順の使い分け
単純に4チューナある場合
0〜3 の順番に空きを利用していく動作(昇順利用)と
3〜0 の順番に空きを利用していく動作(降順利用)を同時に実現したいだけですね
その際に昇順利用と降順利用をまたいだ共有が可能かどうか試してました
何でそんな事?と問われるなら
利用頻度の低い末尾チューナーの接続のゆるみや突然死など気づきやすいので
という感じですね
>>546 ありがとうございます、一通り試してみました所
こちらの考えていた使い方に合う様になっていました、引き続き愛用させていただこうと思います
なんかお手間を取らせた形になってしまい申し訳ありませんでした
重ねて御礼申し上げます
チャンネルの変更がBonDriverに受け付けられません。
って自分もでるのですがRecTaskだと
チャンネルの変更がBonDriverに受け付けられません。(IBonDriver2::SetChannel()の呼び出しでエラーが返されました。)
とでることに気がついたので報告しておきます
あとTvRemoteViewer_vbをBonDriverProxyEx使わずにいじっていて
地上波の選局ができず同じエラーが出ていました
BonDriver_PT-STに問題あり?
>>547 ああいえいえ、大した手間でもありませんでしたので
その機能があれば良いなと思う理由が、当方にも理解できる様にはっきり説明されてたからこそですしね
>>548-549 それらのエラーは、現在使われているであろうBonDriverに関して言えばまず間違いなく同じ意味です
また、実際にエラーを表示しているのはBonDriver側ではなくTVTestやRecTask等のアプリ側なので、
BonDriver側としては、アプリ側からのチャンネル変更要求に対してエラーを返した際に、アプリ側での
表示内容がどうなるのかを制御する手段は無いんです
> TvRemoteViewer_vb
当方TvRemoteViewer_vbもRecTaskも使った事が無いので確実な事は言えませんが、エラー内容的に、
おそらくBonDriver_PTとして受け付けられないチャンネルにチャンネル変更しようとしてるんじゃないでしょうか?
BonDriver_PT-T.ChSet.txtが存在しないとか、内容がおかしいとかその辺な気がします
551 :
542:2014/10/13(月) 00:54:06.67 ID:NnItUNzX
やっとBonDriverProxy_Linuxでb25できない原因がわかった。
USESERVICEID=1の時一部の放送でECMが捕捉できないことがあるね。
具体的にいうとBonDriver_LinuxPT.cppの
811: if (bChangePMT) // PMTが変更された
を暫定的にif(1)にするとb25できるようになる。
特定するためにTsSplitterだけ切り出してファイルに処理できるやつ作ったわ(´・ω・`)
552 :
542:2014/10/13(月) 01:13:58.30 ID:NnItUNzX
>>551-552 ありがとうございます
ナルホド、PATは更新されずにPMTのバージョンだけが更新されて、その際にECM等のPIDまで変更されるパターンでしたか
確かに仕様的には許されますね…
さっそく対応させてもらいましたヽ(´ー`)ノ
今、デスクトップPCにPT3付けて、ソフトはVirtualPTでノートPCから見れるようにしてるんだけと
BonDriverProxyを使えば同じようなことが出来るってことでしょうか?
>>554 大体あってる
ただし現在スクランブル解除をVirtualPTでやってるなら、そのあたりに若干対応する必要がある
ノートPC側にカードリーダーを持ってくる、BonCasLinkとかを使う、BonDriverProxyにb25パッチを当てる、
その他の方法を使う・・・
みたいな感じで、対応のしかたはいろいろあるから好きな方法使えば良い
>>555 >BonDriverProxyにb25パッチを当てる
どこにあるの?
b25パッチはlinux版用につくられた方がおられますね
githubにあるので、ググったらすぐみつかると思います
linux版用ですが、ロジックは同じなのでwindows版に適用するのもごく簡単ですよ
一応当方でも、libarib25をdll化した物と、b25パッチを小改造(libarib25にもパッチ当ててるので、
不要になる筈の処理を削除しただけです)した物との組み合わせで、問題無く動くのを確認しています
ちなみに、libarib25はwindows環境では多分殆ど使われていませんが、1回目のECM処理でサービスの契約状況を確認して、
未契約のサービスに関しては2回目以降処理しないと言う動作をするので、契約/未契約関係なしに毎回カードにECM処理
させる事になるB25Decoder.dllと比べて、(特にサーバ側でのデスクランブル用途で使う場合は)大分都合が良いです
#もっとも、全サービス契約してるとか、それと同等のアレなカードを使用しているとかの場合は
#あまり変わらないかもしれませんが…
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で、指定無しの場合はディレイ無しとなります
キタ━━━━(゚∀゚)━━━━!!
チャンネル変更できるようになりました!
>>549 thx
Epgsrvが落ちなくなってるかな?
562 :
483:2014/10/18(土) 18:15:11.75 ID:GCwHKM0Y
>>559 ご丁寧にありがとうございます。
ただいま検証できる環境にありません。
数日以内に試します。
申し訳ございませんが、お待ちください。
>>560 おお、良かったです
>>562 原因がこれだと良いのですが…
本来的には、BonDriver_PT以下の層での問題なので、PT1Ctrlの内部辺りで対応するのが正しい道かと思います
PT1Ctrlを自ビルドしてる人は、そちらを変更するのが良いでしょうね
#そうすればBonDriver_PTを使用する他のアプリで同じ問題が起こる事も無くなる筈なので
>>563 PT1Ctrlが原因なんですか?
どうせなら修正バイナリが欲しい・・・
>>555 ありがと
VirtualPTの中にTVTestを入れて使ってる(昔はPC一台TVTest+EDCBだったけど、別のPCから見るのと録画しないのでVirtalPT+TVTestのみ使用)んだけど、
VirtualPTのソフトを外して(VirtualPTに代わりに)BonDriverProxy+TVTestにすればいいてことかな?
もちろん設定とかチャンネルデータみたいなのコピーしたり、カードリーダー、BCASカードは必要だけど
どうやら、EARTH::PT::Device::SetTunerSleep()でチューナを省電力状態から通常状態に移行させた後、
T側だけは少し待たないとEARTH::PT::Device::SetFrequency()に失敗するようですね
SDKのヘッダ(兼ドキュメント)に待つ必要がある事等は書かれていないので、PT1/2-SDKの問題と言っても良さそうです
#なお、上記のパターンでSetFrequency()に失敗するとSTATUS_PLL_LOCK_TIMEOUT_ERRORが返ってきますが、
#これもドキュメントにはこの関数の戻り値として書かれていない値です
>>564 と言う感じなので、(PT1Ctrlも含めて)BonDriver_PTの問題では無さそうでした
しかし、SDK以外のどこで対策するかと考えると、やっぱりSDKに一番近い層であるPT1Ctrlが正しいかなと
#最善はSDKが対策する事ですが、正直それ程重大な問題でもないですし、上位層での対策も簡単なので…
なお、PT1Ctrlで対策しておきたい人は、
CPT1Manager::OpenTuner()とCPT1Manager::OpenTuner2()の最後の辺りの、
if( enISDB == PT::Device::ISDB_T )
の中で、
Sleep(10);
とかやっとけば大丈夫かと思います
また、SDKを使ってチューナを直接操作してる他のアプリである、ptTimerとかVirtualPTが対策してるかどうかは
調べていないのでわかりません
どっかで見たなそれ、と思ったら手元のPT3Ctrl改造メモに
「OpenTunerにあるSleep(10)がOpenTuner2にないので追加」ってあったw
そりゃ発生しないわけだw
>>568 いえ、PT3CtrlのCPT3Manager::OpenTuner()にあるSleep(10)は、多分無くても問題無いですよ
#当方はあのSleep()には特に意味は無いと思ってます
問題となるのはあくまでもSetTunerSleep(false)から帰ってきた後の時間ですね
PT1/2とPT3では使用ICが変わってますので、PT3で問題が起きないのはその為かと思います
実際、PT3はSDKのInitTuner()の内部で一旦SetTunerSleep(false) -> SetFrequency()をディレイ無しで行っているので、
仮にPT3に同じ問題があったなら、InitTuner()自体が結構な確率で失敗する筈です
ですが実際にはそう言う事はないので、これはやはりPT1/2が使用しているICに由来する問題なんでしょう
ちなみに、ptTimerを軽く調べてみたところ、チューナモジュール毎の省電力設定は行っておらず、
どれかのチューナを使用する時はデバイスのチューナモジュール全部省電力を切っている様でした
なので、関係しそうなのはチューナ使用前のデバイス初期化時だけで、そこでは
S0:SetTunerSleep(false) -> T0:SetTunerSleep(false) -> S1:SetTunerSleep(false) -> T1:SetTunerSleep(false) ->
S0:SetFrequency() -> T0:SetFrequency() -> S1:SetFrequency() -> T1:SetFrequency()
と言う感じで初期設定しているので、問題が起きるかどうかは実行時間次第ですね
まず大丈夫かとは思いますが…
Rev.Aの省電力の不都合と関係しているのかな?
Reb.Bでも起こるのかな?
社長にメール投げてもいいのかな?
>>569 やっべ読んでるつもりが理解してないの丸判りだ。PT1/2の事でしたね
まあうちも「念のため」って書いてあったし処理をそろえる程度にしただけっぽい
消しても問題ないと判断したけど安全側をとったんだったような気がします
574 :
483:2014/10/20(月) 13:47:47.05 ID:iNkaOX6I
>>563 OPENTUNER_RETURN_DELAY=10
の設定でチャンネル変更が出来るようになりました。
Spinelから、BonDriverProxyEに移行しようと思います。
対応ありがとうございました。
BonDriverProxyやBonDriverProxyEx
スカパー!プレミアムのボードに対応してほしい。
>>574 時間かかってしまいましたが、解決できたようで良かったです
(アプリケーションの立場からは)原因特定もできたのでスッキリしましたヽ(´ー`)ノ
>>575 加入した事ないのでスカパー!プレミアムサービスの事は良く知らないのですが、ググってみたところ、
使用しているチューナに使えるBonDriverを使ってTVTestで視聴する、みたいな感じなんですね
それなら、特にこちらで何か対応しないでもそのまま使えるんじゃないかと思います
linuxの方は、サーバ/クライアントモジュールはwindowsと同じく特に問題無し、ドライバモジュールは、
例えばTBS6982などはDVBフロントエンドが提供される様なので、DVB版ドライバモジュール使えば行けそうです
ただ、DVB-S2用に小改造する必要はありそうですね
#具体的には、現状ISDB-SとISDB-Tしか想定していない種類判別及び周波数の設定処理の辺りと、もちろんconfの内容です
なお、linuxで視聴もするならb1に対応したデスクランブラも必要かと思いますが、こちらはlibarib25の小改造で
行けるんじゃないかと思います
>>576 BonDriverProxyExを使っています。
軽くていいです。便利です。安定しています。
00=PT-T 01=PT-S 2つのグループ指定だけでなく、複数のグループが作れるようになればもっと便利だと思いました。
プレミアムにも対応したらうれしいです。
日本語読めないのかな?
>>579 最初から出来たんですね・・・
すみませんでした。
>>580 いえ、確かに増やせる事がちょっとわかりにくい書き方だったかもしれません
ReadMe.txtを少し変更しておきましたヽ(;´ー`)ノ
BonCasStub hoge の中の人いますか???
アプリ側に置くBonCasStub.iniを固定のファイル名ではなく、winscard.dllと同じファイル名になるようにして欲しいです。
当方、TVTestやEDCBでwinscard.dllのファイル名を変更して使っています。
変更後のファイル名.iniになると複数のBonCasProxy.exeにアクセスしやすくなって便利です。
>>583 対応ありがとうございました。
TVTestは、[CasLibraryNetwork]でTVCASのファイル名を指定
EDCBは、BonCtrl.iniの中でB25Decoder.dllのファイル名を指定
その指定したファイル名の中の文字列winscard.dllをバイナリファイルで書き換えて使っています。
>>584 > その指定したファイル名の中の文字列winscard.dllをバイナリファイルで書き換えて使っています。
ああ、TVCASやB25Decoderが読み込むdllをヘッダ書き換えで差し替えてると
それならソフト側の対応状況は関係無しですねヽ(´ー`)ノ
>>583 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
>>586 余計な制御が入るから必要ないんじゃないの?
1つのBonCasServer.exeでB25とB1の振り分けが出来て、
多数のリーダーの待ちうけが出来れば最高なんだよね。
BonDriverProxy軽いね。
Ex使っているけどSpinelより断然いい。もっと流行って欲しいよ。
>>589 元々BonCasLinkでは複数のカードリーダ対応は想定されていない感じなので、そこはなかなか面倒そうですね
もし対応しようとすると、多分BonCasLinkの通信プロトコルいじる必要が出てきます
SCardListReaders()の呼び出しをサーバ側にプロキシして、サーバ側で見えてるカードリーダをアプリに返す感じでしょうか…
あるいは、BCAS/SPHDカード専用で良いのなら、SCardTransmit()でコマンドパースして…と言うのもアリかもしれません
いずれにせよ、BonCasServer自体を変更する必要が出てきますけどね
しかしまあ、素直にBonCasServerを複数起動させておくのがお手軽かと思います
>>590 ありがとうございます
しかしまあ当方面倒はイヤなので、ヘタに流行ってReadMe読まない人とかが使い出すのはノーサンキューです(;´Д`)
>>589 改造BonCasLinkで出来てたはずだけどな
リーダーごとに別ポートで受け付けるようになってたはず
>>593 それは実質的にはBonCasServerを複数起動してるのと同じですから、それならそんなに手間ではないですね
>>591で想定してたのは、BCASもSPHDも同じポートで待ち受けて処理するパターンで、
この場合アプリからは、BonCasProxyを使ってても複数のカードリーダが見えるようになります
で、
>>588は、BonCasLinkのプロトコルはいじらずにそれと大体同等の事ができるようにする為の機能追加ですね
ただしもちろん、BCAS用とSPHD用のBonCasProxy/BonCasServerの組がそれぞれ起動している必要があります
またそもそもの話ですが、BonCasServerでBCAS用以外のカードを扱うには、BonCasServerを改造
(BcasCard.cppでやってる余計な初期化処理を削除)する必要があります
バイナリパッチで良ければ、手元にあるsha1ハッシュ値が
---
e0b3b6a08ab79f53ba2030b169b5238719ce2993
---
のBonCasServer.exe(53248バイト / 2008/04/28 17:38:02)に対してで言うと、
---
00001D09: 21 -> 2C
---
で多分行けるんじゃないでしょうか(これも脳内テストしかしてませんが)
なお、複数のカードリーダが見えると何が嬉しいのかと言うと、例えばB25/B1DecoderやTVCAS_B25/B1は、見えてる
カードリーダに順番にアクセスしてみて、初期化要求に対して期待してるレスポンスが得られた場合に
そのカードリーダを使用するようになっているので、特に指定しなくても必要なカードが刺さってる
カードリーダを探して使用してくれる、と言う辺りでしょうか…
#もっとも、結局その上位層のアプリでは、あるデータに対してどのCASシステムを使用するか、と言うのを選択する
#必要がありますから、TVTestで言うところのCasLibraryNetworkの様な仕組みは必要になりますけども
使おうと思ってやり始めたけどイマイチ使い方がわからない
最低限で使おうとすれば
親PC:BonDriverProxy+TVTest(カードリーダー+CASカード)
子PC:BonDriverProxy+TVTest (カードリーダー+CASカード)
でいけるのかな?
>>593 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などで探してください。
BonCasLinkを使わずに、
BonDriverProxyの中でCAS処理してくれるのが理想。
TVで視聴、EDCBで録画だとCASが2処理になる。
BonDriverProxyで処理してくれたら1処理で済む。
そーですね(棒)
>>596 最低限の構成は、
親PC:BonDriverProxy+各種BonDriver
子PC:BonDriver_Proxy.dll+TVTest等の各種BonDriver使用アプリ+CAS処理関係
ですね
イメージとしては、子PCのBonDriver使用アプリに対して、読み込んだBonDriver_Proxy.dllを
親PC側に存在するBonDriverに見せかける様な感じです
>>598 以前にも書いたのですが、それに関しては機能を実装する事自体は簡単なのですが、
著作権法的に地雷かもしれないので意図的に避けています
最新版のTVTestやEDCBやptTimerがCAS処理を行わないのと同じ理由だと思っていただければ…
ただそれとは別に、サーバモジュールでのデスクランブルは、チューナ数が増えてそれぞれ別のチューナに
アクセスするクライアント数が増加した場合に、CAS処理(multi2デスクランブル部分ではなく、
カードでのECM処理部分)がボトルネックになりかねませんから、個人的にはアーキテクチャとして
あまり良い形だとは思いませんけどね…
例えば、Spinelでデスクランブルしようとすると、CS数ストリームでドロップし始めると言われてるのは、
それ(とB25Decoder.dllの仕様)が理由だと認識しています
ちなみに
>>557-558はその辺りに関しての情報ですので、やはりその機能を組み込みたい、と言う場合には
参考になるかと思います
なお、
>>557でちょっと書いてるlibarib25へのパッチは
ttp://pastebin.com/xiZg4W9j の事です
BonDriverProxyEXいいね。
TVTestとSpinelで6画面同時再生すると負荷50%だったけど、
TVTestとBonDriverProxyEXの組み合わせにしたら負荷20%になった。
とにかく軽いしチューナー共有できるからいい。
誰かBonDriverProxyExとPX-W3PEで運用してる人おる?
色々と試行錯誤したんだが、どうやってもTVTestの起動時に「CreateBonDriver() の呼び出しで NULL が返されました。」と表示されてしまう。
ちなPX-W3PEのドライバーは最新。OSはWHS2011です。
>>603 PX-W3PEなら、BonDriver_PX_W3PE_T0.dllとかだと思いますが、
確認事項としては、
・TVTestから対象BonDriverを直接読み込んでの視聴は可能か?
・windowsファイアウォールの設定含め、ネットワーク的な問題は無いか?
・x64版のBonDriverProxyEx.exeを使っていないか?
・BonDriverProxy関係の設定にミスは無いか?
あたりでしょうか
当方PLEXチューナは持っていないので、こうすれば絶対大丈夫とは言えないのですが、
TVTestで直接読み込んで問題無いなら多分使えるんじゃないかとは思います…
Bondriver_Linuxの周波数テーブル番号は
どうやって変えたら良いの?
当方フレッツテレビでTOKYOMXの
物理チャンネル番号が20なので変えたい
のです。
>>605 BonDriver_LinuxPT/DVB.confの中では「名称」として物理チャンネル番号を設定してるので、
それに該当する行の「周波数テーブル番号」を持ってくるのが簡単かと思います
例えば、物理チャンネル番号が20なら70ですね
ちなみに、このテーブル番号の大元はPT-SDKのヘッダファイル(EARTH_PT/PT3.h)で、
chardev版の方はデバドラの仕様的にこの番号が必要になっています
DVB版の方ではこの番号を使用する意味は特にないのですが、chardev->DVBの移行や、
その逆がやりやすいかなと思ってそうしています
狙って再現できないから黙ってたけど、もしかしたら同じ症状の人が居るかもしれないので報告。
BonDriverProxyExとPT1で希望通りの動作が実現したけど、
時折ドロップが発生する。TVTestのエラーカウントで1回D30前後、秒数にして3-5秒フリーズする。同時にSが100前後発生する事もある。
録画やPCの操作していない時でも発生するのでPCの負担とは関係ないっぽい。
頻度もバラバラで1時間に2,3回発生する事もあれば3時間位全くない事もある。
録画は1晩だけ試したけど、10件中2件ドロップがあった。
当然だけど、BonDriverProxyExを使用しなかった場合はこういった症状は全くない。
>>606 MX見れました!
ありがとうございます。
>>607 うーん、なんだろう
一応ウチでは、少なくとも数時間流しっぱなし程度では問題は起きないですね…
ともあれまず、スクランブル未解除の発生に関しては、ドロップが発生するとそのドロップで
ECMが落ちる事も考えられるので、由来は同じでしょう
で、問題のドロップに関しては、なんとなくネットワーク的な問題かなーと感じます
とりあえず、ネットワークは無線でしょうか、有線でしょうか?
もし無線なら有線で繋いでみて(あるいはクライアントアプリをサーバと同じマシンで動かしてみて)、
それでも発生するでしょうか?
BonDriver_Proxy.dll(2014/11/06版)なんですが、
TVTest>設定>一般で、デフォルトのBonDriverにBonDriver_Proxy.dllを指定。
TVTest>設定>BonDriver設定で、初期チャンネルに指定なしを指定。
TVTestを起動するとNHK総合が映ってしまいます。BSは未確認です。
2014/09/30版のBonDriver_Proxy.dllでは問題ありませんでした。
BonDriverProxyEx(2014/11/06版)で使っています。
>>610 これはTVTestの内部仕様とBonDriverインタフェース(ver2)の仕様ズレで発生する問題の様でした
BonDriverインタフェース(ver2)ではスペース/チャンネル情報をDWORDで扱いますが、TVTest内部では基本的に
signed intで扱っており、この不一致が原因で、BonDriverが初期チャンネル(通常は無効チャンネル)として
signed intでは負になる値を使用していた場合、本来検索にヒットしてはいけないチャンネルにヒットしてしまい、
そのチャンネルへのセットを(初期チャンネルの設定内容に関係なく)BonDriverに指示してしまう様です
具体的には、
https://github.com/DBCTRADO/TVTest/blob/develop/src/AppMain.cpp#L1043-L1045 での、CChannelList::FindByIndex()ですね
今回の条件の場合、検索が無条件ヒットなので最初のインデックスの0が返って来て、直後の
https://github.com/DBCTRADO/TVTest/blob/develop/src/AppMain.cpp#L1048 で「チャンネルリストの最初のチャンネル」にセットされます
NHK総合になるのは、「チャンネルリストの最初のチャンネル」がそうだったからでしょうね
対策としては、TVTest側で修正するのは面倒なわりに得る物は殆どないと思うので、
ドライバ側で無効チャンネルとして0x7fffffff(INT_MAX)を使用するように変更しました
ちなみに、無効チャンネルとして扱う値変更による機能的な変更は全くないので、
9/30版のままでも何も問題無いです
612 :
607:2014/11/09(日) 18:27:05.56 ID:Ff+4YB+Z
>>609 返信ありがとうございます。
> もし無線なら有線で繋いでみて
ネットは無線ですが、元々視聴時録画失敗回避のための使用ですのでサーバーと同じマシンで動かしてます。
というか、PCが手元に1台しかないからネットワーク越しでの使用は試せない環境です。
レスがない所をみるとうち以外で発生している人は居ない様ですね...。
糞環境乙なんですかねorz
>>612 なるほど、サーバとクライアントは同じマシンでの運用なんですね
もしサーバ/クライアントそれぞれのiniで、IPアドレスとしてLANのローカルアドレス(192.168.x.xとかの、
無線LANのNICに割り当てられているアドレス)を使用しているのなら、127.0.0.1に変更して様子見してみて
もらえませんか?
既にそうだったら、他にできそうな事は…問題が再現するまでシステムの各種負荷をモニターしっぱなしに
しておいて、再現したらその時の状況を確認するとかくらいでしょうか
PCの負荷には関係なさそうとの事でしたが、今時のwindowsはむしろ何もしてない時にこそ検索インデックス
つくったりデフラグしたりするので、その辺が影響している可能性もあるかもしれません
他にも定番ですが、アンチウイルスソフトが何かやってるとか…
現時点ではちょっとそれくらいしか思い付きません(;´Д`)
BonDriver_Proxyの中の人って丁寧で仕事早いわ。
マジ感服する。
ありがとう。
その、感謝してるし凄い…
けど、上げてくれると正直うれしい
何を上げるの?
ビルド済みお願いします(><)
googleドライブにあるじゃん
ほんとサンキュー
【EDCB】EpgDataCap_Bonについて語るスレ 39
http://peace.2ch.net/test/read.cgi/avi/1411821141/510 510 名前:名無しさん@編集中[sage] 投稿日:2014/11/09(日) 20:14:48.64 ID:B/HsM+sm
流れとは関係無いけど地デジ(CATV)の人は
BonDriverに入ってる「BonDriver_PT3-T.ChSet.txt」の1行がミスってて、
1局だけ受信できない事があるから注意な
$地デジ(CATV) 1
;チャンネル(タブ区切り:名称,BonDriverとしてのチューナ空間,BonDriverとしてのチャンネル,PTxとしてのチャンネル,TSID(衛星波以外は0))
C60Ch 1 47 59 0
C61Ch 1 48 60 0
C62Ch 1 49 61 0
C63Ch 1 49 62 0
※最後の「C63Ch」行の49を50に修正
621 :
610:2014/11/10(月) 21:19:51.22 ID:MBrVvTQD
>>611 対応ありがとうございます。問題ないこと確認しました。
解説は難しすぎて私には理解不能ですが(;´Д`)
愚問で申し訳ないのですが、GitHubをDLすると改行コードがLFになっているんですが
CRLFに変更してビルドしたした方がいいんでしょうか?
GitHub以外で公開されているのはCRLFのようですので。
Visual Studioは改行コードどっちでも平気
git configのcore.autocrlfがtrueかinputになってんだろうね。
この設定するとテキストファイルはcommit時に改行コードをLFに変換されるから
GitHubからzipダウンロードするともちろん改行コードはLFになる。
あとは
>>622の言うとおり。
624 :
621:2014/11/11(火) 06:28:22.79 ID:w29ffaiG
>>623 その通りです
linux版つくった時にローカルリポジトリのLFがCRLFに置き換えられて(;´Д`)てなったので、
inputに変更したんでした
よく考えるとfalseにしとけばよかったんですね
628 :
607:2014/11/11(火) 21:14:20.38 ID:JqBzuS/A
>>613 127.0.0.1へ変更してみて、アンチウイルス切ってもダメでした。
PC起動後TVTestのみ起動させて30分位放置するとやっぱりエラーカウントでD90位行きますね。
詰んだ...?
なんかメモリが壊れてそうな悪寒
>>628 ダメでしたか…
対象BonDriver直接読み込みで問題無い以上、ドロップの起きる何らかの理由があるんでしょうから、
何とか解決したいですね
もう一つ思い付いた事として、iniのPACKET_FIFO_SIZEを32、TS_FIFO_SIZEを64辺りに変更してみると
どうでしょうか?
1台のマシンでの運用と言う事ですから、もしかしたらこれらの値を増やす事で改善するかもしれません
ちなみにこれらの値はプロセスに使用を許可するメモリ量の制限値的な意味で、大きくしておいても
その量が必要時以外に確保されるわけではないので、大きすぎて困ると言う事はまず無いハズです
windows版もデフォルト値を大きくするべきかな…
>>632 >>610は2014/11/06版で発生するようになったものなので、2014/09/30版には関係ありません
別に問題があるわけでは無かった物の変更(2014/09/30版->2014/11/06版)を行った理由が
>>627と言う事ですね
>>633 やっと理解できた。
1106で以上でたから1109で元に戻しただけなのか。
で、結果0930と何も変わってない。
635 :
607:2014/11/15(土) 17:28:18.28 ID:oYJVnh5e
> iniのPACKET_FIFO_SIZEを32、TS_FIFO_SIZEを64辺りに変更
変更してみましたが、やはり、PC起動後TVTestのみ起動させて1時間放置すると1,2回はドロップします。
> 対象BonDriver直接読み込みで問題無い
問題なかったので行っていませんでしたが、今回改めてMemtest86+を行ったところ問題なくパス(2周)しました。
636 :
607:2014/11/15(土) 17:30:25.32 ID:oYJVnh5e
すみません、アンカー付け忘れました。
>>630宛てです。
1,2回のドロップは回数?カウント数?
もしかしてBonDriverProxyのプロセス優先度をノーマルのまま使っているって落ちじゃないよね?
どちらにしても、直読みでも1時間に1回程度なら時々ある現象だよ。
638 :
607:2014/11/15(土) 23:01:48.72 ID:oYJVnh5e
>>637 1,2回は回数です。
>>607にも書きましたが、1回D30前後、秒数にして3-5秒フリーズする。同時にSが100前後発生する事もある。
BonDriverProxyEx.exeの優先度を高にしてみたりもしましたが、やはり発生します。
> 直読みでも1時間に1回程度なら時々ある現象だよ。
うちではBonDriverProxyExを使用しなかった場合はそういった現象には遭遇した事はありません。(録画でも同様)
Memtest86も大丈夫となるとCPUやメモリが足りてないくらいしか俺には思いつかないわー
CPUのクロック制御止めて常に最大クロックにしてみるのと、
ほかにPCIのカード刺してるなら抜いてみる、
電源古いものなら交換 くらいかなあ。
1時間に1回程度なら時々あるとかそれならバグってんじゃないの?
Spinel使っててそんなこと起きたこと無いよ?
バグなら同様の報告がもっと出てくると思うがそんな様子は無いですね
Windows7 64bit版においてリモートデスクトップで録画の制御を行おうと、BonCasLinkでB-casカードを共有しようとしたのですが、
「サーバーの起動に失敗しました。 TCPポートまたはカードリーダーをオープンできません」
というエラーメッセージが出てまず最初のサーバーの起動ができません。
ネットを検索してもサーバーは特に手を加えることなく起動可能という情報ばかりでほとんど対策が見つかりません。
数少ない同じエラー例での対策も実行したのですが全く改善されません。
現在下記のような状態です。
・32bit版と64bitビルド版で同じ症状。
・サービス版は起動するが、BonCasProxyを起動してからtvtestを起動してもアイコンが変化せず、TvTest側でカードリーダーを認識しないエラーが出るため正しく動いてるか極めて怪しい。
・Windowsファイヤーウォールの例外へ登録済み。 また無効化した状態でも起動できない。
・Smart Cardサービスの起動も確認。
BoncasLinkを使うための設定などでなにか見落としでもあるのでしょうか…?
>>638 PT1でBonDriver_ProxyExか・・・
すでにPT1を使っている人が少なくて報告が少ない可能性もあるかな?
BonDriver_ProxyExとの絡みはありません。って言い切れないかもしれない。
判断材料になるかもしれないので、PCスペックを教えて欲しい。
それ以外に判断材料の可能性になりそうなことは、、
・BonDriver_ProxyやSpinelでどうなるのか?
・TVTestの設定→BonDriver設定 が直読みと同一か?
・TVTestのバッファの状況はどうなっているのか?
・EDCBのEpgDataCap_Bon.exeでドロップは発生するか?
>
ただ、ドロップ数と停止時間だけ考えると、アンテナレベル>PCスペック不足>メモリ故障=チューナ故障>その他ハード故障
アンテナレベルがギリギリで家電TVの電源ONでドロップが発生したり、ノイズを拾って発生することがある。
今年の夏KP41病にかかった
対策が功を奏したのもある、けど気温が低くなってきて明らかに症状が起きなくなった
PCは明確な原因で問題が起きてるならハッキリいってそれってトラブルですらない
だから自分だけが起きてる症状なのか、ソフト由来の問題なのか
ハッキリ区分けする必要がある
そこそこ多数が使ってて問題が起きてないとまず自分の環境を疑う
1つ1つ潰していくしかない
横だけどそれだけ
647 :
607:2014/11/16(日) 10:54:52.95 ID:rg7F9qFo
>>645 なるほど、PT1が原因だとしたら報告がないのも頷けるかも。もっとも個人的には糞環境乙か壮大な勘違い,間違いで終わりそうな予感。
分かる事と答えられる範囲で回答します。
化石PCですみません。
CPU Core 2 Duo E7200
メモリ 4GB
M/B P5K-E
OS Windows Vista SP2 32bit
TVTest + TvRock + RecTaskの環境です。
EDCBとSpinelは全く使った事がないので分かりませんが、
EpgDataCap_Bon.exeでもドロップが発生する事は確認しました。(30分放置してみたらDorp: 60となった)
> ・TVTestの設定→BonDriver設定 が直読みと同一か?
特に変更していません。
> ・TVTestのバッファの状況はどうなっているのか?
設定 > 再生 > バッファリングを行う の事?オフです。
繰り返しになりますが、BonDriverProxyExを使用しなかった場合はドロップは発生した事はありません。
他に報告ないし、諦めてPT3で新しくPC組んだ方が早そうだなこれ。
>>644 Microsoft Visual C++ 2005 SP1 再頒布可能パッケージのことならそもそも視聴するのに必要なので既に入ってるのですけど、他に必要なランタイムってあるんですか?
ランタイム周りは真っ先にチェックしてなにか忘れてないかググったんですが、それっぽい情報は出てこなかったのですが・・・
>>643 過去、リモートデスクトップ越しにスマートカードが制御できないって話題があった気がする。
関連ワードで検索すればわかると思う。
>>649 検索して最初に見つかった事例がそれなんですが、質問者の方は結局解決してない様子でした。、
またその書込のあとに同様の症状があったとコメントを他の方がしていたのですが、その人はSmart Cardサービスが起動してなかったという原因だったので、
今回そこもチェックしてあります…
リモートでスマートカードが操作出来ないのはセキュリティ上の仕様だったかと
652 :
649:2014/11/16(日) 12:47:34.98 ID:yIkCI9nM
>>652 だめです。
直接サーバー側で操作してサーバー立てようとしても同様のエラーが出てソフトを起動できません。
654 :
650:2014/11/16(日) 13:06:43.26 ID:yIkCI9nM
は???
デスクトップ関係ないだろ!
本当にVC2005?他のVCが必要なバイナリも配布されていたよ。
B-CASカードリーダ接続している???
B-CASカードの表裏大丈夫???
そのBonCasLinkが配布されたままのハッシュ貼ってみて
>>653 使ってるカードリーダーの機種は?
サーバー側でBoncasLink使わずに
そのままで視聴等はできるの?
>>654 BontsDemuxも使ってるのでMicrosoft Visual C++ 2005 SP1 再頒布可能パッケージで間違いありません。
>>655 そのままの視聴はできます
もちろんワンセグ状態ではなくフルセグ状態でTvRock使った録画もできています。
カードリーダーは日立のM520Uです。
>>656 BontsDemuxのVCバージョンとBonCasLinkのVCバージョンとの間にどういう関係があるの???
BonCasServer.exeを起動すると、
「サーバーの起動に失敗しました。 TCPポートまたはカードリーダーをオープンできません」
ってメッセージが出るんでしょ?
これ、ネットワークとまったく関係ない。
カードリーダー周りかランタイム。
直接だと視聴できるならランタイムがない一択。
とりあえず、BonCasLinkが配布されたままのハッシュ貼ってみて
>>651が正解です。リーもーとデスクトップ経由でスマートカードへはアクセス出来ません。
>>657 そのエラーメッセージでランタイム原因と判断した理由が気になる。
ランタイムが無ければ、そもそも起動でエラーになるだろ。
Listenしようとしているポート番号が既に使われていてぶつかっているか、
カードリーダのオープンに失敗しているか、どちらかじゃね。
俺はリモデとboncas使って開発できてるので、大丈夫かと
そもそもリモート関係なしにbonlink単体が起動できてないみたいだし
vc2005、vc2008だとランタイムのチェック厳しくて
ランタイム合致しなかったら「サーバー〜」のエラーよりもまず、
プロセスの生成に失敗して「構成に失敗した」とかのエラーが出るかと
>>657 の落としてきたboncasのファイル自体の問題か、
>>659のネットワーク関連
カードリーダーのusbポート変えてみる、
ドライバーの最新版がないかとかかな…
>>660 Windwos7の環境で、Microsoft Windowsのリモートデスクトップで接続できてるの?
他のOSバージョンやVNCを使っているとかではなくて?
>>662 はい。そのためのBoncaslinkでもあるので
7〜xpもおkですね
664 :
607:2014/11/16(日) 18:02:46.45 ID:alE+xrXq
>>661 返信ありがとうございます。
早速再現したのでdbglog.txtの内容を記載します。
--- PROCESS_START ---
Packet Queue OVERFLOW : size[32] x 48行
...(略
--- PROCESS_END ---
でした。
Packet Queue OVERFLOW : size[32]
が48行です。
665 :
607:2014/11/16(日) 18:08:58.54 ID:alE+xrXq
紛らわしい改行を入れてしまいました。改行,空白はなしで以下の様な感じです。
--- PROCESS_START ---
Packet Queue OVERFLOW : size[32]
Packet Queue OVERFLOW : size[32]
Packet Queue OVERFLOW : size[32]
...(略
--- PROCESS_END ---
>>663 リモホのホストでBonCasServer.exeを使えているの?
気になるので試してみよww
あらやだ・・・
何も設定しなくてもBonCasServer.exe起動しちゃったわ・・・
繋がっちゃったわ・・・
Updateで修正入ったのかしら・・・
>>665 おお、それはサーバから送信しようとしてるのにできない状態がしばらく続き、送信キューが満タンになって
これ以上は保持できないから捨てたと言うログです
普通はネットワークが遅い場合に起こる現象ですが、
>>665さんの環境は同一マシンと言う事でそれは
無いでしょうから、純粋な負荷か、あるいはHDDに大きなアクセスとかでしょうか…
しかし、通信速度や処理能力が絶対的に不足している場合は、一度出たらそのままずっとでっぱなしになる
ハズなので、そうなっていないと言う事はバースト的なものなのでしょう
と言う事は、サーバ側iniのPACKET_FIFO_SIZEをもっと大きくしてみると(さらに倍の64とか、それでも
足りないなら問題が起きなくなるまで)、解決しそうな気がします
要は一時的な負荷上昇の間をデータを捨てずにしのげるくらいまでバッファを確保しておくイメージですね
>>666 はい。
ただ、ホスト側のboncasserverは
・リモデ接続前に起動しておかないと、サーバーの起動に〜が出てしまう
・リモデ越しにホスト側でproxyを使って視聴等しようとするとカードオープンに失敗する
がありますね
多分デスクトップセッションの関係かと思います
その点を踏まえるならboncasserviceのほうがいいかもしれないです
>>668 いえいえ
レス書いてる途中だったのですみません
いまはrdp8.0でudp接続させてますが、大分昔にrdp7で接続していた時も大丈夫でした
BonCasServerの、サーバーの起動に…のエラーの発生原因はメッセージそのまんまなので、
そのマシンでTCPポートがカブッってるアプリを使ってないかと、カードリーダは本当に
使える状態か、の2つくらいしか要因は無いと思いますよ
windowsは確か複数のアプリが同じポートをbind/listenできるので、
#この仕様もどうかと思いますが
おそらくカードリーダの方が可能性高いかと思います
ただ、BonCasServerとしてSPHD用みたいなのを使ってると、B-CASカードには使えないので、
同じようなエラーになるかもしれませんね
思いっきり勘違いしてました。
通常使えないから、Boncaslinkを使えば回避できるよって話だったんだ・・・
本気ですみませんでした。
ご迷惑おかけしました。
>>675 loopbackはTCP/IPプロトコルスタック内で処理されるのでネットワークインターフェイスは関係ない筈だが・・・
>>677 そうですね。
>localhostでも起きるって書いてあったみたいだから関係ないと思うけど。
と前置きしてたりするのはその辺を含んでるって感じです。
それでも書いたのは、リンク先に下の記述があったので
>a-2. ハードディスクアクセスが遅いときがある。場合によってはアクセス100%で固まる。
>この症状は SATA を AHCI にすると顕著に出る。
>>669の
>純粋な負荷か、あるいはHDDに大きなアクセスとかでしょうか…
もしかしたらこの辺りの一因かも?というような印象を持ったからです。
もちろん、同じマザーボードではないですしハズレの可能性大ですけど。
679 :
名無しさん@編集中:2014/11/17(月) 11:59:55.77 ID:KvmCW8jl
>>664-665 メモリに余裕ある?
俺の環境(Linux)だとメモリに余裕があまり無い(swap が発生している)状態の時によく起こる
681 :
名無しさん@編集中:2014/11/17(月) 19:56:04.18 ID:tjpVxGeh
アムドは低性能・爆熱・不具合満載の三重苦そろった産廃
存在自体害悪なので今すぐ地上から一掃すべき
AMDアンチのキチガイか○ntelの工作員が知らんけど怖すぎるね
自作板やノートPC板はもちろんのこと全然違う板でも全く同じコピペを見た
しかも今回はリンク先確認しないとAMDだとわからない
おそらく俺が知らんとこでもAMDの話題があるとたくさん同じコピペが貼られてるんだろう
いったいどんだけの板を監視してんのかと
>>676 一度それにしたけど、W3PE+spinelで2本復号しながら配信するだけで2コアそれぞれ50%前後だったんで不安になってやめた。
今は4コアのJ1900オンボマザー。
おれJ1900だけど、2枚差し同時8TS録画はきついみたい。
25分位で0Mbpsになってチューナーが固まって、
それ以降はチューナーオープンエラーで録画できなくなる。。
spinelが重過ぎるんだよ。
BonDriverProxy系 + BonCasLink に乗り換えると1/2〜1/3の負荷になる
古いチップセットの鯖機よりもbeemaとかで組んだ方がコスパ高そう
以前、PX-W3PEとBonDriverProxyExとの組み合わせが機能しないと書いた者ですが、あれから更に色々試した結果、無事動作する事を確認しました。
動作しなかった理由ですが、お粗末な事にBonDriverProxyExの設定ファイル名を間違えていた事でした(「BonDriverProxyEx.ini」とすべき所を「BonDriverProxy.ini」としていた)。
お騒がせしました事を謝罪すると共に、作者様へ感謝を申し上げますm(_ _)m
ちなみに使用したBonDriverは新版と俗に言われるものです。
>>687 動いたようで良かったです
確かにReadMe.txtにはiniのファイル名に付いてちゃんと書いてませんでしたね…
その辺りの記述を追加しておきました
iniが無くてもデフォルト値でなまじ動いてしまっていたケースですね。
いっそini無いぞエラーにした方が良いかもしれませんね。
iniに余計な記述があると精神的に好みじゃない。
exeとdllを別のiniに分けて欲しい。
>>689 確かにそうですね
少なくともサーバ側はそうした方が良いかも…
>>690 使っていない項目はiniに無くても問題は無いので、削除してしまって大丈夫ですよ
例えば、サーバ側での[OPTION]の"BONDRIVER"なんかですね
削除して大丈夫なものとそうでないものがわからないとか
設定項目の意味が分かりにくいとか
初心者に簡単に設定できるようにという意図なんでしょうが、かえって逆効果なきがします
>>692 と言うか、単純に設定ミスが起きにくいようにですね
ファイルをコピーすればアドレスやポートの書き間違いは有り得なくなるので
使っている項目とそうでない項目は確かにありますが、使っていない項目は単に無視されるだけなので、
別に問題無いかなと思ってましたが…
必要無い項目を消したい人は、現時点での設定項目で使用しているのはそれぞれ以下の通りです
// クライアント側
---
[OPTION]
ADDRESS -> オプション、デフォルト127.0.0.1
PORT -> オプション、デフォルト1192
BONDRIVER -> オプション、デフォルトBonDriver_ptmr.dll
CHANNEL_LOCK -> オプション、デフォルト0
CONNECT_TIMEOUT -> オプション、デフォルト5
USE_MAGICPACKET -> オプション、デフォルト0
[MAGICPACKET]
TARGET_ADDRESS -> オプション、デフォルト[OPTION]のADDRESSの値
TARGET_PORT -> オプション、デフォルト[OPTION]のPORTの値
TARGET_MACADDRESS -> USE_MAGICPACKETが1の場合のみ必須
[SYSTEM]
PACKET_FIFO_SIZE -> オプション、デフォルト16
TS_FIFO_SIZE -> オプション、デフォルト32
TSPACKET_BUFSIZE -> オプション、デフォルト192512
---
続き
// サーバ側(BonDriverProxy)
---
[OPTION]
ADDRESS -> オプション、デフォルト127.0.0.1
PORT -> オプション、デフォルト1192
[SYSTEM]
PACKET_FIFO_SIZE -> オプション、デフォルト16
TSPACKET_BUFSIZE -> オプション、デフォルト192512
---
// サーバ側(BonDriverProxyEx)
---
[OPTION]
ADDRESS -> オプション、デフォルト127.0.0.1
PORT -> オプション、デフォルト1192
OPENTUNER_RETURN_DELAY -> オプション、デフォルト0
[BONDRIVER]
00 -> 普通に考えると必須ですが、無くても起動自体は出来てしまいます
01以降 -> オプション
[SYSTEM]
PACKET_FIFO_SIZE -> オプション、デフォルト16
TSPACKET_BUFSIZE -> オプション、デフォルト192512
---
表記の無い物は使用していない項目です
おお、ありがたい
いつも丁寧だなぁ。
せっかくだからサンプルiniファイルとしてリポジトリに追加しておくといいのにと思いました。
デフォルト値の行はコメントアウトしておく感じで。
PX-W3U3とEpgDataCap_Bonとの組み合わせで使っていますが、
EpgDataCap_Bon.exeを閉じるときにBonDriverProxyEx.exeが不正終了することがあるみたいです
どうやら m_pIBon->CloseTuner() が呼ばれたにもかかわらずその後で、
cProxyServerEx::TsReader() の中の pIBon->GetSignalLevel() が呼ばれてしまうことが原因っぽいです
PX-W3U3のBonDriverの出来が悪いとも言えますが
環境
OS: Windows 7 (x64)
チューナー: PX-W3U3(新版Bondriver)
BonDriverProxyサーバ: BonDriverProxyEx.exe (x86)
アプリ: EpgDataCap_Bon (x64)
アプリ側BonDriver: BonDriver_Proxy.dll (x64)
>>697 なるほど、CloseTuner()後もRelease()されるまではGetSignalLevel()やGetTsStream()の呼び出し自体は
保証されるのがお約束だと思ってたのですが、そうでないBonDriverもあると言う事ですか(;´Д`)
しかし確かに、既にチューナをクローズしてるんだからCNR取得やTSの読み出しをしようとするのは
意味的に変なので、これはBonDriverProxy側の問題でもありますね
対応するのでちょっとお待ちください…
PX系は無視で構わんぞ
ソースも公開してないくらいだからな
対応のしようがないだろ
>>698 ReleaseはあくまでBonDriverの資源であって
Tunerに関係する要求はCloseTunerで使えなくなる、方が自然に感じるわな
ただBonDriver側もそんなの無視するほうに振れよってのもそれがより良い動作だわな
702 :
697:2014/11/21(金) 23:54:02.88 ID:ihbpR5I4
さっそく対応していただいたみたいでありがとうございます
申し訳ないですが週末につき録画予約が立て込んでいるためすぐに検証できそうにありません
検証出来次第報告させていただきます
>>701 そう思います
実際ソースが公開されてるBonDriverに関しては、当方が知る限りどれも、OpenTuner()していない状態での
GetSignalLevel()やGetTsStream()には、単に0やFALSE、あるいは特定の状態に依存しない形での結果を
返すようになってますね
#BonDriver_Proxyもそうしてます
ちなみにlinuxのPX-W3U3用のデバドラは、TSストリームの配信を指示している状態でチャンネル変更を指示すると、
OSごとフリーズするそうです…
何と言うか、自分達の想定した都合の良い使われ方しかテストしてないのかもしれませんね
>>703 エラー時にDLLの中でExit呼ぶドライバとか(笑。
フリーズよりは増しにしても、救いようがねー
うむ、PX系は救いようがないので放置でかまわんぞ
ブルスク系とも呼ばれているくらいだからな
707 :
697:2014/11/24(月) 11:28:03.26 ID:wVnJG9B0
一応検証出来たので報告
>>700のバイナリで
>>697件の問題が再現しなくなったことを確認
一度も落ちることなく安定動作しています
>>707 検証ありがとうございます
問題無くなったようで良かったです
>>557 今さらだけど、libarib25って何?dll化すればWindowsでも使えるの???
b25のパッチって簡単に当てること出来るの???b25用のパッチが欲しい・・・
>>700 BonDriverProxyEx.exe を2回実行するとタスク一覧に2つ表示されるんだけど、まずくね?
>>710 違うポートでも使えるように。
2回実行するからだめ!
>>709 WindowsとUnix系での動的リンクの違いが理解できるなら簡単に実装できるけど、どう考えてもその知識があるように思えない。
>>711 ならポートチェックしないと。終了方法がタスクマネージャからだけってのもまずくね?
>>713 軽量化でUIを省いている。
気になるならバッチファイル書いて終了させればいいんじゃないかな?
>>709 libarib25はまるもさん作の「ARIB STD-B25 仕様確認テストプログラムソースコード」の
linux環境への移植版の事です
https://github.com/stz2012/libarib25 windowsでも使えると言うか、元々windows用のソースですね
スクランブル解除の実装に関しては、申し訳ありませんが自前でお願いします…
#linux版へのb25パッチの移植で良いと思うので、ある程度ソースが読める人なら簡単だと思います
SO_REUSEを起動オプションにしたらええんじゃね?
>>717 それで、どうやってプロセス間の調停を取るのか謎だな?、
エラー判定に間違いは無いか?
SO_REUSEADDR は、CLOSE後のWAIT状態に在るポート再利用を求める
オプションじゃなかったかな?、
>>721 ワォ!。素敵ですねー。
winsockでは、排他したいなら SO_EXCLUSIVEADDRUSE なんだ。
だとすると、若しかしたら、winsock では SO_REUSEADDR の指定無しでも
TIME_WAIT状態のポートにbind出来るんじゃ無いかな?、
なんか、そんな仕様でないと、色々と苦しいでしょ。
>>722 ええ、
>>719に書いたのはそう言う意味です
しかしオプション無しの場合、多重起動によって自身が同じポートへbindしようとするのは防げますが、
他のSO_REUSEADDR有りのアプリが同じポートをbindする事は防げませんし、SO_EXCLUSIVEADDRUSE使っても
TIME_WAITでなら再bindできるみたいなので、それが一番良いかもしれませんね
いずれにせよ、その辺の挙動に関してはその内検証してみてどうするか決めるつもりです
win 8.1 proで検証してみたら、SO_EXCLUSIVEADDRUSEに関しては
>>719のURLの方の検証結果とは
微妙に違う結果でした
#FIN_WAIT_2があってもbindできる様でした
この場合、SO_EXCLUSIVEADDRUSEを使う事による不都合は何も無さそうですし、
仮にFIN_WAIT_2でbindできなくても、用途的に多分深刻な問題にはならないでしょうから、
とりあえずソースの方はSO_EXCLUSIVEADDRUSEを使うように変更しておきました
#ついでにiniのPACKET_FIFO_SIZE、TS_FIFO_SIZEのデフォルト値を64にしました(
>>631)
それからついでに調べたのですが、少なくともwin 8.1 proでは
>>721のMSのURLに載っている
表通りの挙動をしないオプションの組み合わせパターンもあるようです
#コメント欄には、win 7でも表通りの動きしないぞと書いてる方が居ます
単なる誤記か、記事が書かれた当時とまた仕様が変わったのか…
いずれにせよ、一次ソースが信頼できないと言う状態は何とかして欲しいものです(;´Д`)
サーバでIPアドレス指定してると127.0.0.1ではbindしないのね
同一ホストで繋がらなくて5分ぐらい悩んだ
0.0.0.0でいいんじゃね
大抵は0.0.0.0でいいだろうけど
ADDRESS=127.0.0.1;192.168.0.100
みたいな感じで複数アドレス指定できたらいいかなーと思った
全公開はしたくないけどこっちとそっちでは公開したい、みたいなニーズはあるかもしれない
>>728 ナルホド…
正直需要としては相当ニッチな気はしますが、
対応自体は多分簡単なので、ちょっと試してみます
ここを見てBonDriverProxyExを使ってみようと思って設定し、
BonDriverProxyEx.exeを実行しても何のプロセスも走りません
>>454のファイルで.iniを設定配置するだけで使えるはずですよね?
環境はWindows8.1 64bitです
ド素人の質問で申し訳ありません
731 :
55:2014/12/18(木) 12:35:56.59 ID:BkDXhCR/
起動しても、見た目にはなにも変わりませんよ。
タスクマネージャーで確認しましたか?
はい
タスクマネージャーのプロセス、詳細、サービスのどこを見てもそれらしきものが出てきません
タスクトレイにアイコンぐらい出したらいいのに
ランタイムが入ってないとか? その場合はエラー吐くかな。
ソースをざっと見たところ、勝手に終了するのならini絡みかWinsock絡みの様で、
終了コードを確認したら切り分けできるかも。
手順分からんかった時のために、適当にぐぐったら出てきたのおいとく。
ttp://ips.nekotype.com/3476/
>>730 >>734さんもおっしゃってますが、可能性が高いのはiniファイルがみつからない状態である事かと思います
iniファイルは、実行ファイルの拡張子だけをiniに変えた物をファイル名とした上で、
実行ファイルと同じフォルダに置く必要があります
例えば実行ファイルが「BonDriverProxyEx.exe」なら「BonDriverProxyEx.ini」となりますので、
確認してみてください
>>733 ぶっちゃけUI周りはめんどくさいんですよね(;´Д`)
>>735 念のために.exeからコピペしてリネームしてみたけどダメでした
普通に実行するだけでたとえ設定ファイルの内容が間違っていようと
バックグラウンドプロセスに「BonDriverProxyEx.exe」が立ち上がるはずでいいんですよね?
>>734 ちょっと正しいか自信ないけど
echo %ERRORLEVEL%
2
となりました
>>737 おお、それだ
なんか変な値が入力されてました
ありがとうございました
Bondriverの初期化ができませんのエラーが出るけどもう少し頑張ってみます
うーん
BonDriverProxyExが長時間チューナー使用したり
クライアントが物理チューナー数超えて取り合い繰り返すと落ちるなあ
740 :
730:2014/12/20(土) 13:23:00.81 ID:8OciM1iA
おかげさまでとりあえず使えるようにはなりました
ありがとうございます
ところでProxyEXをRDCTで地上と衛星を統合できているかたはいませんでしょうか?
当方の環境ではRDCTを経由させるとうまく動作しないのですが
>>739 おお、今度は何だろう…
良かったら使用BonDriverとか設定、あともしわかるならで結構ですので、
現象の確実な再現方法を教えて頂けるでしょうか
742 :
名無しさん@編集中:2014/12/22(月) 20:24:42.58 ID:iL9km76h
俺はRDCTの設定方法が知りたーい。
>>741 まだ使い始めて間もないから色々実験中です
落ちたのはプレミアムのBonDriver_BDAなのでそっちに問題あるかもしれません
とりあえず試験運用終わってこれからプレミアムを山ほど録画してくので
問題の再現性がわかったら報告します
今はとりあえずRestartOnCrashで保険掛けてます
あと気になった点
チューナーを2つ登録してる場合(仮にA,Bとする
A,Bそれぞれ使用中で3つ目のクライアントが割り込んだ場合Bのチューナーを横取りしますが
そこから続けて割り込みかけるとずっとBのチューナーのみに割り込みがかかります
これはチューナーオープンの順番を記憶させて古い順番から割り込みかかるようにした方がいいと思いました
>>740 俺もBonDriverProxyExとRDCTの組み合わせは
うまくいかなかった
地上と衛星の統合にそこまでこだわってなかったから、
今はBonDriverProxyExだけで使ってる
Spinel でしか動作確認してないからねぇ
>>743 了解でーす
> あと気になった点
ナルホド、チューナが足りない時に既存のどれを横取りするかは、取れるやつを取れば良いだろとしか考えてませんでした
とりあえずカレントバージョンで対応してみました
BonDriver_RDCTに関しては、内部でSpinelに特化した処理をしてるのかもしれませんね
時間ができたらちょっと調べてみます
>>741 ログ見たら落ちてたみたいなので
イベントビューアーのログ貼っておきます
障害が発生しているアプリケーション名: BonDriverProxyEx_x86.exe、バージョン: 1.1.4.5、タイム スタンプ: 0x5482e44a
障害が発生しているモジュール名: d3d9.dll_unloaded、バージョン: 0.0.0.0、タイム スタンプ: 0x4ce7b7b3
例外コード: 0xc0000005
障害オフセット: 0x5ea596b4
障害が発生しているプロセス ID: 0xe0c
障害が発生しているアプリケーションの開始時刻: 0x01d01dab9b16901f
障害が発生しているアプリケーション パス: D:\PT2\BonDriverProxyEx\x86\BonDriverProxyEx_x86.exe
障害が発生しているモジュール パス: d3d9.dll
レポート ID: 6a2bc155-8a75-11e4-ad80-005056c00008
古い機種で申し訳ないのですが、HDUSFで上手く動きません。
チューナー切替時に障害が発生するようです。
HDUSF → PT2 → HDUSF(BonDriverの初期化ができません。)
障害が発生しているモジュール名: nnb4hdus.dll
機嫌の良い時と悪い時がありますが、大体悪いです。
BonDriver付属のログ吐き版dll,exeを使用してみましたが、チューナーを開けてないので、
エラー時のログは取得できませんでした。
【OS】Windows8.1 x64 テストモード
【BonDriverProxy】BonDriverProxy v1.1.4.7 x86
【Tuner】SKnet MonsterTV HDUSF, PT2
【BonDriver】BonDriver_nnb_009
【Client】TVTest dev 0.9.0.0 x86
750 :
749:2014/12/25(木) 17:34:45.58 ID:H/t9AARQ
751 :
749:2014/12/25(木) 17:39:05.83 ID:H/t9AARQ
nnb4hdus.dllをメモ帳で開いてみたら上記画像の記述を見つけました。
ソースが公開されていないので、どうしようもないのでしょうか?
>>749 HDUSFが生きていたことに感動した。
>>751 直接の解決策じゃないけど、
使っているバージョンはBonDriver_nnb_009ですか?
それ以外にも、
ドライバー名:最終バージョン
BonDriver_HDP2 : 006
BonDriver_nnc4hd : バージョン表記なし
がHDUSFに対応していたと思うけど???
BonDriver_HDUS(人柱版14)改造版4はHDUS(F)は未対応だったと記憶
754 :
749:2014/12/25(木) 21:22:43.56 ID:H/t9AARQ
>>753 使用ドライバーはBonDriver_nnb_009です。
BonDriver_HDP2はWinUSBを使えるという優位性があるのですが、
特定のチャンネル(28chだか32ch)で受信感度が落ちるというバグがあり、使用できません。
BonDriver_HDP2は011まで持ってます。
BonDriver_nnc4hdは一応持ってますが、使ったことが無いかもしれません。
SpinelでBonDriver_nnb_009は問題が無かったので、このまま移行したかったのですが。
>>748 少なくともd3d9.dllはサーバモジュールが直接ロードするものではないので、BonDriver_BDAの内部で
その辺のdllインスタンスとそのリソースの扱いがどうなってるかでしょうか…
それと関係するかどうかわかりませんが、SetChannel()内部とGetSignalLevel()内部で同じメソッドである
GetSignalState()が呼ばれており、BonDriverProxyではこれらはメインスレッドとTS読み込みスレッドから
非同期で呼ぶようになっていた為、これが大丈夫なのかどうか気になったので、とりあえずSetChannel()と
GetSignalLevel()の呼び出しを排他にしてみました
これで試してみてもらえるでしょうか
>>749-751 画像を見る限り、BonDriver_nnb内部での問題に見えますね…
最初はロードでき、それを一度Release()した後で、再度ロードする時にコケると言う事ですよね?
うーん、Release()後の時点で何らかのリソースリークが起きているとかでしょうか…
#あるいは、終了処理に時間が掛かるとか
ソースが無いのと、なにぶん当方が対象ハードウェアを持っていないのとで、調べる手段自体が
無い状態なのが厳しいですね(;´Д`)
モノを持っている人に突っ込んで調べてもらえるのが一番確実なのですが…
>>755に書いた修正はBonDriver_nnbにも影響するかもしれないので、とりあえず試してみてもらえるでしょうか
#期待薄ではありますが
あ、バイナリ置いてる場所は
>>700に書いてるのと同じです
758 :
749:2014/12/25(木) 22:16:17.61 ID:H/t9AARQ
>>756 お世話になっています。
仰る通り、再度ロードする時にコケるということです。
残念ながら、current(20141225)でも症状は改善しませんでした。
>>758 やっぱり関係ありませんでしたか…
Spinelでは大丈夫との事なので、その辺りちょっと調べてみようかと思います
#それくらいしか出来る事が無いとも言いますが(;´Д`)
設定見直してるんだけどサーバーでADDRESS設定するのって何のため?
接続を受け付けるクライアントの範囲を決めるため
764 :
名無しさん@編集中:2014/12/28(日) 09:04:44.54 ID:xLhoL+ZQ
CentOS 6.6+PT2+softcasの構成で
make driverを実行した際
g++ -Wall -pthread -O2 -DNDEBUG -fPIC -c -o BonDriver_LinuxPT.so.o BonDriver_LinuxPT.cpp
BonDriver_LinuxPT.cpp: In static member function ‘static void* BonDriver_LinuxPT::cBonDriverLinuxPT::TsSplitter(void*)’:
BonDriver_LinuxPT.cpp:852: error: jump to label ‘complete’
BonDriver_LinuxPT.cpp:1108: error: ここから
BonDriver_LinuxPT.cpp:829: error: skips initialization of ‘unsigned char ver’
make: *** [BonDriver_LinuxPT.so.o] エラー 1
で止まってしまいます。
make server make clientは問題なく完了するのですが
>>764 スミマセン、修正しておきました(;´Д`)
元々win8+テレ東問題を調べてた時に、TsSplitter部分のみを切り出してファイルに適用するツールにしたのを
VCでコンパイルしてたのですが、それに加えた変更を逆移植した際の確認不足でした
失礼しました(;´Д`)
766 :
名無しさん@編集中:2014/12/28(日) 12:03:30.21 ID:xLhoL+ZQ
早速のご対応ありがとうございます。
ファイルを入れ替えて、Make driver実行で
ドライバは作成できました。
ただ、コンパイル中以下の警告がでました。
色々、試させていただきます。
g++ -Wall -pthread -O2 -DNDEBUG -fPIC -c -o BonDriver_LinuxPT.so.o BonDriver_LinuxPT.cpp
BonDriver_LinuxPT.cpp: In static member function ‘static void* BonDriver_LinuxPT::cBonDriverLinuxPT::TsSplitter(void*)’:
BonDriver_LinuxPT.cpp:636: 警告: ‘iNumSplit’ may be used uninitialized in this function
BonDriver_LinuxPT.cpp:637: 警告: ‘rpmt_ci’ may be used uninitialized in this function
BonDriver_LinuxPT.cpp:638: 警告: ‘pmt_tail’ may be used uninitialized in this function
g++ -shared -Wall -pthread -O2 -o BonDriver_LinuxPT.so BonDriver_LinuxPT.so.o -ldl
g++ -Wall -pthread -O2 -DNDEBUG -fPIC -c -o BonDriver_DVB.so.o BonDriver_DVB.cpp
BonDriver_DVB.cpp: In static member function ‘static void* BonDriver_DVB::cBonDriverDVB::TsSplitter(void*)’:
BonDriver_DVB.cpp:809: 警告: ‘iNumSplit’ may be used uninitialized in this function
BonDriver_DVB.cpp:810: 警告: ‘rpmt_ci’ may be used uninitialized in this function
BonDriver_DVB.cpp:811: 警告: ‘pmt_tail’ may be used uninitialized in this function
g++ -shared -Wall -pthread -O2 -o BonDriver_DVB.so BonDriver_DVB.so.o -ldl
>>766 その警告に関しては、問題無いようにつくってるつもりなので大丈夫かと思います
#コンパイラにバグが無い限りは、ですが
以下、気になる人向けに具体例で言うと、形的には下記の例で出る警告
(clangでは出ないかもしれませんが)と大体同じです
---
// gcc -Wall -O2 a.c
// 疑似乱数を10回取得し、奇数->偶数の順に並んでいる部分のみ出力する
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int ac, char *av[])
{
int i, flag, odd, r;
flag = 0;
srand(time(0));
for (i = 0; i < 10; i++)
{
if ((r = rand()) % 2)
{
flag = 1;
odd = r;
}
else
{
if (!flag)
continue;
printf("flag[%d] odd[%d] even[%d]\n", flag, odd, r);
flag = 0;
}
}
return 0;
}
---
警告を出なくするのは簡単なのですが、意味の無い初期化をする事になるだけですし、もしコンパイラに
バグがあればその警告を出なくしていたところでどのみち意図した通りには動かないと思うので、
放置している次第です
770 :
名無しさん@編集中:2015/01/04(日) 10:24:01.72 ID:I2zTYLLe
色々試してはいるのですが
IBonDriver を取得できません。
CreateBonDriver()の呼び出しでNULLが返されました。
このエラーから進まず、詰んでいます。
ちなみに、chinachuを使っての録画等は可能です。
以下が現状の構成と設定内容です。
<クライアント>
Win8.1+Tvtest+winscard.dll
BonDriver_Proxy.dll+ini
iniの内容
[OPTION]
ADDRESS=192.168.24.44
PORT=1192
BONDRIVER=/home/tv/BON/BonDriverProxy
CHANNEL_LOCK=0
CONNECT_TIMEOUT=5
USE_MAGICPACKET=0
[MAGICPACKET]
TARGET_ADDRESS=192.168.24.44
TARGET_PORT=1192
TARGET_MACADDRESS=AA-BB-CC-DD-EE-FF
[SYSTEM]
PACKET_FIFO_SIZE=16
TS_FIFO_SIZE=32
TSPACKET_BUFSIZE=192512
771 :
名無しさん@編集中:2015/01/04(日) 10:27:43.99 ID:I2zTYLLe
続き
<サーバー>
CentOs6.6+PT2+wincard.cpp
設置場所の中身
BonDriverProxy
BonDriverProxy.ini
BonDriver_LinuxPT2-T0.so
BonDriver_LinuxPT2-T0.so.conf
BonDriver_ProxyPT2-T0.so
BonDriver_ProxyPT2-T0.so.conf
【BonDriverProxy.ini】
[OPTION]
ADDRESS=127.0.0.1
PORT=1192
CHANNEL_LOCK=0
CONNECT_TIMEOUT=5
USE_MAGICPACKET=0
[SYSTEM]
PACKET_FIFO_SIZE =16
TSPACKET_BUFSIZE =192512
【BonDriver_LinuxPT2-T0.so.conf】
[OPTION]
ADDRESS=127.0.0.1
PORT=1192
BONDRIVER=/home/tv/BON/BonDriverProxy
CHANNEL_LOCK=0
CONNECT_TIMEOUT=5
USE_MAGICPACKET=0
773 :
名無しさん@編集中:2015/01/04(日) 14:12:10.75 ID:I2zTYLLe
CentOS7向けに、pt3+bondriverproxyのrpm作ってるわ。
ただ、いろいろいじっってるし、真改造したchinachuとしか動かないから普通の人が使える代物ではないけど(´・ω・`)
>>773 元のファイルを以下の様にコピーして作成したってことで良いのかな?
すでにここが違う気がしてるんだけど。
BonDriver_LinuxPT2-T0.so : BonDriver_LinuxPT.so をコピー
BonDriver_LinuxPT2-T0.so.conf : BonDriver_LinuxPT.conf をコピー
BonDriver_ProxyPT2-T0.so : BonDriver_Proxy.so をコピー
BonDriver_ProxyPT2-T0.so.conf : BonDriver_Proxy.conf をコピー
>サーバー側のBonDriver_LinuxPT-T0.so のBONDRIVERは
>BONDRIVER=/home/tv/BON/BonDriverProxy
>で問題ないのでしょうか?
問題あると思う。というか、BonDriver_LinuxPT-T0.soは何をどうやって作ったのかが?だよ。
BonDriver_LinuxPT2-T0.so.confのことで良いよね?
https://github.com/u-n-k-n-o-w-n/BonDriverProxy_Linux/blob/master/BonDriver_LinuxPT.conf BonDriver_Linux.confをBonDriver_LinuxPT2-T0.so.confにコピーしたのなら
BONDRIVERの設定項目なんてないよ。設定すべきなのは#DEVICEの行でPT2なら
#DEVICE=/dev/pt1video2 とかだね。
>>773 続き
https://github.com/u-n-k-n-o-w-n/BonDriverProxy_Linux/blob/master/BonDriver_Proxy.conf BONDRIVERの設定項目があるのはBonDriver_ProxyPT2-T0.so.conf の方だよね。
>>772が書いているとおり
>BONDRIVER=/home/tv/BON/BonDriverProxy/BonDriver_LinuxPT-T0.so
>みたいに使用するsoファイルを指定
なので、BonDriver_LinuxPT2-T0.so.conf ではなくて BonDriver_ProxyPT2-T0.so.conf の方を修正。
>>771で設置場所が/home/tv/BONなら
BONDRIVER=/home/tv/BON/BonDriver_LinuxPT2-T0.so
もちろん、WindowsのBonDriver_Proxy.dllの設定ファイルBonDriver_Proxy.iniのBONDRIVERも同じく、
BONDRIVER=/home/tv/BON/BonDriver_LinuxPT2-T0.so
ちなみに、以下でBonDriverProxyを起動するのなら
$ /home/tv/BON/BonDriverProxy 192.168.24.44 1192
ADDRESS=127.0.0.1ではなくてADDRESS=192.168.24.44 じゃないかな。
LinuxのsampleでTSが保存できてるかどうかは確認済み?
$ sample -b /home/tv/BON/BonDriver_LinuxPT2-T0.so -s 0 -c 63 -t 10 -o aaa.ts
$ sample -b /home/tv/BON/BonDriver_ProxyPT2-T0.so -s 0 -c 63 -t 10 -o bbb.ts
チャンネルは自分の住んでる所で映るチャンネルで(63=UHF13)。
777 :
名無しさん@編集中:2015/01/11(日) 13:03:48.04 ID:j8SrzFGo
>>775 776
ありがとうございます。設定の変更でストリームの受信は出来ているようです。
クライアントのTVTestからチャンネルスキャンする際
SetChannel() ioctl(SET_CHANNEL) error: /dev/pt1video3
のエラーが延々と発生し。
映像が全く表示されません(通信はしている様です)
何度も、質問して申し訳ございません。
馬鹿には無理
>>777 そのメッセージは、BonDriver_LinuxPTでチャンネル変更指示を受けたから変更しようとしたけど、
デバイスドライバがそんなチャンネルには変更できんとエラーを返してきた場合に出るメッセージです
つまり、とりあえずwin側のTVTestとlinux側のBonDriverProxyは正しく通信できていて、BonDriverProxyから
BonDriver_LinuxPTも正しく読み込めている状態ではあるようです
で、chardev版デバイスドライバは、現在受信できない周波数への変更指示を行うとそのエラーを返してきたと
思うので、テンプレ用のconf(BonDriver_LinuxPT.conf)のように、自分の地域では必要の無い物理チャンネルを
多数含んでいる場合、地上波のチャンネルスキャン時にそのエラーが大量に出るのは正しい挙動だったかと思います
また、デバイスドライバがこのエラーを返してくるまでに結構時間が掛かるので、必然的にチャンネルスキャンには
かなり時間がかかります
なので、confとしてBonDriver_LinuxPT.confの#DEVICE行だけ書き換えた物を使用している場合は、そのエラーが
延々出てもチャンネルスキャンが終わるまでは放置してみてください
なお、TVTestは今のmaster(0.8.2)とかそれより古いのだと、チャンネルスキャンがタイムアウトする可能性が高いです
これはDtvEngineのデッドロックが由来なので、設定でチャンネルスキャンの待ち時間を長くしても効果はありません
この問題は今のdevelopでは直っているので、なるべくそっちを使うのが良いと思います
この手のスレでここまで初心者向けに分かりやすい解説してくれる奴を見た事があるだろうか
詳しい解説サンクスを横から贈りたくなるね
改行の仕方が自作自演だと思ってしまう俺はエスパーかなw
>>782 役に立たないレスをするお前も俺も無能だよ?
>>782 改行から何がわかるんだ?
どういう思考回路してるんだよ
785 :
780:2015/01/14(水) 20:53:00.80 ID:4xesFCVB
>>782 Dreamspark向けのVisualStudioでTVTestとEDCBビルドするのが限界の俺に
こんな詳しい解説ができるわけがない
>>594 BonCasLink_1.10.z2 111003
で上記のような修正をしたいです。
ソースの修正箇所を教えていただけないでしょうか?
BonDriverProxyExのLinux版ってリリース予定はないんでしょうか…。
>>786と同じく教えて欲しい
現状は謎の人がビルドしたソースなしの改変BonCasServerを使うしかない
最新版に対する改変でもないし複数クライアントがアクセスしてる状態で
どれか一つのクライアントが終了すると他のクライアント全てで解除漏れが出る
>>786 当方「BonCasLink_1.10.z2 111003」を持っていないのでそれに関してはわからないのですが、
>>594のバイナリパッチは、BonCasLink_src\Common\BcasCard.cppの、CBcasCard::OpenCard()から
CBcasCard::InitialSetting()を呼んでいる部分をバイパスして呼ばないようにするものです
ソースで修正するなら、単純にその部分の削除で同じ意味になると思います
CBcasCard::InitialSetting()はBCAS用のコマンドをカードに投げて応答を確認する処理です
BonCasLinkは、本来のつくり的には何のカードに対してもサーバ側のカードリーダへコマンドを
プロキシできるようになっているのですが、BonCasServerがこの確認処理を行っているため、
実質的にBCASカード専用となっています
>>594のパッチはこの確認を行わないようにすれば、BCAS/SPHD関係なく機能するんじゃないかな、
と考えてのモノです
#多分住基カードとかも使えるようになるかと思います
ただしCBcasCard::OpenCard()は、BonCasLink_src\Common\CasClient.cppのCCasClient::ClientThread()から
引数無しで呼び出される以外の呼び出し方が無い為、複数起動するBonCasServerの全部に上記変更を
行ってしまうと、それらはどれもカードリーダを列挙した結果の最初の物を使用するようになってしまいます
これを防ぐには、
1.上記変更に加え、設定ファイルなどからカードリーダ名を指定できるようにし、CCasClient::ClientThread()から
そのリーダ名指定でCBcasCard::OpenCard()を呼ぶように改造する
2.BCAS用はオリジナルのまま、SPHD用だけに上記変更を行い、SPHD用のカードはカードリーダ名の列挙の
最初に出てくるリーダで使用する
辺りが妥当でしょうか
望ましいのはやはり前者かと思います
列挙されるカードリーダ名の順番が変わったりしない限りは後者でもまず困る事は無い気はしますが、
変わらない保証があるのかどうか知らないもので…
>>787 需要があったとは…
ここ最近忙しいものでなかなか手を付けられないかもしれませんが、その内やってみます
今更レスですが、自作自演やるほどヒマなら嬉しいのですが(;´Д`)
しかし改行のしかたはともかく、ソースコードからは結構、これはあの人のコードかなとか思う事ありますね
例えば、BDPL用b25パッチの人は、B-CASカードの処理時間測定ツールwをlinuxに移植/改良した人で、
今なにやら一部で話題の、imperfect...の人でもあるんじゃないかなーと勝手に思ってます
もしこの予想が当たってたとしたら、相変わらず攻めてますねと思う次第ですw
BonCasLink_1.10.z2 111003のソースうpって大丈夫かな?
>>791 需要ありますよ。
BonDriverProxy系は凄くいいですよ。
というか、マイナーなだけで機能的にはSpinelを超えているし・・・
>>790 InitialSettingはBCASカードが刺さってるか判定だからなくせばOpenCardは成功する
ただしそれで動くのかどうかはSPHDカード持ってないから確認できない
複数カードリーダー対応はz2では入ってるからそれ自体は大きな問題にはならない
まあ呼び出し側で呼び分けられるようになっているっていう必要はあるけどな
proxyexもチューナー埋まってる状態で固定視聴だけできたりする?
>>789 ありがとうございます
おかげで使えるようになりました
謎の人版にあった複合漏れも無くなったので大満足です
>>793 いいんじゃないの
自分はSPHD1枚しか共有してないからコメントアウトするだけの単純修正でいいけど
BCASと2枚挿し共有してるともっと大変な修正必要みたいだから少なくともわかってる人じゃないと無理みたいだし
ああBCASカードに限定してある確認処理スキップしてるだけで
もともとz2は複数枚挿しOKだしコメントアウトだけでOKなのか
800 :
名無しさん@編集中:2015/01/25(日) 10:28:06.06 ID:fAJedb+G
>>700のバイナリ、EX付きとそうでないものを起動してみたんだけど、
タスクトレイにもタスクバーにも何も出てこないのは正常な反応なの?
一応VC2013と2005のランタイムとBonDriver_ptmr.dllはインストールしました。
ドキュメントくらい読めよ。
802 :
名無しさん@編集中:2015/01/25(日) 13:47:12.61 ID:u/MSQhzT
PLEX PX-BCUD で使用しています。
サーバ Windows8.1。クライアント Windows or Ubuntu。
BCUCが一つで、2クライアントから同時接続すると、
両方のクライアント終了時に、サーバプロセスが異常終了してしまいます。
BCUDが二つで、BonDriverProxyEx を使用の場合、2クライアント同時接続、
別チャンネル視聴の場合問題なく、同じチャンネルを視聴すると、
同じくサーバプロセスが異常終了します。
CHANNEL_LOCK=0 です。
BonDriver_BSCS_Wrapper を使ってみましたが、解決しませんでした。
BCUD以外のチューナで、同様の事象を確認できていません。テスト環境がないため。
何か対策はないでしょうか?
イベントログには、次の内容が記録されています。
障害が発生しているアプリケーション名: BonDriverProxy.exe、バージョン: 1.1.4.7、タイム スタンプ: 0x549bf6db
障害が発生しているモジュール名: msvidctl.dll_unloaded、バージョン: 6.5.9600.16384、タイム スタンプ: 0x5215828a
例外コード: 0xc0000005
障害オフセット: 0x0008b880
障害が発生しているモジュール パス: msvidctl.dll
>>802 それ家でもなるや
TBSシリーズだからハードウェアじゃなくbonドラ依存くさい
PLEXは社員がbonドラ書いてるからなんかあるんだと思う
>557
>b25パッチを小改造
この部分が知りたいです・・・。
>>787 追加しておきました
>>800 正常に動いていてもぱっと見は何も起こらないので、起動の確認はタスクマネージャとかでお願いします
なお当方からのバイナリは、ランタイムは必要ないようにビルドしてます
>>802 おお、0xc0000005(;´Д`)
イベントログの内容見る限りこれもBonDriver側で落ちてますね…BDAがらみのBonDriverは鬼門なのか…
BonDriverをロードして使用すると言う構造上ある程度はしかたないのですが、やはりBonDriver側で
トラブってもなるべくサーバプロセスが巻き込まれないようにしたいところですね
とりあえず、その手の問題はBonDriverの解放処理のタイミングで発生するパターンが多いようなので、
IBonDriver::Release()の呼び出しの時だけAccess Violation等を無視する設定を追加して、
カレントバイナリも更新しました
https://drive.google.com/folderview?id=0B-b35lIwjw6ybzV5QU9DWkJLUWc サーバ側のiniで、SANDBOXED_RELEASEを1にして試してみてもらえるでしょうか
ただ、仮にこれでサーバが落ちるような事が無くなったとしても、大元の原因が直るわけではないので、
例えば問題の起きたBonDriverが使用していたメモリがリーク状態になったりする可能性はあります
#これに関しては、対象BonDriver内でのリソース管理のしかたと問題の発生タイミング次第ですね…
>>804 BDPL用b25パッチにはチャンネル変更等の際に少し待ってからlibarib25をリセットする機能が組み込まれています
これは元々、linuxのchardev版デバドラの仕様と標準のlibarib25とが組み合わさって発生する問題への対応ですが、
libarib25にパッチを当てるとこの対応は必要無くなる筈なので、その機能を使用しない様に改造しているだけですね
ちなみに残したままでも(恐らく)問題になったりはしないと思いますよ
>>806 丁寧なご回答ありがとうございます。
ソースの該当箇所を探してみます。
>>806 もしかして該当箇所のreset()自体が必要ないということでしょうか
BonDriverProxyEx導入しようとして半日悩んだ
↓これしちゃダメなんだな
サーバー側iniファイル
[OPTION]
ADDRESS=127.0.0.1
クライアント側iniファイル
[OPTION]
ADDRESS=192.168.0.100
ちなみにADDRESS=ホスト名でも行けるが、
アドレス指定とホスト名指定を混在させるとチャンネル切替が遅い。
サービス登録にはsexeを使った。
急に賑やかになったから不思議だったけど、
他スレで話題になっていたのか・・・
うw!くっさw
proxyex、Win8で起動しなかった
>809
がんばってb25を移植してみたのですが、どうもうまく行きません。
アドバイスを頂けませんでしょうか。
http://pastebin.com/VGGajnGe ビルドは普通にできるのですが、TVTestを使ってテストしたところ
オリジナルのarib25のソースだと、スクランブルは0ですが、画面は真っ黒。
>601のリンクのものだとTVTestが異常終了してしまいます。
ちなみにBonDriver_Proxy.dllはオリジナルをそのまま使ってます。
>>814 2点だけ…
1つは、そのリンク先のdiffの行数での88,89行目の
---
delete[] ppv;
+ B25Decoder *b25 = static_cast<B25Decoder *>(ppv[5]);
---
は、順序を入れ替える必要がある事です
でないと解放後メモリにアクセスする事になるので、サーバプロセスが落ちる可能性があるでしょうね
もう1つは、g_b25_enableを非0にする手段が提供されていない事です
b25パッチはこの値が0でない場合のみb25デコードを行うようになりますので…
Init()の中などで、
---
g_b25_enable = GetPrivateProfileIntA("OPTION", "B25_DECODE", 0, szIniPath);
---
とでもやって、iniから設定できるようにすれば良いかと思います
これだけで恐らく機能するようになるんじゃないでしょうか
#細かい事を言えば、windows版は一応GUIアプリなので、fprintfは他の出力手段に置き換えるか削除した方が
#良いとか、delayedReset()を削るなら_put_bytes/_get_bytesも削れるよとかありますけども
TVTestが異常終了と言うのが何なのか若干気になるところではありますが…
>>815 ご返答ありがとうございます。
g_b25_enableについては、TVTestが落ちるので、とりあえずオフにして試してみた感じです。
しかし、オフでも落ちるので、まったく原因がわからないところでした。
ちなみに落ちるとは、TVTestを起動して、TVTestがBonDriverにアクセスし、チャンネルに行ったところで落ちる感じです。
ご指摘の箇所を修正して再度試してみたいと思います。
また、不要な変数等、細かいご指摘もありがとうございます。勉強になります。
>>817 そのつもりです。
よくわからない中で作ってるので、むしろバグとか指摘して頂けたらと思います。
TVTestとEDCBでチューナーを沢山使っていたらエラーが出たので報告
大量に使っていてTVTestを閉じると時々発生する症状です。
EDCBで落ちるかはわかりません。
問題の署名:
問題イベント名: APPCRASH
アプリケーション名: BonDriverProxyEx.exe
アプリケーションのバージョン: 1.1.4.8
アプリケーションのタイムスタンプ: 54c54f74
障害モジュールの名前: ntdll.dll
障害モジュールのバージョン: 6.1.7601.18247
障害モジュールのタイムスタンプ: 521ea8e7
例外コード: c0000005
例外オフセット: 00038e19
OS バージョン: 6.1.7601.2.1.0.256.1
ロケール ID: 1041
追加情報 1: 0a9e
追加情報 2: 0a9e372d3b4ad19135b953a78882e789
追加情報 3: 0a9e
追加情報 4: 0a9e372d3b4ad19135b953a78882e789
再現方法わかりました。TVTestで短時間に同じチャンネルを指定して複数起動させると、TVTest終了時にBonDriverProxyEx.exeが落ちます。
短期間に違うチャンネルを指定して複数起動させても落ちません。
落ちる
TVTestMulti.exe d BonDriver_Proxy_T.dll /rch 1
Sleep, 0
TVTestMulti.exe d BonDriver_Proxy_T.dll /rch 1
Sleep, 0
TVTestMulti.exe d BonDriver_Proxy_T.dll /rch 1
落ちない
TVTestMulti.exe d BonDriver_Proxy_T.dll /rch 1
Sleep, 0
TVTestMulti.exe d BonDriver_Proxy_T.dll /rch 2
Sleep, 0
TVTestMulti.exe d BonDriver_Proxy_T.dll /rch 3
>>601のリンク先のパッチをもうちょっと変更して、上に少し書いた192バイトTSでの問題への対応と、
ライブラリとして使用する際に、ごく小さなサイズでput()を繰り返されると、ユニットサイズの検出や
TS同期ができない問題に対応したバージョンにしておきました
ttp://pastebin.com/zV1WvNb8 実用上は殆ど変わりませんが、気になってたので一応…
あと、手元では
>>814さんのパッチに
>>815の修正をやって機能するのを確認できました
>822
ご苦労さまです。
ところでパッチの
@@ -539,6 +539,9 @@
if(r < 0){
return r;
}
+ if(prv->unit_size < 188){
+ return ARIB_STD_B25_ERROR_NON_TS_INPUT_STREAM;
+ }
のところですが、
if(prv->unit_size < 188){
はいらなくないですか?
そのすぐ上にあるので。
>824
あ、select_unit_sizeで、prv->unit_sizeの値が変わるから
その判定をしてたんですね。
要望なのですが、BonDriver_Proxy.iniに
BONDRIVER=PT-S
BONDRIVER=PT-T
のように2つ書いて、地デジ,BS,CS全部1つのドライバーで
扱えるようにしていただけると便利かと思います。
827 :
814:2015/01/28(水) 08:27:57.61 ID:Yw8LuuM0
>>822 こちらでも動作確認できました。
最初arib25のビルドオプションにあわせてunicodeではなくマルチバイトでビルトしていたのがTVTestが落ちた原因でした。
ご指摘の箇所を含め、コードを整理してまたアップしようと思います。
BonDriver_ProxyやExで現在どのチューナーが使われているのか確認する方法ありますか?
>>821 これかなと思うのに対応してみたので試してみてもらえるでしょうか
カレントバイナリも更新しています
>>827 ナルホド…
BonDriverインタフェースは文字列がなぜかTCHARで定義されてしまっているんですよね
実際にはマルチバイトのBonDriverは多分存在しないので、必然的にBonDriverを使用する
アプリはUNICODE専用になってしまうと言うのが実情かと思います
>>826 その辺はBonDriver_RDCTを、と言いたいのですが、何やらEx版との組み合わせでは
期待通りに機能しないそうですね…
暇をみてちょっと理由を調べてみます
>>828 現状そう言う機能はありませんが、Ex版のデバッグビルドに、ウインドウをクリックしたら
接続してる数とそれぞれが使用しているBonDriverを表示する機能を付けてみたので、
その辺をベースにしてみるとかでお願いします…
>>829 BonDriverProxy_current(20150128).zipを試してみました。
結果同じ症状でしたが、再現の詳細がわかりましたのでご報告します。
TVTest.exe d BonDriver_Proxy_T.dll /rch 1
Sleep, 0
TVTest..exe d BonDriver_Proxy_T.dll /rch 1
で、TVTest.を2つ起動させてWin7のタスクバーから同時に2つ終了すると、BonDriverProxyEx.exeが落ちる。
個別に1つずつ間隔をあけて終了すると落ちない。
(Sleep 0 だと100%落ちます。Sleep 3000 だと落ちません。 Sllp時間に比例して落ちにくくなる?)
TVTest.を3つ起動させて、1つも先に、2つをタスクバーから同時終了してもBonDriverProxyEx.が落ちます。
他、こちらから補足したほうがいい情報がありましたら教えてください。
問題の署名:
問題イベント名: APPCRASH
アプリケーション名: BonDriverProxyEx.exe
アプリケーションのバージョン: 1.1.4.9
アプリケーションのタイムスタンプ: 54c8b264
障害モジュールの名前: ntdll.dll
障害モジュールのバージョン: 6.1.7601.18247
障害モジュールのタイムスタンプ: 521ea8e7
例外コード: c0000005
例外オフセット: 00038e19
OS バージョン: 6.1.7601.2.1.0.256.1
ロケール ID: 1041
追加情報 1: 0a9e
追加情報 2: 0a9e372d3b4ad19135b953a78882e789
追加情報 3: 0a9e
追加情報 4: 0a9e372d3b4ad19135b953a78882e789
1度だけ落ちないで下記ウィンドウが表示されたので、関係ないかもしれませんがご報告しておきます。
∇ ウィンドウ タイトル ∇
BonDriverProxyEx.exe - アプリケーション エラー
∇ スタティックテキスト ∇
OK
0x778b43e0 の命令が 0x00000005 のメモリを参照しました。メモリが read になることはできませんでした。
プログラムを終了するには [OK] をクリックしてください
ごめんなさい。
再現方法凄く簡単でした。
同じjチャンネルを開いたままタスクトレイからTVTestを終了するだけで、BonDriverProxyEx.が落ちました。
1)TVTest.Aを起動
2)TVTest.Bを起動
3)同じチャンネルにする
4)タスクトレイから2つ同時に終了
5)BonDriverProxyEx.が落ちる
凄く複雑化させてしまいました。すみません。
タスクトレイじゃなくて、タスクバー
>>831-835 ありがとうございます、対応してみました
タスクバーからまとめて終了と言う再現方法を絞り込んで頂けたおかげで、
原因らしきモノの特定が非常に楽でしたヽ(;´ー`)ノ今度は大丈夫ではないかと…
バグレポはかくありたい
>>787 で BonDriverProxyEx の Linux版が欲しいと言った張本人です。
作者さん、ありがとう!!これで完全にWindowsサーバから脱却できる。
>>830 828です。ありがとうございます!
デバッグビルドはGoogleドライブにあるのでしょうか?
840 :
名無しさん@編集中:2015/01/29(木) 01:42:23.20 ID:64uXG1EE
>>838 もとから Windows "Server" でなければならない理由は何一つないだろ
bondriverproxyexつけた状態で元のBondriver-T0.dllとかのドライバ読むと
PT3ctrl.exeが落ちるんスけど
845 :
828:2015/01/29(木) 11:59:10.29 ID:i1U2bxGm
>>830 確認できました。ありがとうございました。
鯖機の再起動時などに家族が接続中かどうか確かめる時が多いので
助かりました!
846 :
831:2015/01/29(木) 19:57:01.38 ID:JdrGr4/f
>>836 直っていました。
対応ありがとうございます。
PS2コントローラーの刑にしたいね
なんで俺の書き方が悪いことになってんのw
>>849 あんたが 838 なのであれば
例えば Windows 7 と Windows Server 2008 R2 をはっきりと区別していないじゃないの ?
> Windowsサーバから脱却できる
この言い方したら Win6.1 でも Windows 7 ではなく Windows Server 2008 R2 って事になる。
たんに Windows から脱却できると言えば問題はない。
文脈くらい見ろアホ
NULLパケットを削るstripとEMM処理の有無もiniで設定できるといいんじゃないでしょうか。
B25Decoder::strip = GetPrivateProfileIntA("OPTION", "B25_STRIP", 0, szIniPath);
B25Decoder::emm_proc = GetPrivateProfileIntA("OPTION", "B25_EMM_PROC", 0, szIniPath);
>>850 べつにどうでもいいんだけどさ…。
「Windowsサーバ」って、別に「Windows Server」を指してなくて、
ただ単に24時間起動させとくサーバとしてのWindowsは必要なくなった、
と言いたかっただけなんだけど。
アンタは「Linuxサーバ」って聞いて「そんなディストリビューションはない!」
とか言っちゃう人?
ほーむさーばー
856 :
828:2015/01/30(金) 01:59:33.96 ID:H2sEbFeT
>>854 Windows の場合、 Windows Server ってのが Worstation と区別して販売されている。
たぶん、あんたの場合は Workstation な Windows を Server のような用い方していただけなのだろう。
些細なことだが "Windowsサーバー" という表現が悪かっただけだよ。
Windows使いからすれば、サーバー版というだけで
お前 Server 使うだけの意味あるのか ?
と突っ込まれる。
>>850>>857 突っ込まれてんのはあんただけなんだけど?
掲示板と日本語のあいまいさがわからなそうなあんたには分からないのかもしれないけど、
Windowsのサーバ・・・・Windows 7だかなんかでもつかってるんだろどうでもいいわとわかるんだけど?
ちょっとでも人の上に立ちたい奴なんだよ
話を聞く周りの人間の眉毛は八の字になってて孤立
口癖は多分「バカばっかだな」「俺の言ってること分かる?」
860 :
814:2015/01/30(金) 06:05:07.08 ID:4uRa3led
>>853 ご指摘ありがとうございます。
stripってnullパケットの処理だったんですね。
861 :
名無しさん@編集中:2015/01/30(金) 09:20:59.62 ID:szjBEXdc
>>805 早速の対策ありがとうございます。
テストがおそくなり、申し訳ありません。
BonDriverProxy_current(20150126) を使用し、サーバ側 ini に SANDBOXED_RELEASE=1追加、
結果は、状況変わらずでした。
前回、報告漏れのイベントログがありました。
0xc0000005 の1〜2秒前に、0xc00001a5 が発生しています。
別チャンネルを同時視聴する場合は、問題が発生しないので、
同一チャンネルへのリクエストでも、オプション設定で、
別チューナを利用するような実装は困難でしょうか?
障害が発生しているアプリケーション名: BonDriverProxyEx.exe、バージョン: 1.1.4.8、タイム スタンプ: 0x54c54f74
障害が発生しているモジュール名: msvidctl.dll_unloaded、バージョン: 6.5.9600.16384、タイム スタンプ: 0x5215828a
例外コード: 0xc00001a5
障害オフセット: 0x00155430
障害が発生しているプロセス ID: 0x6dc
障害が発生しているモジュール パス: msvidctl.dll
レポート ID: f566afa5-a812-11e4-9745-0007e90e95ee
障害が発生しているアプリケーション名: BonDriverProxyEx.exe、バージョン: 1.1.4.8、タイム スタンプ: 0x54c54f74
障害が発生しているモジュール名: msvidctl.dll_unloaded、バージョン: 6.5.9600.16384、タイム スタンプ: 0x5215828a
例外コード: 0xc0000005
障害オフセット: 0x0008b880
障害が発生しているプロセス ID: 0x6dc
障害が発生しているモジュール パス: msvidctl.dll
レポート ID: f63a970a-a812-11e4-9745-0007e90e95ee
アスペの人は文脈が読めずに書いてある字面に引っ張られるからな。
それでもツッコみたいところはあるけど無意味なんでやめとく。
有益な話が出てくるわけでもなく無駄にスレを消費するだけなんで、触りなさんな。
864 :
863:2015/01/30(金) 11:59:07.15 ID:5svWVqqi
書き方が悪かった。
>>834と似た症状だから一番新しい
BonDriverProxy_current(20150129).zip
を試してみたら?って事。
どうでもいいわ蒸し返すなクソボケ
>>861 ダメでしたかー
となるともしかして、IBonDriver::Release()を呼んだ後も対象BonDriver(とか、それが呼んだ何か)内に
何らかのスレッドが残ってて、直後のFreeLibrary()でアンロードされたアドレスにアクセスして
死んでるのかも…と考えたので、BonDriverが未使用状態になってもDLLをアンロードしない設定を追加してみました
最新版でiniの[OPTION]に、
---
DISABLE_UNLOAD_BONDRIVER=1
---
として、もう一度試してみていただけるでしょうか?
なお、
>>802で書かれている、
「両方のクライアント終了時に」
と言うのが、
「両方のクライアントを同時に終了時に」
であれば、
>>863-864さんが書かれている通りである可能性もあります
もしそうである場合は、問題の切り分けがしたいので、最新版でまずデフォルト設定で試して、
やっぱり再現したらDISABLE_UNLOAD_BONDRIVER=1を試すと言うのをやっていただけると助かります
> 同一チャンネルへのリクエストでも、オプション設定で、
> 別チューナを利用するような実装は困難でしょうか?
Exの方でこれをやるのはちと面倒ですね(;´Д`)主にテストが
使うBonDriverを制御したい場合は、通常のBonDriverProxyを使う方が良いかと思います
アホだのクソだのボケだの言ってないでもう少し語彙増やせよ
870 :
名無しさん@編集中:2015/01/31(土) 09:57:31.68 ID:RK4QTBM+
>>867 度々、お手数かけます。
指示いただいた内容で、残念ながら、解決せずです。
イベントログへの出力は、同様でした。
BonDriverProxyEx.exe、バージョン: 1.1.5.0、
例外コード: 0xc00001a5
例外コード: 0xc0000005
最新版(20150130)で、デフォルトでも、DISABLE_UNLOAD_BONDRIVER=1 の設定でも同様です。
>>863-864さんとは状況は異なるようです。
というのも、2クライアントの終了タイミングは、5秒以上ずらしています。
それと、今回、発見した事象ですが、
2クライアント、同一チャンネルで、
ClientA start → ClientB start → ClientA end → ClientB end
の場合、落ちますが、
ClientA start → ClientB start → ClientB end → ClientA end
の場合、落ちません。解決の糸口になるでしょうか?
あと、テスト環境について、
発見時は、Windows TvTest と、Ubuntu sample.cpp ですが、
以降は、Ubuntu同一ホストで、sample.cpp を同時実行しています。
途中でのチャンネル変更はありません。
> Exの方でこれをやるのはちと面倒ですね(;´Д`)主にテストが
> 使うBonDriverを制御したい場合は、通常のBonDriverProxyを使う方が良いかと思います
了解です。確かに、Exでやると本来のメリットがなくなりますね。
非Exで、ポート番号を分けて、重複起動するってのもアリですね。
>>749のHDUSF使いですが、
DISABLE_UNLOAD_BONDRIVER=1 で
BonDriverProxyが落ちることは無くなりました。
10回くらいのON/OFF試行ですが、おそらく解決したようです。
ありがとうございました!
>>869 おお、わざわざ手でパッチ当てなくて済むので手軽になりますね
あとついでに、適当に空DllMain()の追加と、create_arib_std_b25()とcreate_b_cas_card()だけ
dllexportしてarib_std_b25.dllにしてしまえば、インタフェース部にはTCHARは使われていないので、
アプリ側がunicodeでもマルチバイトでも大丈夫になりますよ
#もちろんアプリからの利用の際にarib_std_b25.dllが必要になるので、この辺りは好みもありそうですが…
>>870 これもダメでしたか…
うーん、何が起きてるんだろう
状況的には、BonDriverの共有が行われると問題が発生する形に見えますが、
当方が実機を持っておらず、問題のBonDriverのソースも非公開なので、調べる手段が
内部的にこんな事やってるんじゃないか?と言う想像しかないのがツライ…
#少なくとも手元のBonDriver_PTやBonDriver_ptmrでは再現しないので(;´Д`)
> 2クライアント、同一チャンネルで、
> ClientA start → ClientB start → ClientA end → ClientB end
> の場合、落ちますが、
> ClientA start → ClientB start → ClientB end → ClientA end
> の場合、落ちません。解決の糸口になるでしょうか?
bdpの内部的にはこの2つの違いは無いハズなので、この挙動も謎ですね(;´Д`)
共有状態であっても、BonDriverの実際の操作は単一のインスタンス経由でbdpサーバ自身が行っているのですが…
>>870 と、ここで思ったんですが、PX-BCUDを複数刺しの場合、どのBonDriverがどのチューナを使う、みたいな指定は
どうやっているんでしょうか?
もし単に複数プロセスから同じBonDriverのDLLを指定するだけで、BonDriverあるいはデバドラが、使っていない
チューナに勝手に振り分けてくれると言う様な場合でも、bdpex的には
---
[BONDRIVER]
00=BCUD;BonDriver_BSCS.dll;BonDriver_BSCS.dll
---
ではなく、
---
[BONDRIVER]
00=BCUD;BonDriver_BSCS0.dll;BonDriver_BSCS1.dll
---
みたいな感じでコピーをつくって指定してもらう必要がありますが、ここは大丈夫でしょうか?
その上で、上記の指定方法にも問題は無い場合、
---
[BONDRIVER]
00=BCUD;BonDriver_BSCS0.dll
---
の様に、BonDriverを1つしか指定せずに動かしてみて、2つ以上のクライアントで接続してみた場合は
どうなるでしょうか?それでも落ちるでしょうか?
>>871 別件の問題が解決するとはヽ(;´ー`)ノ
あの時Spinelでは大丈夫との事だったので軽く調べてみたんですが、未使用になったチューナの
BonDriverのDLLは普通にアンロードしてる様だったので、結局何が違うのかはよくわからずでした
SpinelはC#なのが関係有ったりするのかなとも思ったんですが、BonDriver_nnbとBonDriver_PTを
TVTestから直接使って、nnb -> PT -> nnbと切り替えるのは問題無いんですよね…?
謎な部分が残っているので少し気にはなりますが、一応、BonDriverがわけのわからないつくりだとか、
余程メモリがギリギリだとかでない限りは、DISABLE_UNLOAD_BONDRIVER=1での運用で困るような事は
まず無いと思うので、それで問題が起きなくなったのなら良かったです
>>748さんの事例にも、(もし
>>755以降も変わらなかったのであれば)試してみてもらえればと思います
>>875 お手数お掛けしました。
他のHDUS(F)使いの方の検証も欲しいところですが、
nnb -> PT -> nnbの切替は問題無いです。
腑に落ちないと思いますが、こちらの問題は一応決着ということで。
ありがとうございました!
877 :
名無しさん@編集中:2015/02/01(日) 21:27:36.98 ID:+wr519a6
>>874 勘違いかもと思い、再度実験しましたが、
> ClientA start → ClientB start → ClientB end → ClientA end
> の場合、落ちません。解決の糸口になるでしょうか?
これは、落ちないです。
[BONDRIVER]
00=BSCS;BonDriver_BSCS-0.dll;BonDriver_BSCS-1.dll
でやっています。
[BONDRIVER]
00=BSCS;BonDriver_BSCS-0.dll
の場合、2同時視聴で、同一チャンネル指定でも、別チャンネル指定でも落ちます。
別チャンネル指定の場合、先実行のものが、途中でチャンネル変更されます。
イベントログは、msvidctl.dll_unloaded です。
> PX-BCUDを複数刺しの場合、どのBonDriverがどのチューナを使う、
> みたいな指定はどうやっているんでしょうか?
BCUDは、やはり、曲者みたいですね。
TvTest で使い分けるときは、/DID を指定するような書き込みがあったと思います。
bdpexでは、そのような指定せずとも、別チャンネル同時は、取り扱えています。
ProcessMonitor で、トレースしてみます。
なにか分かれば良いのですが。
>>877 > [BONDRIVER]
> 00=BSCS;BonDriver_BSCS-0.dll
> の場合、2同時視聴で、同一チャンネル指定でも、別チャンネル指定でも落ちます。
> 別チャンネル指定の場合、先実行のものが、途中でチャンネル変更されます。
> イベントログは、msvidctl.dll_unloaded です。
確認ありがとうございます
#別チャンネル指定で、先実行のものがチャンネルを奪われるのは、
#(先実行側がチャンネルロックを設定していない限り)正しい挙動です
やはり純粋に、BonDriverインスタンスを複数クライアントで共有するだけで問題が発生するようですね
これはどう言う事だろう…
クライアントが複数になっても、BonDriverから見ればホストプロセスは常にbdpサーバ1つだけなので、
TVTestから直接使うのと特に違いは無いハズなんですが(;´Д`)
> ProcessMonitor で、トレースしてみます。
> なにか分かれば良いのですが。
何かわかったらお知らせください(;´Д`)
当方でも、BonDriverインスタンスの占有状態と共有状態、
また、
> ClientA start → ClientB start → ClientA end → ClientB end
と
> ClientA start → ClientB start → ClientB end → ClientA end
とで、bdpサーバの内部状態的に違いが無いか再確認してみます
879 :
748:2015/02/01(日) 23:59:36.62 ID:0mzlhtAF
>>875 d3d9.dll_unloadedはランタイムが壊れてるのかと思い再インストールした後は
BonDriverProxyExの更新が効いてるのか再インストールが効いてるのかわかりませんが同様のエラーは出てないです
それとは別にmsvidctl.dll_unloadedがちょくちょく出ていたので
SANDBOXED_RELEASEが最初に実装されたバージョンで運用してしばらくは大丈夫だったのですが
昨日msvidctl.dll_unloadedが出て落ちてしまいました
今度は1.1.5.0で
SANDBOXED_RELEASE=0
DISABLE_UNLOAD_BONDRIVER=0
で運用してもし落ちるようなことがあればDISABLE_UNLOAD_BONDRIVERのみONにしてみたいと思います
あとこれは上記とは関係ないのですが
BonDriverProxyExにログ機能が欲しいです
どこからどのアプリがアクセスしてEX内部のどのチューナーでどのチャンネルを使ったのかまたは解放したのか
1つのクライアント毎にアクセス時、チャンネル変更時、チューナー解放時のみログ書き出しなので
spinelのようにリアルタイムにストリーム監視するわけではないので負荷が少ない?
よく話題になるspinelのようなguiが欲しいという機能もログを視覚的にわかりやすく表示する外部ツールを誰かが作ると思うのでそれで解決すると思います
/statとかでステータス返すのは?
881 :
814:2015/02/02(月) 19:16:47.12 ID:PR0y9ApX
>>872 なるほど。
別のブランチで作ってみるのいいかもしれませんね。
882 :
名無しさん@編集中:2015/02/02(月) 20:11:32.88 ID:pHE3i2eZ
>> 878
> ClientA start → ClientB start → ClientA end → ClientB end
NG
> ClientA start → ClientB start → ClientB end → ClientA end
OK
の件、推測で申し訳ないですが、
OpenTuner() と CloseTuner() を別スレッドで行っていることが原因ではないでしょうか?
BonDriver 側が、OpenTuner() 時に 別DLL をロードする仕様で、
ハンドルをスレッドローカル変数で管理しているとか。
素人の憶測ですみません。
>>882 まさに同じ様な事を考えてまして、例えばBonDriver_BDAをbdpサーバから使用する場合、
COMの初期化/終了処理の初期化はするけど終了処理が行われないコードパスがある事に気付きました
なので、bdpサーバ側であらかじめ初期化をやってしまうようにしてみました
>>877 と言うわけで、また試してみてもらえるでしょうか…
>>879 上記の様な感じなので、検証運用していただけるのなら、ぜひ現在の最新(1.1.5.1)でお願いします
#チマチマ変更入ってスミマセン
ログに関してはそうですね、ちょっと考えてみます
884 :
名無しさん@編集中:2015/02/02(月) 22:38:36.59 ID:pHE3i2eZ
>>883 882=877 の者です。
ズバリ、解決です。ありがとうございます。
ProcessMonitor でのトレース、不要になってしまいました。
同一チャンネル、別チャンネル、開始終了順序など、
私が想定できるケース、テストしたところ、問題なしです。
設定は、
SANDBOXED_RELEASE=0
DISABLE_UNLOAD_BONDRIVER=0
のままでOKでした。
>>884 おお、解決しましたか
良かったです
結局形的には、BonDriverが内部でリソースリーク起こしたあげく、ホストプロセスを巻き込んで死んでた
と言うモノですね(;´Д`)
この手のライブラリの内部で勝手にCOM初期化するのは、(親切のつもりなのかもしれませんが)こんな風に
ナチュラルに地雷踏む事に繋がるので、正直良くない作法だと思います…
未初期化で呼び出された場合、中途半端に使えたりせずに、単に初期化されてないぞと言う
エラーを返してくれた方が遥かに有難いのではないかと(;´Д`)
#正しく機能させる為にホスト側でやるべき事が同じであっても、その結論に至るまでの労力が全然違いますしね…
昨年11月、12月よりBonDriverProxy_Linux + b25 patchを利用すると
不定期に視聴できなく事象が発生しております
再現調査したいと思いますが、必要な情報および取得方法が有りましたら
教えていただけないでしょうか
確認していると点はカードリーダーが常時点滅(アクセス)状態となり
開放の処理が怪しいのかもしれません
なお、10月ぐらい前のBonDriverProxyでは再現いたしません
実際にはb25起因かもしれませんが、何か思い当たる節が御座いましたら
ご教示願います orz
b25パッチBDPL更新しておきました。
delete箇所が増えていたのですね…
#普段b25パッチは使ってないので全く気づきませんでした(;´∀`)
失礼しました。
BonDriver共有ツール総合
・Spinel
MPEG2-TSを出力するTVチューナを複数のアプリで共有するためのサーバです。
別途BonDriver_Spinel.dllを使用すれば、BonDriver対応アプリからすぐに使うことが出来ます。(本体Readmeより)
- 公式サイト -
http://lapislabs.blog24.fc2.com/ - 対応製品 - BonDriverが利用できるもの全般
- 入手方法 - サーバー公式サイトより入手可能。
・BonDriverProxy / BonDriverProxyEx / BonDriverProxy_Linux
他のBonDriverへTCP越しにプロキシ接続するだけのツールです。
機能の少ないSpinelみたいなとりあえず軽くシンプルにを目的
Exでは、サーバ側にBonDriver自動選択機能を追加
- ソース -
https://github.com/u-n-k-n-o-w-n/ - 対応製品 - BonDriverが利用できるもの全般
- 入手方法 - 以下のサイトより入手可能。
https://drive.google.com/folderview?id=0B-b35lIwjw6ybzV5QU9DWkJLUWc ・VirtualPT
VirtualPTはアースソフトPT1・PT2等のチューナーをラップし仮想チューナーを公開するサービスアプリケーションです。
BonDriverインターフェースに対応しているアプリケーション(TVTest(TV視聴)、TVRock(TV録画)、EpgDataCap_Bon(TV録画)等)でお使いいただけます。(公式サイトより)
- 公式サイト -
http://blog.livedoor.jp/domamemo/ - 対応製品
EARTHSOFT PT1/PT2/PT3 (PT3は1.11以降)
PLEX PX-W3PE/S3U/W3U2/W3U3 (いずれも1.09以降)
- 入手方法 - 「VirtualPT_0118.zip」を最後に公開停止。ググれ。
またRemoteTunerがなくなってる
BonDriverProxyExみたいな自動選択機能はないが安定性は優れている
Proxy専スレつくったらどうすっか?
このスレのほとんどがProxyネタですしおすし?
BonDriver_RDCTのパスわからん
DTVでも2senでも入んないぞ
小文字
>>892 利用者の多いSpinelは専門スレあるし、他は弱小ばっかりだし、
保守の手間考えたら分ける必要ない気がするけどなぁ。
分けたいなら反対はしないけど
弱小とか馬鹿にする自信があるのなら専スレ建てるくらいどうってことないんじゃないんすかねぇ
専スレは立ってるわけで
Spinel以外は弱小ってことなのになんで専スレ立てろとか言ってんの?この人
スレタイが「spinel以外の弱小BonDriver共有ツール専用スレ」になってないことが不満なのかな。
ほら?Spinelスレはバカキチガイ池沼多いからw
流れ込んできてるんだろ
ホントだ
ほら?
の?マークってどういう意味?
考え無しに弱小とか書いた結果、荒れてしまったようで申し訳ないです。
Spinelよりも後発が多い事もあって、単にユーザの絶対数が少ないって事が言いたかっただけです。
当初、Spinelスレから他種ツールの話題を隔離する為にこのスレが独立してるはずだけど、
ユーザが他のツール類に対して排他的な傾向があるのってSpinelくらいだろ、とか勝手に思ってました。
迫害されていたVirtualPT信者がやっとできた新天地を
新参のBonDriverProxyに乗っ取られたのが気に食わないんだろ
BonDriverProxy系の伸び代は大きいよ。
Spinelと比較して圧倒的に軽いしチューナーの共有も出来る。
それにソースも公開されているしね。
流れは、SpinelからBonDriverProxy系への乗換だよ。
試してみたけどepgtimerの録画済み一覧が真っ赤っ赤になっちゃった
今後に期待
どうしたらそうなるんだよ
お前の今後に期待したいわw
EDCBの仕様の話してるなら、録画済み一覧を表示する画面があるんだけど、
録画中にスクランブル解除に失敗したりdropがあった録画物は、リスト上でその背景色が赤く表示される。
って説明すればいいの?
>>909 ありがとう。
オイラ怠惰で無頓着な豚なので "赤で表示されているね" って程度で
何かを示しているかなんてことはあまり気にもせずにいた。
赤色だが err ファイルの数値でエラーらしき物は全部 0 だし
映像や音声が途切れるって事もないし。
せいぜい、連続物のわりに音声の再生位置を、その都度調整しなければ
ならない物が多少あるって程度だな。
ひつじなんてのは中間に全黒を挿んでいるものもあれば
いくら前後に調整しようとどちらかにはみ出す物もあるし
かといって協会がどれほど厳密に作っているのかなんて知らんし。
まぁ、ひつじは、未成年でピチピチな嫁が夕食の支度している間に
子供をテレビにひきつけられていればどうでも良いんだがな。
BondriverProxyで要望なのですが、
PT3等の複数のチューナーがある場合、PT3のBondriverを
チューナーの数だけコピーしないといけない仕様になっていますが、
本来BonDriver_PT3-T.dllは1つで複数のチューナーを扱えるようになっているので
BondriverProxyの方でも、BonDriver_PT3-T.dllからエラーが返ってくるまで
別のチューナーを制御するようにするか、もしくはiniで
00=PT-T;BonDriver_PT3-T.dll,2
のように、チューナー数を設定して、BonDriver_PT3-T.dllを
複数コピーしなくてもいいような仕様にしていただけるとありがたいです。
長文失礼致しました。
912 :
911:2015/02/08(日) 03:27:50.41 ID:Ixk9APcF
>911
BondriverProxyというよりBondriverProxyExへの要望でした。
>>910 頭6行目から先が何書いてるのかよく判らんけど、参考になったようで何より。
drop異様に気にするのは主に録画民、特にエンコードとかして溜め込む奴じゃないかな。
パケットが抜けると、後で編集する時に映像と音声の同期が取れなくなるケースが多いので結構めんどい。
俺はBonDriverProxy系まだ使ってないんだけど、
>>906が本気で言ってるならもう少し詳しく報告した方が良いんじゃないの?
>>913 ドロップしてたら音声再エンコしなけりゃ大概はいけるが。うちクソ環境なんでw
何かある人は、gdgd言わずに、普通にパッチ書けばいいんじゃないのかな?
>>911 えーと、例えばBonDriver_PT/PT3が単一dllで複数のチューナを扱えるのは複数のプロセスから読み込まれた場合のみで、
単一のプロセスからは複数のチューナを制御できるようにはなっていないのです
なので、その機能を素直に実装しようとすると、bdpexサーバ側だけで無くBonDriver_PT/PT3側の改造が必要になります
例えばEDCBなんかは1プロセスからは1チューナのみ扱うようになっているのでこの仕様は問題にはならないのですが、
bdpexサーバを同じ様な形に変更しようとすると多分大改造になると思うのでちょっと厳しいですね…
またbdpexサーバをその形で実装した場合、BonDriver操作用のワーカープロセスとbdpexサーバ間でプロセス間通信
する事になるので、その分の処理負荷及びメモリ使用量が確実に上乗せされてしまいます
それで得られるのはBonDriverをコピーしないで済んだ分のHDD容量節約くらいですから、正直メリットより
デメリットの方が多いかなと…
なるほど。
思ったほど簡単にはいかないんですね。
回答ありがとうございました。
BonDriverProxyExですが、チャンネルの共有がうまく動作しないことが時々あるようです。
いろいろやって試してみた結果、以下の手順で再現するみたいでした。
【BonDriverProxyEx側の設定】
地デジチューナー2つを共有
00=ISDB-T;BonDriver_XX_T0.dll;BonDriver_XX_T1.dll
【使用するアプリ】
EpgDataCap_Bonを2つ(CHANNEL_LOCK=1)
TVTest(CHANNEL_LOCK=0)
【再現手順】
1.1つ目のEpgDataCap_Bonを起動、CHを7にする
2.2つ目のEpgDataCap_Bonを起動、CHを1にする
3.TVTestを起動、CHを1にする
→TVTestのCHは1になる
4.TVTestのCHを7にする
→TVTestのCHは7になる
5.1つ目のEpgDataCap_BonのCHを3にする
→TVTestのCHも3になる
6.TVTestのCHを4にする
→TVTestのCHは1になる
7.TVTestのCHを3にする
→TVTestのCHは3にならず1になる
>>919 再現手順の調査、ありがとうございます
ロック権を持っていないクライアントがチャンネル変更を要求した場合に、目的チャンネルを選局している
チューナは無く、空きチューナも無く、かつロックされていないチューナも見つからなかった場合に、
目的チャンネルには変更できないけどとりあえず適当にチューナを選択していたのですが、その際に、
自身の保持チャンネルを、その選択したチューナが選局しているチャンネルに更新していないのが原因でした
調べて頂いた再現手順で言うと、ステップ5.でTVTestのクライアントインスタンスの保持チャンネルもch3に
変更されますが、ステップ6.ではch1にはならず(もちろんch4にもならず)ch3のままとなってしまっており、
この為、ステップ7.で既にch3を選局していると判断してしまっていました
対応してみたので、ご確認ください
酷いソフトですね
って言うか
各人の捉え方の様々な解釈で作ってしまう、検証してしまうのは
金を取って販売する企業としては、随分問題でしょう
何ですか、意地悪テストってのは
各人がその時の主観で突っ込み入れるのが
上場企業の研究所wがする仕事の仕方なんですか ?
過去に泥塗るのやめて、蓄音機と犬のマーク外しましょうよ
たれか我をすくってたべ
この言葉の意味を知ろうとして web で検索しようが
容易に答えにたどり着けない。
誰か私を救ってくれ…賜べは、ほとんど命令
お前らの言い方なら
黙って見てねぇで誰でもいいから俺様を助けろや
>>923 大丈夫、見守ってるよ。
寒い中、今も外で。
なんだこのキモいレス
926 :
919:2015/02/20(金) 17:58:23.73 ID:aM64I9d6
>>920 対応ありがとうございます
問題が発生しなくなっているようです
ところで別件ですが、BonDriver_Proxy.dllのGetSignalLevelで、アプリ側が意図した値が取得できない問題があるようです
例えばTVTestの場合、チャンネルスキャン時のSetChannnelのほぼ直後にGetSignalLevelを行いますが、
1.SetChannnel直後のSignal値が反映されず誤ってチャンネルをスキップしてしまう
2.連続した空きチャンネルで最後に受信できていたチャンネルのSignal値が返ってくるためスキャン時間が大幅に長くなる
等の問題が発生してしまうようです
さほど重要な問題ではないですが、検討いただけるとありがたいです
>>926 ナルホド、確かに発生しそうだなと思ったのでひとまず対応してみました
とりあえず変更入れたのはクライアント側のみですが、実は完全な対応の為にはサーバ側にも
変更が必要なのはわかっているので、その内そっちもやるかもしれません
サーバー側で1秒に1回しかGetSignalLevel()やってないから
正しい値が返ってこないのはあまり変わらないような
>>927 それが
> 実は完全な対応の為にはサーバ側にも変更が必要なのはわかっているので
の件ですねヽ(;´ー`)ノ
なので対応してみました
#b25パッチを作成してる方は若干変更が必要ですが、面倒は減ったんじゃないかと思います
ちなみに、クライアント側だけでの対応でも
>>926さんの2.の問題は間違いなく回避できる筈ですし、
1.の問題も、問題が発生するパターンは変更前チャンネルのCNRが低い値で、それを間違って読んでしまって
発生すると言う事と、普通チャンネルスキャン時はチャンネル変更してから数秒はデータ取得して待つので、
#TVTestの場合は(チャンネル変更後の待ち時間をそれ以下にしていない限り)最低2秒は待つようになっている様です
現実的には大体問題無くなるんじゃないかなと
BonDriverProxyが起動しない
Windows8.1 64bitもWindows Home server 2011も駄目だった
タスクマネージャー見てみたか?
見たけどそれらしいのは無かった
exeファイルを削除できたから間違いなく起動してない
ランタイムは一通り入ってる
VMware上のWindows7 32bitでも駄目だった
類似ケースの原因で
>>737 が有るけど、どうですか?
>>935 正常に起動しました
ありがとうございました
いいってことよ
BonDriverProxy系はdescrゴニョゴニョ機能無いん?
上の方で語ってるbなんたらの事か
ビルドは出来てもソース読めないとキツそうだなあ
BonDriverProxyってスカパープレミアムで使える?