BonDriver共有ツール総合 その2at AVI
BonDriver共有ツール総合 その2 - 暇つぶし2ch350: ◆SALrG1ld3mTc
15/09/19 19:19:11.78 92YkKb/m.net
>>313
BonDriverProxyの場合は単純に、読み込んだBonDriverがCOMを使っていた場合に、STA/MTAのどっちを想定しているのか
わからないので、安全側に倒すと言う意味でSTAにしています
また、現代のPCの性能ではMTAを使って目に見えてパフォーマンスを上げられるとすれば、まず使用するCOMオブジェクトの
ThreadingModelがFreeかBothであり、かつそのCOMオブジェクトのメソッドをフルスピードで回るループの中から
呼び出している�


351:謔、なパターンくらいじゃないでしょうか? BonDriverのAPIのような、昨今のCPUの速度を基準にみるとごく低頻度で呼び出されるだけと言える用途では、 それによる性能改善はほぼ無さそうな気がしますヽ(;´ー`)ノ



352: ◆SALrG1ld3mTc
15/09/19 19:23:49.63 92YkKb/m.net
そう言えば、COMを使うBonDriverの実装の形として、大体は取得したCOMオブジェクトのインタフェースをメンバ変数に
保持していて、API内部ではそのメンバ変数経由でCOMオブジェクトのメソッドを呼んでいます
この場合、例えばAPI1とAPI2で上記メンバ変数を使用していたとして、アプリがそれらを別スレッドから呼び出した場合、
特に目的のCOMオブジェクトのThreadingModelがSTAに属するものであった場合は、本来のCOMの仕組みから外れた
危ない使い方をしている事になってしまいます
ですが、正しい使い方(律儀に元のインタフェースをマーシャリング/アンマーシャリングして、別スレッドからの
呼び出しであった場合には取得したプロキシ経由でメソッドを呼び出す)をした場合に本来発生する筈の、
WindowメッセージによるCOMのマーシャリングをバイパスして直接メソッド呼び出しになるので、その分の
オーバヘッドは発生しなくなっています
つまり、本来重い(かもしれない)はずのアパートメントをまたいだCOMオブジェクトのメソッド呼び出しですが、
少なくともソースが存在しているBonDriverでの実情としては、上記の通りほぼ単なるメソッド呼び出しとなっているので、
そう言う意味でもSTA/MTAの違いは恐らく有って無いような物ではないでしょうか
またこのようなつくりになっている関係上、その手のBonDriverを利用する際には、OpenTuner()/CloseTuner()/
SetChannel()/GetSignalLevel()辺りの呼び出しはそれぞれ排他にしておいた方が無難なのでしょう
本来はxtne6fさんが行われたこの↓使い方が一番安全なんでしょうけどもヽ(;´ー`)ノ
スレリンク(avi板:792番)n

353: ◆SALrG1ld3mTc
15/09/19 19:38:24.01 92YkKb/m.net
>>310-311,315-317
当方もさっきまたBonDriver_PX_W3PE_S0.dllを眺めてたんですが、確かにBonDriver_HDUSで言う所の、
CDShowMain::CreateAddTunerDevFilter()成功の後、m_pTunerDeviceにIKsPropertySetをQueryInterface()して、
それ経由でデータの取得や設定を行っているように見えますね
対象のguidPropSetは{9E1781E1-9CB1-4407-BBCE-5426C8D00A4B}、dwPropID==0x0cがlinuxドライバでの0x8d81相当、
0x0dが0x8d82相当、0x09(それが失敗したら0x14)が0x8d83相当かと思います
dwPropID==0x0dで得た16バイトの乱数とシードである
{0x61,0xd8,0x56,0x3d,0xc1,0x15,0x46,0x68,0xb2,0xec,0x6f,0xa9,0xed,0x45,0x33,0x81}
からGetKey()相当の処理を行って鍵を取得し、dwPropID==0x09でドライバにセットと言う流れのようですね
#なお、上記シードはdwPropID==0x09用で、0x14用はまた違う値です
この一連の処理は、>>305にも書いた通りBonDriver_PX_W3PE_S0.dllのロードアドレス+1040c辺りから始まっていますので、
デバッガで動き見るならその辺からで大丈夫だと思います
一応、このIKsPropertySetは他のdwPropIDでSetChannel()やらGetTsStream()の中からも使われているようですが、
その処理が実際に呼ばれるのかどうかはわかりません、と言うか、これ以上は実機での動作が見られないとツライ(;´Д`)
とりあえず上記初期化処理だけやってRun()してみる感じでどうでしょう?

354:名無しさん@編集中
15/09/19 23:12:57.82 W5x7rP0N.net
>>318,319
詳細な解説ありがとうございます。
パフォーマンスの実情を踏まえて安全側にふるのはまさにその通りだと思います。
仰る通り、xtne6f氏がEDCBを改良してくれたのでBondriverのCOM問題は実質解決ですね。

355:名無しさん@編集中
15/09/20 14:13:51.94 klFkVMgH.net
>>319
解析おつかれさまです。
詳細な報告、非常に参考になります。

356:名無しさん@編集中
15/09/21 20:06:23.79 GRggE4EQ.net
>>320
GIUDとコマンドの件ありがとうございます。
dllからそれを引き出すとは、BonDriverProxyの作者さん、スゴイ解析力ですね!。
とても関心します。
この様に初期化部分を作って   URLリンク(www1.axfc.net)
動かしてみてます。
結果ですが、確かに[0x0c 読出] [0x0d 読出] [0x14 書込] コマンドとして
全てS_OKで返って来るところまで来たのですが、今の所グラフの動作には至っておりません。
pIKsPropertySetの引数についていまいち理解できないので、おおよその検討で引数を入れています。

後、guidPropSet値なんですが、これをHDUS用のソースに入っているものと比較した時に
同じ9E1781E1なので不思議に思って調べていくと、ドライバのinfを見るとコメントの
記述の仕方が同じ。ドライバーsysの中を調べてみるとASICENとの記述が両方ともに。
ASICENとHDUSとPLEXでネットで検索すると、HDUSもPXシリーズも台湾のASICEN社の
製品だと理解しました。 
それでHDUSとPLEXのリモコンが完全互換なんだと、納得です。

357: ◆SALrG1ld3mTc
15/09/22 06:55:06.68 knSVcOol.net
>>323
スミマセン、良く見たらdwPropID==0x14はデスクランブルさせる場合のオプション用っぽかったので、
本筋には関係無さそうでした
#M2_DECオプションを有効にする場合は0x14でそれ用の初期化を行う、みたいな感じっぽいです
その辺もまとめると、多分こんな感じになるのかなと思いますヽ(;´ー`)ノ
URLリンク(pastebin.com)

358:名無しさん@編集中
15/09/23 01:01:15.12 FbNy3djd.net
>>324 結果から言いますと、
ついにフィルタグラフにrunが掛かりました。
チューナーに対する初期設定がうまくいったようです。
現状の改変ソースを参考資料としてアップしてみます。
URLリンク(www1.axfc.net)
一部constがビルドで引っ掛かるとこがありましたので、
constを抜いて、仮にg_M2_Dec = 0を入れて起動させています。
BonDriverProxyの作者さん。モノスゴイ解析力ですねぇ。
コマンドの解釈や、GetKey2の処理をよく新たに見つけ出したものだと驚きます。
一点質問なのですが、M2_DECオプションを有効にした場合
ハード上もしくはドライバ上でデスクランブルすると解釈して
いいのでしょうか?

359: ◆SALrG1ld3mTc
15/09/24 07:28:51.80 gsOg05yg.net
>>325
> 一点質問なのですが、M2_DECオプションを有効にした場合
> ハード上もしくはドライバ上でデスクランブルすると解釈して
> いいのでしょうか?
全然調べていませんが、恐らくドライバで行われるんだと思います
linux版のドライバにはまるもさん作の「ARIB STD-B25 仕様確認テストプログラム」が
ほぼそのまま組み込まれているようなので、多分windows版でも同じなんでしょう
#もちろん、内蔵カードリーダにカードを刺しておく事が前提でしょう

360: ◆SALrG1ld3mTc
15/09/24 07:33:48.18 gsOg05yg.net
あともうちょっと調べたら、>>320で書いた
> 一応、このIKsPropertySetは他のdwPropIDでSetChannel()やらGetTsStream()の中からも使われているようですが、
はやっぱり使われてるみたいですね
特にGetTsStream()から呼ばれる方はコンテンツの復号(MULTI2ではなく独自のスクランブルの)を行うために必須のようです
適当にですがコードに起こしてみました
URLリンク(pastebin.com)
SetChannel()の方では、m_pcDShow->SetChFreq( iFreq );の後に、
---
m_pcDShow->SetChannel(BSならtrue CSならfalse, TSID, SID);
---
と言う感じで呼びます
TSIDはそのTSストリームのTSID、SIDは(恐らく)そのTSストリームのサービスの適当なSIDか0で、
これらは(SetChFreq()に渡す周波数とともに)iniファイルから読み出して設定します
なお、この処理はS側のみで


361:T側では必要ありません GetTsStream()の方では、m_LastBuffにデータを取得した後、 --- m_pcDShow->Decode(m_LastBuff->pbBuff, m_LastBuff->dwSize); --- と言う感じです 手元にはテストできる環境が無いので、ちゃんと動く可能性はだいぶ低そうですが(;´Д`)



362:名無しさん@編集中
15/09/24 19:44:37.76 YSiFFSy0.net
なにこの難解なスレw

363:名無しさん@編集中
15/09/24 23:27:54.23 cIFUPuu/.net
>>327 結果からですが。
動きましたーー!。
まだ地上波のみですがTvTestで表示できましたー!
衛星側はまだ作りこまないと何もできませんが、とりあえず地上波側の表示はできました。
>>327 の新しいコードと入れ替えて動かしてみるとTSデータの取得が始まって最初の数秒はパケット数が少ないのですが、
途中からパケットが多くなってそこでエラー停止していたので一時バッファだと思われるバッファをを倍にしてみたところ
動作するようになりました。
このバッファを倍にして他に影響ないのかよく理解していないのですが、とりあえずこれで動きます。
この停止が起きた時に100%ではないのですが、デバイスドライバが離脱することがあることがわかりました。
その辺りの耐久性がないようです。ネットで時々書き込みを見るPLEXチューナーを見失う現象は、
このことではないかと考えています。
このバッファオーバーによるものと思われる対処としては、バッファが溜まり過ぎた時の処理を見直すか、
バッファを増やしてにして他に悪影響ないようであればiniでバッファ量を指定できるようにしようと考えています。
今後はゆっくりですが先に衛星側の作りこみ、チューナーとキャプチャ(現在固定)の選択の仕方変更、
iniでバッファ量を指定、その後TSバッファがらみでメモリコピーを多用しているところがあり、ポインタ処理に
置き換えれば若干パフォーマンスアップを狙えそうな所があるので、その辺りに手を付けるつもりです。
開発資料として現状のソース公開しておきます。
URLリンク(www1.axfc.net)
BonDriverProxyの作者さん、またまた大感謝です。
これだけのコードを解析から引っ張りだしてくるとは・・・・
今では、何かの実を食べた「能力者」なのではないかと思っていますyo。

364: ◆SALrG1ld3mTc
15/09/25 07:28:16.61 rOivCOgP.net
>>329
あ、動きましたか
Decode()の処理相当の部分を追いかけてる時に、なんか凄く冗長だったので、無駄だと思われる部分をかなり削って、
でも実はやっぱり必要だったりして…とか少し思ってたんですがヽ(;´ー`)ノともあれ動いたようで何よりです
これらのロジックがちゃんと動くなら、後は普通のBDA系のBonDriverと同じなので、PLEX機器用のBonDriverが
バイナリしかないと言う状況は近々終わりそうですね
どうせならBonDriver_HDUSベースよりも、近年の改良・整理されたBonDriver_BDAをベースにした方が
良いかもしれません
ぜひ良いものをつくって公開して下さいヽ(´ー`)ノ
リンク先のソースでの使用方法をパッと見た感じでは、CBonTuner::RecvProc()でDecode()を呼んでいますが、
呼ぶなら現在の位置ではなく、
---
memcpy(pItem->pbBuff, pSys->m_bRecvBuff, pItem->dwSize);
---
の行の直後に、
---
m_pcDShow->Decode(pItem->pbBuff, pItem->dwSize);
---
とした方が良いんじゃないでしょうか
細かい単位で頻繁にシステムコールを呼び出すよりも、ある程度まとめてから呼んだ方が良いと思うので
また、多分勘違いだと思うのですがCBonTuner::SetChannel()からも呼んでいますが、Decode()は188*nの
単位での呼び出ししか想定していないので、この呼び出しでメモリ破壊が起きてるかも…
あと、もしPLEX_FUNC_0x0CやPLEX_FUNC_0x0Dの呼び出しで得られる結果が毎回同じなら、
鍵(dwKey)は最初に一度つくればDecode()呼び出すたびに毎回つくらなくても良くなりますね
とりあえずそんな感じですよ

365: ◆SALrG1ld3mTc
15/09/25 07:30:50.13 rOivCOgP.net
>>328
スミマセン、確かにだいぶスレ違いですね…
過去ソースの無いBonDriverでトラブるパターンが結構多かったもので、
ちゃんとソース付きのが出てきたら良いなと…(;´Д`)

366:名無しさん@編集中
15/09/25 08:17:51.05 OyXy4mfw.net
まあPLEX系でソースありになればうれしい

367:名無しさん@編集中
15/09/25 08:28:42.66 AbX8MWdv.net
PLEXのbondriver専用スレ立ててやるのがいいかもね
ベースが同じだから旧製品からこれから発売される新製品まで全対応出来るし

368:名無しさん@編集中
15/09/25 09:58:37.86 d0hb4BNi.net
世の中すごい人達がいるもんだ
Proxy系にはいつもお世話になってます。あざーっす

369:名無しさん@編集中
15/09/25 14:49:59.66 Az6h2rPs.net
>>331
参考になって楽しいですよ。

370:名無しさん@編集中
15/09/25 17:21:27.62 O0Vq2wbo.net
難解発言した人も悪気は無いと思うよ
俺は何も理解できなけれど、何かが発展して言ってるというのは、飛ばし読みしてても面白い
嫌いなのは出し惜しみだから

371:名無しさん@編集中
15/09/25 18:02:27.13 L2vPzgGJ.net
>>333
ASICENじゃないのはまた別に解析が必要そう(GUIDも違う)

372:名無しさん@編集中
15/09/25 19:09:07.25 eCL+WuMi.net
【PLEX】PX-S1UD/BCUD Part4 【ドングル】©2ch.net
スレリンク(avi板)
こっちのBCUDの方も頼むわ
必要ならBCUD送るよ

373:名無しさん@編集中
15/09/25 23:12:53.33 ydjL2w8B.net
BondriverProxyを使用して1つのチューナーを2つのTVTestから視聴しようと試みています(もちろん同じ番組)
Bondriver_Proxy.dll
Bondriver_Proxy_splitter.dll(splitterを間にかませたもの)
から同時に視聴しようとするとBondrvier_Proxy.exeがクラッシュします(splitterの有無を統一すれば動作)
こういう使い方は無理でしょうか

374:339
15/09/26 00:53:58.53 ULbc/8bD.net
考え直してsplitter有りで統一して運用方法を工夫することにしました
1つのチューナーを別のBondriverでって無茶な使い方ですよね。スレ汚しすみませんでした

375:名無しさん@編集中
15/09/26 11:12:22.35 GuD/O58I.net
新ドライバーでPT2のバグ直ったのかな?

376:名無しさん@編集中
15/09/26 18:45:35.57 kGGMlB+o.net
バグとは?

377:名無しさん@編集中
15/09/26 19:20:36.45 SBq10ySz.net
買ったら新しいPCを生やしてしまうバグ

378:名無しさん@編集中
15/09/26 23:24:33.74 Vrno3hSp.net
>>342
32bit Windowsでメモリが4GB以上だと0Mbps病が発症する問題かな?

379:名無しさん@編集中
15/09/27 00:00:03.52 Z/H6YHq8.net
バグっちゃバグなんだろうけど、どうせ物理アドレス考えれば原理的に使えないんだろうし・・

380:名無しさん@編集中
15/09/27 18:54:00.64 w2qquhAH.net
>>339-340
---
TVTest1 - BonDriver_Proxy.dll --------------------------|- BonDriverProxy - 対象BonDriver
TVTest2 - BonDriver_Splitter.dll - BonDriver_Proxy.dll -|
---
なら可能ですが、
---
TVTest1 - BonDriver_Proxy.dll -|- BonDriverProxy -|- 対象BonDriver(A)
TVTest2 - BonDriver_Proxy.dll -|         |- BonDriver_Splitter.dll - (A)と同じ対象BonDriver
---
はできないです
下の形では、BonDriverProxyと言う一つのプロセスが同じBonDriverを複数回読み込む事になりますが、
大抵のBonDriverは一つのプロセスから複数回読み込まれる事を想定しておらず、その様な使い方をした場合は、
BonDriver内部で管理変数の上書き破壊等が発生する事になります
URLリンク(github.com)
#で書いてるのはその様な場合の話です
その状態


381:で処理を続けた場合にどうなるのかはそれぞれのBonDriver次第で、またホストプロセスの構造にもよるとは 思いますが、例えばBonDriverProxyがBonDriver_PTやBonDriver_PT3をこのように使用した場合を考えると、 恐らくBonDriver側で管理されているメモリへのアクセスに関してスレッド間での競合が発生し、落ちる事になるでしょう #これは、ポインタを返す方のGetTsStream()等は非同期で呼び出される事を(恐らくBonDriverのAPIの仕様として) #想定していない為、スレッド1に返したメモリ領域をまだスレッド1が使用しているのに、スレッド2が解放してしまう、 #と言う事が起こるからです ダラダラと書きましたが、要はその形での使用はBonDriverProxy側だけで何とかできる範囲ではないので、できないです、 と言う事になります(;´Д`)



382: ◆SALrG1ld3mTc
15/09/27 18:56:17.02 w2qquhAH.net
ズレた(;´Д`)>>346は当方です

383: ◆SALrG1ld3mTc
15/09/27 19:04:05.28 w2qquhAH.net
>>338
少し見てみましたが、BonDriverで復号的な事はやっておらず、変わった事やってるのは
SetChannel()とGetSignalLevel()の中くらいにみえますね
その変わった事の内容は
URLリンク(pastebin.com)
な感じです
URLリンク(www1.axfc.net)
のBonDriver_BDASのソースなら、
CBonTuner::LockChannel()の中の
---
pIRequest->put_Locator(pILocator);
---
の後で、
---
CustomSetChannnel((WORD)lTSID);
---
みたいに呼んで使います
CustomGetSignalLevel()の方は、CBonTuner::GetSignalLevel()の頭で呼んで、多分RSSIが2バイト値で
返って来るので、これで得た値を元にfloatのCNRとして計算したのを返してるようです
こちらはBonDriver_BDASが行ってるように、BDA標準の方法でとれるなら使う必要は無いかもしれませんね
どっちにしろ、インタフェースの型が良くわからなかったので関数ポインタ経由で無理やり呼び出しており、
まともに機能するかどうかはわかりませんが(;´Д`)

384:339
15/09/27 19:27:17.62 AF71QNeR.net
>>346
レスありがとうございます
今は
TVTest1 - BonDriver_Proxy.dll -|--------||------- BonDriverProxy - BonDriver_Splitter.dll - 対象BonDriver(A)
TVTest2 - BonDriver_Proxy.dll -|
のようにしています。これで録画しながら軽くしたTSを視聴したいという目的は達成できました
運用開始直後に一度だけBonDriverProxyがクラッシュしたのですが(慌ててレポート取り逃した)それ以降は何度試しても正常動作しています
たぶん大丈夫でしょう。お手数をお掛けいたしました。素晴らしいソフトに感謝です

385:338
15/09/27 23:17:28.55 TgOHQ+jD.net
>>348
レスありがとうございます
BDASに上げてもらったコード組み込んで試してみます

386:名無しさん@編集中
15/09/28 00:02:56.68 P8iLFU2e.net
>>348
教えてもらったコードでTSID指定でBSのチャンネル取れるようになりました
それと動作させるのになんらかの初期化コードが要るようなんですが、わからないですかね?
バイナリで公開されているBondriverでスイッチを入れてからでないと動かないんです

387:名無しさん@編集中
15/09/28 00:50:07.72 R5uGdt/w.net
>>351
>>288このあたり以降が関係していないかな?

388:名無しさん@編集中
15/09/28 02:24:33.40 P8iLFU2e.net
BonDriver_BDAS Ver.0.03
URLリンク(www1.axfc.net)
[更新履歴]
Ver. 0.03
・カスタムコード追加によりTSID指定でBSのチャンネルが取れるようになった

これにPLEXチューナーの初期化処理を入れなきゃなんないってことかな?
>>327のやつを組み込めばいいのかな?別のBondriver用みたいだけどね

389: ◆SALrG1ld3mTc
15/09/28 20:51:07.19 cGa3TeDv.net
>>350-353
うーん、とりあえずOpenTuner()終わりまでにはW3PEやW3U3でやってるような特殊な処理は
入ってないように見えますね
基本的に普通のBDA系BonDriverと同じで、BonDriver_BDASで言うところの
CBonTuner::LoadAndConnectTunerDevice()内の、
---
string::size_type n = 0;
wstring sem


390:Name = displayName; while ((n = semName.find('\\', n)) != string::npos) { semName.replace(n, 1, 1, '/'); } --- が、 --- string::size_type n = 0; wstring semName = displayName; bool find = false; if (semName.find(L"vid_3275", n, 8) != string::npos) find = true; if (semName.find(L"pid_0085", n, 8) != string::npos) find = true; if (!find) continue; while ((n = semName.find('\\', n)) != string::npos) { semName.replace(n, 1, 1, '/'); } --- みたいな感じになってるくらいです あと、m_pTunerDeviceとm_pCaptureDeviceをAddFilter()する時は、friendlyName.c_str()使わずに、 それぞれL"DVB-S Tuner"とL"DVB-S Capture"で固定ですね



391: ◆SALrG1ld3mTc
15/09/28 20:53:12.62 cGa3TeDv.net
BonDriver_BSCSをどのタイミングまで使えばBonDriver_BDASが使えるようになるのかわかるでしょうか?
DLLをロードするだけ、CreateBonDriver()まで、OpenTuner()まで、最初のSetChannel()まで、と少しづつ
機能を使っていって、どの段階でBonDriver_BDASが使えるようになるのかがわかれば、どこに鍵になる処理が
あるのかのヒントになりそうです
…CustomSetChannnel()のChannelをtypoしてるのにさっき気付きました(;´Д`)失礼しました

392:名無しさん@編集中
15/09/28 22:07:14.15 P8iLFU2e.net
>>355
わかりました
特殊なチューナー初期化コードは必要ないということなんですね
>BonDriver_BSCSをどのタイミングまで使えばBonDriver_BDASが使えるようになるのかわかるでしょうか?
>DLLをロードするだけ、CreateBonDriver()まで、OpenTuner()まで、最初のSetChannel()まで、と少しづつ
うーん…それはVSのデバッガ使って追わないといけないんですよね
今度時間あるときにやってみますね

393:名無しさん@編集中
15/09/28 22:10:26.52 P8iLFU2e.net
>>355
必要ならBCUD送ってもいいですけどね

394:名無しさん@編集中
15/09/28 23:43:04.50 P8iLFU2e.net
BonDriver_BDAS Ver.0.04
URLリンク(www1.axfc.net)
Ver. 0.04
・BonDriver_BDAT Ver.1.05 までの更新内容をだいたい取り込んでおいた
・あとはチューナーのスイッチが入るようになれば完成

395:名無しさん@編集中
15/09/29 01:14:08.78 1EOqt+1D.net
>>355,356
356さんとは別人ですけど。
OpenTunerを超えれば使えるようになる様です。

396: ◆SALrG1ld3mTc
15/09/29 19:37:36.41 D0eEl3nI.net
>>359
おお、ありがとうございます
一応ですが、CreateBonDriver()までやっただけでは使えないと言う事ですよね?
OpenTuner()の処理は一通り追ってみたつもりだったんですが、もう少し眺めてみます…
>>357
まあどうしても気になったら自分で買ってきますw

397:名無しさん@編集中
15/09/29 20:16:30.10 1EOqt+1D.net
>>360
>一応ですが、CreateBonDriver()までやっただけでは使えないと言う事ですよね?
そうです。
OpenTuner は 13B0 からだと思いますが 1401 から複数出てくる jnz 13F9 を順に
jmp 13F9 に変えつつどこで BonDriver_BSAS.dll で映るようになるか試した所
以下でした。
.text:10001433 jnz short loc_100013F9 を
.text:10001433 jmp short loc_100013F9 に変更
ですのでその直前が怪しいのではないかと思われます。
中身はまだ追えていませんけども。
.text:1000142C call sub_100029B0

398:名無しさん@編集中
15/09/29 20:24:58.19 1EOqt+1D.net
×BonDriver_BSAS.dll
○BonDriver_BDAS.dll (Ver.0.04) です。

399: ◆SALrG1ld3mTc
15/09/30 00:03:21.03 Vq8gxJyY.net
>>361-362
おかげでそれっぽい処理見つけられましたヽ(´ー`)ノ
とりあえずざっとコード化してみました
URLリンク(pastebin.com)
CBonTuner::LoadAndConnectCaptureDevice()の
---
return S_OK;
---
の直前で呼んでみて下さい…

400:名無しさん@編集中
15/09/30 13:27:46.89 75ir4n1u.net
>>363
そのコード自分が入れて試してみましたところ、まだ動かないですね
Channnelのtypoは直しときました

401:名無しさん@編集中
15/09/30 17:25:14.54 75ir4n1u.net
スカパー!用のBonDriver_BDAのInitializeHookと
同じようなことやってるみたいですねえ

402:名無しさん@編集中
15/09/30 17:29:36.85 75ir4n1u.net
-1、-2、-3、-4とかは
E_XXXなどのリターンコードなんでしょうね

403:名無しさん@編集中
15/09/30 17:46:19.36 75ir4n1u.net
いやリターンコードじゃないかもですね
よくもまあCOMを逆汗してCコードに書き直しできましたね

404:名無しさん@編集中
15/09/30 17:58:38.66 75ir4n1u.net
CheckAndSetTunerDependCode(displayName);←ここでInitializeHook()が実行される
//


405: connect 成功なので、このまま関数を終了する return S_OK; ホラ、スカパーBonDriver_BDAと同じですね



406: ◆SALrG1ld3mTc
15/09/30 18:37:12.96 Vq8gxJyY.net
>>364-368
これだと思ったんですが…
>>363の関数は当方が処理を意訳してコード化しただけなので、エラーコードなども適当に決めた物です
単に、何かがエラーになった場合にどこでエラーになってるのかわかれば良いとの考えなので、
値自体には別に意味はありませんヽ(;´ー`)ノ
> スカパー!用のBonDriver_BDAのInitializeHookと
> 同じようなことやってるみたいですねえ
チューナ毎に違う特殊処理を行うわけですから、似てるのはある意味当然なんでしょうね
もっとも、BonDriver_BSCSの場合はチューナデバイスとキャプチャデバイスを接続した後に、
チューナデバイスの出力ピンに対してIKsPropertySetを要求しているので、若干タイミングが違いますね
とりあえず、その関数がエラーで返って来てるのか、そうでないのかですね
もし-4で返って来てたりするなら、コメントにしてる部分をいかしてみてくれませんか?
---
//BYTE inst[32];
pIKsPropertySet->Set(guidPropSet, 0x500, NULL/*inst*/, 0/*sizeof(inst)*/, &dw, sizeof(dw))
---

---
BYTE inst[32];
pIKsPropertySet->Set(guidPropSet, 0x500, inst, sizeof(inst), &dw, sizeof(dw))
---
#意味があるかどうかよくわからなかったのでコメント化してましたが、必要なのかもしれないです

407:名無しさん@編集中
15/09/30 19:20:03.36 75ir4n1u.net
>>369
すごい!動きました!

408:名無しさん@編集中
15/09/30 19:36:29.67 vDo9Votk.net
GJ
BSCSが選択したTSIDが記憶されてるから
その領域の初期化とかしてんのかな

409:名無しさん@編集中
15/09/30 20:06:45.73 7g+Kag58.net
コメントありの状態だとエラー -4 で、コメントをはずせば動きました。
信号レベル表示が100.00dbから変化しないのですけど皆さんどうです?

410:名無しさん@編集中
15/09/30 20:08:09.58 75ir4n1u.net
なんかチャンネルをマップしたテーブルか構造体をセットするAPIがあった気がする

411:名無しさん@編集中
15/09/30 20:12:04.53 75ir4n1u.net
>>372
WORD rssi = CustomGetSignalLevel();
ってところのrssiから算出するらしいけど、計算法がわからなかったんで
まだやってないです

412:名無しさん@編集中
15/09/30 20:44:13.62 75ir4n1u.net
>>372
うちでも100.00dbから変化しないです

413:名無しさん@編集中
15/09/30 20:46:09.45 75ir4n1u.net
【PLEX】PX-S1UD/BCUD Part4 【ドングル】©2ch.net
スレリンク(avi板)
今後はこちらでやりましょう

414:名無しさん@編集中
15/09/30 22:53:56.90 5v+HmoLx.net
BCUDはlinux版のドライバ作ってほしいわ

415:radi_sh ◆w66DTUAjabhm
15/09/30 23:28:07.35 rEjCCeRa.net
横から飛び入り参加で申し訳ないです
PX-W3PE/S3U3系のBonDriverですが、GetSignalLevel()にもカスタム処理が入ってますね
↓みたいな感じで得た値を1/100しているみたいです
URLリンク(pastebin.ca)

416:名無しさん@編集中
15/10/01 00:34:46.86 36rLzu6a.net
Win8から対話型サービス ダイアログ検出のウインドウって標準で無効になってるのね
Win10でも、細工したらSpinelとかをサービス化してもセッション0に切り替えてウインドウ出るようになったよ、って報告しときます。

417:名無しさん@編集中
15/10/01 00:51:36.26 MZuoeh7L.net
>>369
時間のある時で良いので教えて下さい。
URLリンク(www1.axfc.net) にあるWORD CBonTuner::CustomGetSignalLevel() ですが
・BonDriver_BSCS.dll のオフセット 1590 からで良いですか?
・if (w > 0x0bb8) w = 0x0bb8; (0xbb8 = 3000) は不等号が逆だったりしないでしょうか?
if (w < 0x0bb8) w = 0x0bb8;

418: ◆SALrG1ld3mTc
15/10/01 09:17:21.48 FXKDgKxt.net
>>380
その通りで、不等号逆です(;´Д`)失礼しました
直後の処理で3000引いてるので、ここで負の値にならないようにでしょうね…
ちなみにオフセット0x1590はCBonTuner::GetSignalLevel()で、CBonTuner::CustomGetSignalLevel()は
その冒頭の0x15d8までの処理を切り出して当方が勝手に関数化した物です
そこから関数の終わりまで計算をごちゃごちゃやってるのがCNRの計算でしょう
---
float f = (float)CustomGetSignalLevel();
f -= 3000;
f = sqrt(f) / 64;
float f5 = pow(f, 5);
float f4 = pow(f, 4);
float f3 = pow(f, 3);
float f2 = pow(f, 2);
f = (f4 * 14.341f) - (f5 * 1.6346f) - (f3 * 50.259f) + (f2 * 88.977f) - (f * 89.565f) + 58.857f;
return f;
---
多分こんな感じです
>>378
ですね
W3PEの方はドライバからもらった値を小加工して返すだけなのであんまり面倒無いですねヽ(´ー`)ノ

419:名無しさん@編集中
15/10/01 19:43:14.90 MZuoeh7L.net
>>381
ありがとうございます。
CNRの計算式まで書いてもらえるとは思ってもいなかったです。
PX-BCUDのCNR計算方法はLinux DVB PT3ドライバと同じですね。
簡単な経緯は以下に。
スレリンク(avi板:56番)

420: ◆SALrG1ld3mTc
15/10/01 22:31:16.47 FXKDgKxt.net
>>381
大体完成したようで何よりですヽ(´ー`)ノ
> PX-BCUDのCNR計算方法はLinux DVB PT3ドライバと同じですね。
そうなんですよねー
コードに起こしてからコレなんか見た事あるなと思って、PT3の旧SDKのソース(WinDriverが
使われてるのでSDKが殆どドライバのソースです)見直してみたら同じコードだったので、
もっと早くに気づいてたら慣れない浮動小数点絡みのアセンブラシコシコ読まなくても
済んだのに、と思いましたヽ(;´ー`)ノ

421: ◆SALrG1ld3mTc
15/10/01 22:33:08.76 FXKDgKxt.net
>>381 ×
>>382
失礼しました…

422:名無しさん@編集中
15/10/02 12:22:42.58 3H8JtadY.net
なんだよおまえら難しい話ばっかりしやがってW3PEユーザーのおれが酒でも奢ってやんよ

423:名無しさん@編集中
15/10/02 13:41:23.95 r6wj63lv.net
W3PEのオプソ版Bondriverは完成したの?
なら買ってくるけど

424:名無しさん@編集中
15/10/02 13:46:35.42 zd63mJaJ.net
スレみてると導入すげー大変そう

425:名無しさん@編集中
15/10/02 23:29:06.90 /iOd8IkH.net
>>386
完成はしたものの、正直微妙な出来のドライバーをBDAでなんとか動かしている感じのPlex製品より、BonDriverを念頭に設計された(といっても過言ではなさそうな)PTシリーズの方が遥かに良い。
PTシリーズは今だにドライバーのアップデートも行ってくれたし。

426:388
15/10/02 23:29:56.41 /iOd8IkH.net
>>388
正直微妙というのはPlexのデバイスドライバののと。一応。

427:388
15/10/02 23:31:30.58 /iOd8IkH.net
>>389
>デバイスドライバののと。
デバイスドライバのこと。

428:名無しさん@編集中
15/10/04 18:58:25.55 O5+npm4O.net
PTのSDKが更新されたから
OPENTUNER_RETURN_DELAY=10
の問題が直ったかと期待したけど放置だった・・・
がっかり

429:名無しさん@編集中
15/10/04 19:35:58.04 YPXySW80.net
>>391
マジか!
たしか誰かがearthsoftに報告したよね。

430:名無しさん@編集中
15/10/04 23:18:22.21 O5+npm4O.net
具体的に、Sleep(10)を何処に入れればいいのでしょうか?
if( enISDB == PT::Device::ISDB_T ){
if( iTuner == 0 ){
m_EnumDev[iDevID]->bUseT0 = FALSE;
}else{
m_EnumDev[iDevID]->bUseT1 = FALSE;
}
}else{
if( iTuner == 0 ){
m_EnumDev[iDevID]->bUseS0 = FALSE;
}else{
m_EnumDev[iDevID]->bUseS1 = FALSE;
}
}

431:名無しさん@編集中
15/10/05 17:38:38.17 JzcAbdKy.net
bondriverproxyは導入難しいの?
環境新しくするから入れてみようかと思ってたんだが

432:名無しさん@編集中
15/10/05 19:27:58.27 g9FKjFgP.net
当人のレベルによるから難しいのかどうか聞かれても困るよね。
やってみればすぐわかること。

433: ◆SALrG1ld3mTc
15/10/06 07:51:21.09 pOPt5JpK.net
>>393
---
if( enISDB == PT::Device::ISDB_T ){
if( iTuner == 0 ){
m_EnumDev[iDevID]->bUseT0 = TRUE;
}else{
m_EnumDev[iDevID]->bUseT1 = TRUE;
}
Sleep(10); // ここです
}else{
if( iTuner == 0 ){
m_EnumDev[iDevID]->bUseS0 = TRUE;
}else{
m_EnumDev[iDevID]->bUseS1 = TRUE;
}
}
---
必要なのは、CPT1Manager::OpenTuner()とCPT1Manager::OpenTuner2()にだけで、
CPT1Manager::CloseTuner()の似た部分はさわ�


434:髟K要ありませんよ あと、良かったらこちら↓もどうぞ… http://peace.2ch.net/test/read.cgi/avi/1430828601/114-121n >>394 >>395さんもおっしゃってますが、ひとまず試してみてわからない点があれば 聞いていただければと思いますヽ(;´ー`)ノ



435:名無しさん@編集中
15/10/06 17:54:08.01 4DCMKwci.net
>>396
これってPT3でも同様の問題がありますでしょうか?

436:名無しさん@編集中
15/10/06 18:09:13.54 gedYKS5x.net
>>396
ありがとうございます。
やってみます。

437:名無しさん@編集中
15/10/06 18:09:40.22 gedYKS5x.net
>>397
ないと思います。

438:名無しさん@編集中
15/10/08 12:40:52.39 zkaToWlG.net
>>396
327 名無しさん@編集中 sage 2015/10/08(木) 11:44:06.32 ID:q73TjTj5
>>326
コーティング規約云々以前に必要のないSleepが入っているよ。
あと、72行目のNULLも必要ない。
適当に追加しているようだけど、一度全部追ってからの方がいいよ。
反論する前に聞く耳を持ったほうがいい。
正直、不足。

439:名無しさん@編集中
15/10/08 13:34:26.82 phdzIbYI.net
>>400
>>396のは正解のソース。修正が必要なのは別のソース。

440:名無しさん@編集中
15/10/10 00:35:54.70 ou3/liYg.net
出張なさっておられる

441:名無しさん@編集中
15/10/10 17:04:46.73 ay8m38a5f
遅ればせながら
BonDriverProxyにB25パッチ(b25_patch_for_bdpx_ver.1.1.5.5)当てて見ました
BonDriver_PT3(生)->BonDriver_Splitter->BonDriverProxy->LAN->BonDriver_Proxy
->TvTest(0.9.0)
がTVTestのチューナーでチューニング空間が 0:チューニング空間0
1:チューニング空間1
2:チューニング空間2
となってチューニング空間を認識できないようでチャンネルスキャンもできません
TVTestのチューナーから選択すると正常に再生されます
B25パッチを当てていないオリジナルでは正常です
これって、私だけ?
どなたか教えて

442:名無しさん@編集中
15/10/10 18:05:54.42 1xBt+dKs.net
操作ミスで連投失礼
遅ればせながら
BonDriverProxyにB25パッチ(b25_patch_for_bdpx_ver.1.1.5.5)当てて見ました
BonDriver_PT3(生)->BonDriver_Splitter->BonDriverProxy->LAN->BonDriver_Proxy
->TvTest(0.9.0)
がTVTestのチューナーでチューニング空間が 0:チューニング空間0
1:チューニング空間1
2:チューニング空間2
となってチューニング空間を認識できないようでチャンネルスキャンもできません
TVTestのチューナーから選択すると正常に再生されます
B25パッチを当てていないオリジナルでは正常です
これって、私だけ?
どなたか教えて

443:名無しさん@編集中
15/10/11 09:54:44.44 1amKenyMI
現在のBonDriverProxy(Ex)は1.1.6.3だと思いますが
1.1.5.5用パッチってそのまま当たるんでしたっけ?
それに1.1.5.5って >>96 だとしたら>> 98 のコメントにもありましたが
ソース足りなくありません?

自分は >>54 の1.1.5.3用を当てた後、
ローカルで更新してる1.1.6.3ですが
B25_DECODE=1 でも 0でも問題なく動作しています

444:名無しさん@編集中
15/10/11 13:08:32.13 fJOo/5Y1.net
403です
自己解決しました
Proxyのプロパティで文字セットを"設定なし"にしていたためでした
修正して解決です

445:名無しさん@編集中
15/10/12 17:41:07.90 XuthCV7Z.net
BonDriverProxyEXでB25デコードをしたいので、宜しければ「bcas_crypt.c」と「decode_ecm.c」をUPして貰えませんか?
エラー 1 error C1083: ソース ファイルを開けません。'arib25\bcas_crypt.c':No such file or directory C:\Users\XXXXX\Desktop\BonDriverProxyEx-master\BonDriverProxyEx\c1 BonDriverProxyEx
エラー 4 error C1083: ソース ファイルを開けません。'arib25\decode_ecm.c':No such file or directory C:\Users\XXXXX\Desktop\BonDriverProxyEx-master\BonDriverProxyEx\c1 BonDriverProxyEx
よろしくお願いします

446:名無しさん@編集中
15/10/12 19:54:12.91 Mg13pJIm.net
>>15>>54を揃えればいいんじゃないの?

447:名無しさん@編集中
15/10/12 20:22:54.91 XuthCV7Z.net
>>408
そこのソースには「bcas_crypt.c」と「decode_ecm.c」が含まれていなかったんですよ

448:名無しさん@編集中
15/10/12 20:47:31.29 Mg13pJIm.net
>>96のパッチを使わなければいいのでは?
うちは>>54を使ったけど。。。

449: ◆SALrG1ld3mTc
15/10/12 21:37:49.77 ekDVsTpl.net
「bcas_crypt.c」と「decode_ecm.c」は、恐らくその名の通りの機能を持つソースなのでしょう
個人での実験用途でならともかく、一般公開はちと憚られるものではないかと思うので、
ご注意ください…ヽ(;´ー`)ノ

450:名無しさん@編集中
15/10/13 07:44:24.27 FY5Uk1yp.net
>>409
「bcas_crypt.c」と「decode_ecm.c」は必要ないです
windscard.libのリンクは必要ですが

451:410
15/10/13 07:51:13.63 FY5Uk1yp.net
間違えた
winscard.lib ね

452:名無しさん@編集中
15/10/13 19:56:40.00 Qc9Z8p69.net
>>412
ありがとうございます
hoge2014~からwinscard.libを生成し1.1.5.3をリリースでビルドすると下記エラーが出力されます
エラー 1 error LNK2001: 外部シンボル "__imp__g_rgSCardT1Pci" は未解決です。 C:\Users\XXXXX\Desktop\BonDriverProxyEx-7bcba06c6743eab9a51c3769c10b1c6ad787cf2b\BonDriverProxyEx\b_cas_card.obj BonDriverProxyEx
デバッグでビルドすると出ません。
デバッグでビルドすべきなのでしょうか?

453:410
15/10/14 04:12:44.10 B0wywBd5.net
>>414
winscard.libは最初からあなたのパソコンのどこかにインストールされてます
hoge2014~ってなに

454:405
15/10/14 20:10:55.70 xP5vXzMg.net
ありがとうございます
BDPXのバージョン間違いやら紆余曲折ありましたが、無事目的を達成できました。

455:名無しさん@編集中
15/10/30 17:41:27.30 Tw4F38xG.net
BonDriverProxyですが、サーバ、クライアント同じPCで使う時に
127.0.0.1と指定すると接続できません。Spinelは127.0.0.1で繋がります。
127.0.0.1で繋がるようにならないでしょうか。

456:名無しさん@編集中
15/10/30 17:45:17.56 C+StQ3ym.net
昨日からPTCtrl.exeがカーネルにアクセスしてBSoD(STOP: 0x1000008E)になるんだけど、
この解決方法ってある?
PTCtrl.exe ver. 0.1.3013.0

457:名無しさん@編集中
15/10/30 17:46:33.15 WFkLfkJq.net
>>417
繋がるよ。設定がミスっている。
ホスト・クライアント両方を
ADDRESS=127.0.0.1
にする。

458:名無しさん@編集中
15/10/30 18:01:56.43 3a4NyaJ8.net
B25パッチ、快調ではあるんだが、地元ケーブルテレビの独自放送局だけ復号できない。
TVTest側で復号すると普通に見られるから、B25decoderとlibarib25の処理の違いかな。
エラー数の増え方がゆっくりなので、全パケットの復号に失敗しているわけでもなさそう。

459:名無しさん@編集中
15/10/31 11:19:10.47 Hy7U6q1J.net
>>419
ありがとうございます。
たしかにホスト、クライアント両方127.0.0.1にすれば繋がりました。
でもそれだと、他のPCからはIPアドレス指定しても繋がらない。
理想としては、SpinelみたいにホストにはIPアドレス指定は不要
クライアントはホストと同じPCなら127.0.0.1、別PCならホストのIPアドレスを指定すれば繋がることです。

460:名無しさん@編集中
15/10/31 11:26:55.69 /dPXB+Yb.net
127.0.0.1に拘る理由あるの?

461:名無しさん@編集中
15/10/31 11:29:47.62 Hy7U6q1J.net
ホストPCを変えるときに設定を変える必要がないためです。

462:名無しさん@編集中
15/10/31 11:34:19.41 gvl636iE.net
>>421
ホスト側のIPアドレスが192.168.0.xxxだった場合、ホスト側を
ADDRESS=0.0.0.0
にしておけば、
ローカルマシンからのクライアント側では
ADDRESS=127.0.0.1
リモートマシンからのクライアント側では
ADDRESS=192.168.0.xxx
で繋がるようになるよ

463:名無しさん@編集中
15/10/31 12:00:34.93 CxHcwrKN.net
>>421
ホストを0.0.0.0にする
全てのポートで待ちうけするようになるよ。

464:名無しさん@編集中
15/10/31 12:14:12.23 yz1BrDRt.net
いいこと知った
横からサンクス
>>424,4


465:23



466:名無しさん@編集中
15/10/31 12:18:32.72 yz1BrDRt.net
思ったんだけどspinel同様鯖側に設定項目無くして内部的に0.0.0.0デフォにしておいた方がいいんじゃない?
boncasserverなんかもそうなってるし

467:名無しさん@編集中
15/10/31 12:19:36.58 g7I8rrai.net
最初からガバガバにするのか

468:名無しさん@編集中
15/10/31 16:20:17.38 AkwBR8D1.net
>>418
今まで問題無くて、急にそうなったのならメモリが怪しいかと
他には、システムドライブの容量がカツカツだとSTOP:0x1000008Eが起きたりするらしい
あと、もし最近何かのドライバ(あるいはドライバをインストールするソフト)をインストールしたのなら、
それが悪さしてる可能性もあるかも
いかんせん情報不足過ぎるので一般的な事しか言えんね

469:名無しさん@編集中
15/10/31 20:22:09.10 jL0S9naP.net
>>427
普段よく目にするアプリは0.0.0.0がデフォルトのが多いと思うけど、
必要最低限のアドレスだけ待ち受けるってポリシーも、セキュリティ面考えれば理解できる話かと。
何も考えずに実装とか設定ファイル共通化してるだけかもしれないけど

470:名無しさん@編集中
15/10/31 20:32:13.33 kIWWy0CN.net
まあ前スレみろよって話だな
==
366 :名無しさん@編集中:2014/06/19(木) 01:08:28.89 ID:iTKsNkq6
ちなみに(クライアント側サーバ側共に)アドレスの指定がされなかった場合は、127.0.0.1を指定されたものとして動作します
なお、サーバ側で全インタフェースにbindしたい場合は0.0.0.0を指定すればそうなります
==

個人的にはこれがどうなった気になる
==
728 :名無しさん@編集中:2014/12/03(水) 20:16:22.94 ID:fBGKVIvq
大抵は0.0.0.0でいいだろうけど
ADDRESS=127.0.0.1;192.168.0.100
みたいな感じで複数アドレス指定できたらいいかなーと思った
全公開はしたくないけどこっちとそっちでは公開したい、みたいなニーズはあるかもしれない
729 :名無しさん@編集中:2014/12/04(木) 06:51:01.70 ID:a0e5T/cN
>>728
ナルホド…
正直需要としては相当ニッチな気はしますが、
対応自体は多分簡単なので、ちょっと試してみます
==

471: ◆SALrG1ld3mTc
15/11/01 17:02:47.79 ajq2rplf.net
>>427
確か以前にも書いたのですが、>>430さんが書いてる通り、デフォルト0.0.0.0にしてしまうと、そっちにまで
公開するつもりはなかったのに公開してしまっていたと言う場合が出てくる可能性があるので、安全側に倒して
アドレス指定必須にしています
意図しない公開を防ぐには、意図してそうしない限りそうならないようにしておくのが望ましいとの考えからです
>>431
実装方法考えた後コード書くのは良いけどテストめんどくせと思って放置しつつ、
その後IPv6対応とかしてたら忘れてました(;´Д`)
さっきやって更新しときました
今のバージョンならIPv4とIPv6の両方で待てるようになるので、複数インタフェースのマシンでなくても
意味あるかもしれませんね

472:名無しさん@編集中
15/11/01 21:02:58.23 GhR3WWOx.net
>>432
更新お疲れ様です。あとで試してみます。
うちはNIC 3枚刺しとかしてるし、
外向けと内向けのNICが違ったりするので役に立ちます。
ありがとうございました。

473:名無しさん@編集中
15/11/02 03:08:54.06 kPB2HB94.net
r2って
d555d2bを適用したものなのかな

474: ◆SALrG1ld3mTc
15/11/02 08:22:49.89 EDr4GnDf.net
>>433
世の中どんな需要があるかわからないものですね…
お役に立つのなら幸いです
>>434
その通りです
変更内容はコミットログに書いてる通りで、ADDRESSに設定された文字列のパース処理で手�


475:イきしてたのを 気になって考え直しただけなので、実際の機能的には20151101と何も変わっていませんヽ(;´ー`)ノ



476:名無しさん@編集中
15/11/03 15:03:35.83 0X4Ryq3s.net
いつもb25パッチを上げてくださってる方、
どうか今回の1.1.6.4のパッチもお願いします。
出来れば「bcas_crypt.c」と「decode_ecm.c」を使わない方で・・・
お願いします

477:名無しさん@編集中
15/11/03 15:21:44.81 vvw1XQx9.net
手パッチだけでは無理だったの?

478:名無しさん@編集中
15/11/03 16:16:35.15 lJC1fMLW.net
指パッチン

479:名無しさん@編集中
15/11/03 21:19:37.28 +v9gKDM3.net
gitで過去バージョンにパッチ当てたブランチ作っておいてバージョン上がるたびにmasterからマージしていった方が楽だよ

480:名無しさん@編集中
15/11/03 21:30:02.88 aKgWKYzr.net
>>439
SourceTreeマジおぬぬめ

481:名無しさん@編集中
15/11/03 21:42:22.16 FKd2v58T.net
ローカルの少量パッチならgit rebaseのが楽かな
マージコミットが積み重なるの汚いし

482:名無しさん@編集中
15/11/04 00:20:21.85 RTRG9PT8.net
SourceTreeとかどれだけ速いマシン使ってもクソ重くて使ってらんない

483:名無しさん@編集中
15/11/04 19:55:22.08 eQpgC4Eq.net
手パッチでいけました

484:名無しさん@編集中
15/11/04 19:55:59.27 eQpgC4Eq.net
あID変わった
441=434です

485:名無しさん@編集中
15/11/05 06:46:02.28 +TIn4Bnh.net
>>420ですが、これ調べてみたらVPIDとPCRのPIDが同一だった。PCRのパケットはアダプテーションフィールドだけなのにスクランブル制御のビットがたってるから、TVTestからは100msごとに復号漏れがあるように見える。libarib25を修正して解決しました。

486: ◆SALrG1ld3mTc
15/11/05 12:38:16.76 E/GbanQ9.net
>>445
確かにlibarib25はアダプテーションフィールドだけのパケットは無条件で通常パケット扱いしてますね
実際復号は不要なので、単にスクランブルフラグを下げるかどうかだけの話だったと…
いろんな放送機器があるもんですねー
対応的には、flush_arib_std_b25()とproc_arib_std_b25()の2箇所にある
URLリンク(github.com)
の部分を
---
if(crypt != 0){
if(hdr.adaptation_field_control & 0x01){
この部分は上記リンクの元ソースのL616-L637と同じ
}else{
curr[3] &= 0x3f;
prv->map[pid].normal_packet += 1;
}
}else{
prv->map[pid].normal_packet += 1;
}
---
に変更する感じでしょうかヽ(´ー`)ノ

487:名無しさん@編集中
15/11/05 15:20:25.93 cqmDVdVn.net
>>446
古いバージョンを弄ってない?
すでに修正されていると思う。
公開されていた最終リポは
arib_std_b25_5401e3c7f503 150924
だったはず。

488:名無しさん@編集中
15/11/05 18:21:28.22 x2ZSuawc.net
>>446
if((crypt != 0)&&(hdr.adaptation_field_control == 0x02)) curr[3] &= 0x3f;
を加えるだけの修正で済ませてますが、やってることはそのとおりです。
ノンスクランブルの無料放送はVPIDとPCRPIDが同じことが多いみたいですが、この放送ももともとCATV加入者向け無料放送で、その放送にスクランブルをかけて地デジのパススルーにも乗せているようです。
>>447
修正済みのリポがあったんですね。今も入手可能ですか?

489: ◆SALrG1ld3mTc
15/11/05 20:59:27.70 E/GbanQ9.net
>>447
知りませんでしたヽ(;´ー`)ノ
githubでは管理されてないか、github管理でもstz2012版からのforkではないって事かな…
>>448
そもそも映像とPCRのPIDを同じにするのって、ずっとTSの容量


490:削減目的だろうと思ってたのですが、 PCRだけ別パケットで飛ばすのならその効果は無いですし、どのような意図なんでしょうね(;´Д`) ところで https://github.com/epgdatacapbon/libarib25/ にさっそく取り込んでいただけたんですね…が、ちと変更ミスされてるようですヽ(;´ー`)ノ インデントが消されてしまっていてわかりにくいのですが、>>446に書いた変更ではネストが一段 深くなっていて、if(hdr.adaptation_field_control &amp; 0x01)のelseの処理が丸々増えてますよー



491:名無しさん@編集中
15/11/05 21:25:24.99 Cd0G+oLt.net
>>449
わざわざありがとうございます。
よくわからず取りあえず直してしまったもので。
もしよかったら該当ファイルをどこかに上げて頂けませんでしょうか。

492: ◆SALrG1ld3mTc
15/11/05 22:04:47.77 E/GbanQ9.net
>>450
7f75f30のarib_std_b25.cへのdiffでなら
URLリンク(pastebin.com)
みたいな感じですよー

493:名無しさん@編集中
15/11/06 08:31:10.86 8AKT/cM8.net
>>451
ありがとうございます。
さっそく修正します。

494:名無しさん@編集中
15/11/06 14:09:35.60 LyPICKAk.net
>>452
まだおかしくね?

495:名無しさん@編集中
15/11/06 14:22:22.94 hzYckf09.net
それのb1とcamelliaバージョン欲しい

496:名無しさん@編集中
15/11/06 14:47:37.02 LyPICKAk.net
ああ、Commit時間みたらこれまだ修正前か
失礼した

497:名無しさん@編集中
15/11/06 15:33:47.04 r5Wpbb99.net
>>447
Tor版のリポにあった奴でしょ?
クローズの環境で公開されていたか知らない人が多いんじゃないかな?
それと、>>445の問題あ修正されていないと思う。
arib_std_b25_5401e3c7f503 150924
持っているけどUpしていいのか?
途中の更新内容が理解できるのか・・・

498:名無しさん@編集中
15/11/06 17:56:48.48 yW7ynefz.net
>>456
お願いします

499:名無しさん@編集中
15/11/06 19:00:14.35 I2/hatU2.net
>>449
Razor Lemon HG が Tor板でTortoiseHg使って公開していました。
すでに閉じてしまっています。

500:名無しさん@編集中
15/11/06 20:42:36.43 JSX/1got.net
>>420 = >>445 = >>448ですが、
URLリンク(github.com)
の動作も確認しましたので報告しておきますね。
反映ありがとうこざいます。

501:450
15/11/06 21:33:09.90 cZNrdeKp.net
>459
動作確認ありがとうございます。

502: ◆SALrG1ld3mTc
15/11/07 11:38:28.24 dpSpores.net
>>456
>>458
あー、あっちのリポでしたかヽ(;´ー`)ノ
となると、もしかしたらアレ気な改造が行われてるかもしれないので、全ての変更内容を十分理解した上で、公開しても
大丈夫だなと判断できる場合以外は、下手に公開してしまうと危険かもしれません、ご注意ください…
#単にb25関連だから慎重に…と言うのとは別の次元の話で危ないかもしれないので(;´Д`)

503:名無しさん@編集中
15/11/07 12:21:17.46 yj/l/pzf.net
この辺りの話題自体よしたほうがいいね。

504:名無しさん@編集中
15/11/08 07:24:36.31 4DnvESKT.net
B25 patch for BDPex 1.1.6.4 (VS2015用)
URLリンク(pastebin.com)

505:名無しさん@編集中
15/11/08 17:42:29.15 62/NqMkE.net
手パッチでもなんだが通常のは問題ないが
サービス版だとサービス開始できないって怒られるんだよな…

506:名無しさん@編集中
15/11/08 23:18:32.03 4DnvESKT.net
>464
普通にサービスで使えてるけど。Windows10。

507:名無しさん@編集中
15/11/11 22:47:19.47 AFgS20fy.net
458と461で複合漏れと複合されたけど見られないTS吐き出しが一回ずつ

508:名無しさん@編集中
15/11/12 18:48:52.21 377dLB28.net
>>466
とりあえずどっちが問題なのか気になるな。

509:名無しさん@編集中
15/11/14 00:41:49.47 Sp71HzFt.net
splitterを通してEDCBを使うと録画に失敗する(再生できない小さいファイルができる)ことがあるんですが、うちだけかな?
splitterを介してBonDriverProxyEXを動かす構成にしていて、BonDriver_ProxyでEDCBとTVTestを使っています。
splitterを介さなければ安定なんだけど、EDCBに優先的にチューナを割り当てることと、TVTestで見るときに帯域を節約することの両立を図りたいんです。

510:名無しさん@編集中
15/11/14 23:13:40.59 Sp71HzFt.net
>>468だけど、単にEDCBのChSet4とChSet5がおかしかっただけで、作り直したら解決しました。スレ汚し申し訳ない。

511:名無しさん@編集中
15/11/18 20:42:51.40 ioZ5HYxg.net
余計なコードが入っていたので上げ直し。
B25 patch for BDPex 1.1.6.4 (VS2015用)
URLリンク(pastebin.com)

512:名無しさん@編集中
15/11/18 20:44:13.95 ioZ5HYxg.net
余計なコードが入っていたので上げ直し。
B25 patch for BDPex 1.1.6.4 (VS2015用)
URLリンク(pastebin.com)

513:名無しさん@編集中
15/11/19 16:50:53.12 BBrGLq4u.net
>>471
ありがとうございます

514: ◆SALrG1ld3mTc
15/11/19 20:08:47.93 T7X9SZk4.net
>>471
あまり問題になる事は無いとは思うのですが、以前からぼんやりと思ってた事が…
このdecode()の実装の場合、_b25->put()でエラーになった際に、decode()呼び出し側からみると
少なくとも1パケットドロップする(ECMが処理できずにrelease()を呼んだ場合)事になるか、
不必要なデータが追加されてしまう(次回以降の_b25->put()がまた成功した場合)事になりますよね
これを回避する為には、やり方は色々考えられると思いますが、一応当方の手元で期待通りに動いているのは、
b25ライブラリ側へput()がエラーになった場合の処理の変更と、未処理バッファの回収APIの追加を行い、
decode()内でput()がエラーになった場合にはそれらを使って、今までdecode()呼び出し側に返したデータと
一貫性がある(ドロップも追加も無く、ただ復号漏れになる)ように返すデータを調整する、と言う物です
具体的には、put()のエラー処理の方はsbufとdbufのtail位置を呼び出される前の状態に巻き戻し、
未処理バッファの回収APIはsbufのheadからtailまでを返すものをwithdraw()として実装しています
URLリンク(github.com)
へのパッチなら
URLリンク(pastebin.com)
と言う感じですね
#まず問題にはならない地味なバグ修正や、ECMやEMMをカードへ送るのに失敗した場合のリトライ方法及び
#回数の変更なども含んでいます

515: ◆SALrG1ld3mTc
15/11/19 20:16:23.08 T7X9SZk4.net
使う側の実装は
URLリンク(pastebin.com)
みたいな感じです
これを通して録画しながらカードリーダからカードを抜いてみて、録画ファイルにドロップが
発生しないのを期待通りの動作の確認としています
このクラスをEDCBからも使うためにdll使用前提になってたりdecode()のインタフェースが
ちょっと違ってたりしますが、ご参考までにヽ(´ー`)ノ

516:名無しさん@編集中
15/11/20 17:09:13.34 N+B16m/Q.net
>473,474
いつもありがとうございます。
早速アップデートさせて頂きます。

517:名無しさん@編集中
15/11/20 22:53:39.00 J202ybZY.net
質問させてください。
Windows7からWindows10にアップグレードしてPT3周り安定してたからクリーンインストールしてみたんですが
BonDriverProxyExサービス開始時にiniファイル読み込んでくれなくなりました。
サービス再起動すればiniファイル読み込まれるようです…
サービス再起動せずにiniファイルを読み込ませるにはどうしたらいいでしょか・・・?
Windows10 Pro TH2 x64
BonDriverProxyEx サービス版x64 コミットd555d2b

518:474
15/11/20 23:31:25.65 J202ybZY.net
>BonDriverProxyEx サービス版x64 コミットd555d2b
ではなく
BonDriverProxyEx サービス版x64 コミットe4ea3e8でした

519: ◆SALrG1ld3mTc
15/11/21 09:07:38.08 r0GrdxpX.net
>>474の実装例ですが、よく考えたら_bcasオブジェクトは個別の送受信バッファを持っていて、
ライブラリ内部では特に排他処理が行われてるわけでもないので、そのまま複数のクライアントで
共用するのはまずいですね(;´Д`)
かと言ってアプリ側で_b25->put()を排他にするのはロックの粒度が粗すぎてイマイチだと思うので、
わざわざ参照カウントのような事はやらずに、>>471さん方式で、素直に全部のクライアント用に
ちゃんと_bcasオブジェクトをつくる方が正しそうです…
URLリンク(pastebin.com)
失礼しました(;´Д`)
ついでと言っては何ですが、一旦パススルー動作にフォールバックしてもクラス使用側は気にせずに
decode()を呼び続ければ、一定時間毎にカード初期化から再チャレンジするようにしてみました

520: ◆SALrG1ld3mTc
15/11/21 09:11:42.16 r0GrdxpX.net
>476-477
えと、win7の頃は問題無かったと言う事でしょうか?
その辺りのコードは以前から何も変更していないので、何だろう…
既に試されたかもしれませんが、一旦サービス登録から削除して、再度登録してみるとかくらいしか
思い付きません…
クリーンインストールなら関係ないかもしれませんが、サービスとしてインストールした時と
実行ファイルの設置パスが変わっており、かつ前のパスにも設定ファイルが残っていたりすると、
一応そんな感じの挙動になりそうな気はします(;´Д`)

521:名無しさん@編集中
15/11/21 10:55:53.02 Iv/hpT+a.net
>>479
>えと、win7の頃は問題無かったと言う事でしょうか?
Win7の頃とWin7→Win10アップグレード後は問題はなく、Win10クリーンインストールで問題発生です
>一旦サービス登録から削除して、再度登録してみるとかくらいしか
何度もやってみましたがダメでした…
>サービスとしてインストールした時と実行ファイルの設置パスが変わっており
パスは変わってないです…
今のところわかってるのは以下の2つです
・サービスのスタートアップの種類が"自動"だとiniファイル読み込んでくれず、要サービス再起動
・サービスのスタートアップの種類が"自動(遅延起動)"だと問題なくiniファイル読み込んでくれる
遅延起動だと起動遅すぎるので一時しのぎとしてバッチファイルでサービス再起動させています><

522:名無しさん@編集中
15/11/21 12:45:24.68 V4jOlrKX.net
パスってどこに置いてるのか

523:474
15/11/21 13:25:10.42 Iv/hpT+a.net
>>481
こちらです
C:\app\TV\BonDriverProxy(x64)\BonDriverProxyEx.exe
C:\app\TV\BonDriverProxy(x64)\BonDriverProxyEx.ini
サービスのパスも同じです

524:名無しさん@編集中
15/11/21 14:00:36.08 qUF3CjVU.net
>>480
予想だけど、自動のタイミングのときに読み込むファイルが多すぎてiniの読み込みがタイムアウト
になってるとか?

525: ◆SALrG1ld3mTc
15/11/21 22:49:27.55 r0GrdxpX.net
>>480
なるほど、サービスの起動がタイムアウトしちゃってる可能性はありますね
URLリンク(support.microsoft.com)
とかを参考に猶予時間を延ばしてみるとか…
そもそもBDPEX自体の起動には時間はかからないはずなので、それでもダメなら多分別の理由だろうと思います
例えばBDPEXのプログラムからはサービスインストール時に他のサービスに対する依存関係は設定していないので、
(そんな事があるのかどうかはわかりませんが)もしTCP/IPドライバより先に起動しようとしたりしてたら
起動がコケる可能性があるのかもしれません
サービスとしてインストールした場合はレジストリの「HKLM\SYSTEM\CurrentControlSet\Services」に
「BonDriverProxyEx」キーがあると思うので、そこに「DependOnService」をREG_MULTI_SZでつくって、
内容を
---
Tdx
---
にすると(TCP/IPドライバに依存している)「NetIO レガシ TDI サポート ドライバー」に依存するように
なると思うので、その状態でどうなるか試してみるとかでしょうかヽ(;´ー`)ノ

526:474
15/11/22 14:03:49.32 TXrgjJRm.net
>>484,481
タイムアウトになってた場合、イベントログ等に出力されますか?
一応ServicesPipeTimeout 60000とDependOnService Tdxやってみましたが変わらずini読み込まれないですね…
もう一度クリーンインストールしてみてもダメだったので諦めてバッチ走らせるとします…orz
お騒がせしました

527: ◆SALrG1ld3mTc
15/11/22 22:13:19.25 Lh0ow5zj.net
>>485
> タイムアウトになってた場合、イベントログ等に出力されますか?
BDPEX側からは特に何もやっていませんが、サービスをコントロールしている側が出力したりするみたいですね
ただ、実際にそうなってるのを見た事が無いので良くわからないです(;´Д`)
サービスの良くわからない挙動と言えば、当方の環境の各マシンの内、録画機だけでW32Time(NTPクライアント)が
自動起動に設定しているのに起動しないのですが、もしかしたら同種の問題なのかな…

528: ◆SALrG1ld3mTc
15/11/22 23:59:29.23 Lh0ow5zj.net
> 録画機だけでW32Time(NTPクライアント)が自動起動に設定しているのに起動しないのですが
書いてたら気になってきたのでちゃんと調べてみたら、なんかトリガーが設定されてて
ドメインに参加してないと勝手に止まるようになってました(;´Д`)
トリガー条件を変更したらちゃんと起動するようになりました
その過程でサービスのトリガー起動のやり方を知ったので、メモ
---
// 「IPアドレスが使えるようになったら起動、使えなくなったら停止」に設定する
sc triggerinfo BonDriverProxyEx start/networkon stop/networkoff
#もちろん管理者コマンドプロンプトから
#また、無印BDPの場合は"BonDriverProxyEx"ではなく"BonDriverProxy"で
// トリガーの状態を確認
sc qtriggerinfo BonDriverProxyEx
---

529:名無しさん@編集中
15/11/23 14:55:33.09 jvupSM+K.net
解決しました…
ini読み込まれないなんて勘違いで
BonDriverProxyEx.iniでADDRESS=192.168.0.xxxにしてたのが原因でした
↑だとシステム起動時のサービス起動ではポートLISTENされないのですね
ADDRESS=127.0.0.1指定したら無事LISTENされました
ini読み込まれなかったらサービス版は起動しないし、通常版はダイアログがでるのですね…
お騒がせして失礼しました。付き合ってくれてありがとうございました

530: ◆SALrG1ld3mTc
15/11/24 07:57:30.92 ctNcGRe6.net
>>488
>>488さんの用途(ローカルマシンからしかアクセスしないとかでしょうか?)では解決したようなので
とりあえずは良かったですが、ADDRESSが127.0.0.1でないとlistenされないと言うのは他のマシンから
アクセスできないと言う事なので、完全な解決ではないですね
サービス起動の種類を手動にして、>>487の様にトリガーを追加すると大丈夫になったりしないでしょうか?

531:474
15/11/24 10:05:49.52 UpTxL1wG.net
>>489
書き忘れましたが0.0.0.0でもLISTENされます
>sc triggerinfo BonDriverProxyEx start/networkon stop/networkoff
↑を追加し、サービス手動にしてみましたが192.168.0.xxxでLISTENされませんでした;;;

532: ◆SALrG1ld3mTc
15/11/25 07:40:09.57 N1DFUkwz.net
>>490
> 書き忘れましたが0.0.0.0でもLISTENされます
ああ、それならとりあえず大抵の環境では大丈夫そうですね
インタフェースのアドレス指定した場合、トリガーでもダメなのはどうしてでしょうね
start/networkonは「IPアドレスが使えるようになったら」らしいので、
127.0.0.1が使える状態になったけど192.168.0.xxxはまだ使えないタイミングで
トリガーが発行されてる、とかでしょうか…

533:名無しさん@編集中
15/11/26 22:57:58.46 tp24eFiM.net
スレチですが以前、作者さんがTS初心者スレに投下したテレビ東京.tsを修正するtx.zip
オンラインストレージに上げ直してはいかがでしょうか?
斧に置いたままだとファイルが壊れることがあるので・・・

534: ◆SALrG1ld3mTc
15/11/27 08:20:39.54 3UKOvEI0.net
>>492
あら、懐かしい話題が…
あのツールはまだテレ東問題の原因を特定してなかった段階でやっつけでつくったものなので、
とりあえずPMTの並べ替えをするだけのツールですが、
URLリンク(github.com)
の-mオプション("PMT defrag")で目的としては大体同じ事ができるので、
それでどうでしょうヽ(´ー`)ノ
#linux用のツールとして置いてますが、winでもコンパイルして使えるようになってます

535:490
15/11/27 22:19:28.11 qnBpp6jl.net
>>493
別のツールに統合されてたんですね
失礼しました

536:名無しさん@編集中
15/11/28 23:10:29.52 aEwCrqL


537:m.net



538:名無しさん@編集中
15/11/29 14:48:11.87 Vp+UapF6.net
>>495
B25Decoder.hの修正を入れ忘れてるような…

539:名無しさん@編集中
15/11/29 15:20:17.32 6hVcFykj.net
>>495
願わくばXPにもご対応を >>66状態

540:名無しさん@編集中
15/11/29 15:45:29.82 b96W2ySx.net
>>496
ライブラリの方に統合されてます。

541:名無しさん@編集中
15/11/29 16:14:26.53 hfr6Ootn.net
XPなんかさっさと捨てろよ

542:名無しさん@編集中
15/11/29 17:57:57.74 Vp+UapF6.net
>>498
おお、ライブラリが更新されてたのね。ありがとうございます。

543:名無しさん@編集中
15/11/29 18:05:22.62 sAacl7VY.net
>>497
XPの32bit版の話で良いなら、>>495のパッチの48~56行目の辺りのコメント化されてる部分を
元に戻してから、Win32版のプラットフォームツールセットをv140_xpにしてビルド

544:名無しさん@編集中
15/11/29 18:46:39.87 6hVcFykj.net
>>501
想定内のことだったようで失礼しました
大変ありがとうございます
バッチリです。

545:名無しさん@編集中
15/11/29 19:57:12.41 D1CJrDbA.net
パッチがだいぶコンパクトになったようでよいですね

546:名無しさん@編集中
15/12/06 07:02:32.73 QLIN6an7.net
①BonDriverProxyEx.exe
(PT-T=物理T0~物理Tn,PT-S=物理S0~物理Sn) ⇒ サーバー側の録画ソフト等

BonDriver_Proxy_PT-S.dll,BonDriver_Proxy_PT-T.dll

BonDriver_Splitter_ST0.dll(00=PT-S,01=PT-T)
~BonDriver_Splitter_STx.dll(00=PT-S,01=PT-T)

②BonDriverProxyEx.exe
(PT-ST=BonDriver_Splitter_ST0.dll;....;BonDriver_Splitter_STx.dll)) ⇒ クライアントに配信

クライアントへの配信用にBonDriver_Splitterをかけるため上記の様にして運用をしています。
ですが問題が1つ
クライアント側のCHANNEL_LOCK値は当然②のBonDriverProxyEx.exeに効くのですが、
運用上は①にも効いてほしいのです。(むしろ①のほうが問題)
BonDriver_ProxyやBonDriver_Splitterなどの仮想のBonDriverに接続している場合、
CHANNEL_LOCK値を透過する等、対応検討していただけないでしょうか?

547:名無しさん@編集中
15/12/06 09:05:16.29 Qar4zoNB.net
>>504
意味がわからんな。少なくとも
①BonDriverProxyEx.exe
(PT-T=物理T0~物理Tn,PT-S=物理S0~物理Sn)

BonDriver_Proxy_PT-S.dll,BonDriver_Proxy_PT-T.dll
⇒ サーバー側の録画ソフト等
だろ。

548:名無しさん@編集中
15/12/06 13:16:28.66 HqWJ6gdA.net
> 当方的には、
> ・サーバ側で使う場合はスプリッタ機能を有効にして読み込むBonDriverとは一対一の関係に
> .・クライアント側で使う場合はスプリッタ機能は使わない
> ・読み込むBonDriverをまとめるのは視聴用のアプリに使う時だけ
> 辺りが無難な使い方かなと思ってます
のとおりにして、必要なボンドラ選択肢の数ぶん、サーバのBDPEX.iniに書き込めばいいだけでは

549:名無しさん@編集中
15/12/06 14:00:21.03 KEQVp3g0.net
>>504と似た使い方してるが
②のSplitter.dllを複数用意しなくても①が余ってる限り自動で処理してくれれば最高

550:名無しさん@編集中
15/12/06 14:07:24.78 HqWJ6gdA.net
書き込んだあと気付きましたが、当方でも例えば、
EDCBにてプロキシ経由、スプリッタ経由無しぼんどら単独(例えばS0.dll)、ロックあり設定で録画中に
TvTestにてプロキシ、スプリッタ経由有り、ぼんどら複数まとめ、ロック無し設定でアクセスすると、空いてるぼんどらS1.dllをよまずに映像出ません。(スプリッタ経由しないと空きを選んで映像出る)

551:名無しさん@編集中
15/12/06 15:23:43.13 9qKX4C4y.net
いまだにスプリッターの使い方がようわからんので上の何言ってるんかさっぱりだわ

552: ◆SALrG1ld3mTc
15/12/06 17:51:19.58 14qZP+hH.net
>>504
現状サーバがロードしたBonDriverに現在のクライアントのCHANNEL_LOCK値を渡す手段は存在しておらず、
また、そのロードしたBonDriverがBonDriver_Proxy.dllだった時に、それが複数のクライアントから
共有されている場合は、CHANNEL_LOCK値をどのタイミングでどう変化させるかも考慮する必要がありそうなので、
若干変更点が多くなりそうです…
ちょっとやり方を考えてみますが、こりゃ無理だわとなるかもしれません(;´Д`)あまり期待しない方向でお願いします

553: ◆SALrG1ld3mTc
15/12/06 17:55:04.87 14qZP+hH.net
ちなみに、もしサーバ側の録画ソフトに流れるTSがスプリット済みでも良いのであれば、
// サーバ側BonDriverProxyEx.ini
---
[OPTION]
ADDRESS=0.0.0.0
~略~
[BONDRIVER]
00=PT-T;BonDriver_Splitter_PT-T0.dll;BonDriver_Splitter_PT-T1.dll
01=PT-S;BonDriver_Splitter_PT-S0.dll;BonDriver_Splitter_PT-S1.dll
---
// サーバ側BonDriver_Splitter_PT-T0.ini
---
[OPTION]
USESERVICEID=1
~略~
[BONDRIVER]
00=BonDriver_PT-T0.dll
---
↑をT0,T1,S0,S1用でそれぞれ用意
ここまでで、例えばPT-Sに接続した場合に、スプリット済みのTSが流れてくるので、
// サーバ側録画ソフト等が使うBonDriver_Proxy.dllのコピー
---
BonDriver_Proxy_PT-S.dll -> CHANNEL_LOCK使って127.0.0.1のPT-Sに接続
BonDriver_Proxy_PT-T.dll -> CHANNEL_LOCK使って127.0.0.1のPT-Tに接続
---
続く

554: ◆SALrG1ld3mTc
15/12/06 18:03:29.46 14qZP+hH.net
>>511の続き
// クライアント側BonDriver_Splitter_PT.ini
---
[OPTION]
USESERVICEID=0
~略~
[BONDRIVER]
00=BonDriver_Proxy_PT-S.dll
01=BonDriver_Proxy_PT-T.dll
---
↑スペース定義はサーバ側のBonDriver_Splitter_PT-S0.iniとBonDriver_Splitter_PT-T0.iniからの
 ほぼコピーで大丈夫なハズ(T側の対象BonDriverNoの書き換え忘れにだけは注意)
// クライアント側BonDriver_Splitter_PT.dllが使うBonDriver_Proxy.dllのコピー
---
BonDriver_Proxy_PT-S.dll -> CHANNEL_LOCK=0でサーバIPアドレスのPT-Sに接続
BonDriver_Proxy_PT-T.dll -> CHANNEL_LOCK=0でサーバIPアドレスのPT-Tに接続
---
こんな感じの設定で、だいたい目的とする動作にできるんじゃないかと思います
この設定でのネガな点としては、既にスプリット済みのTSが録画ソフトに流れる為、もし録画ソフトが賢くて、
同一トラポンの複数サービスの録画を1チューナで行うような機能を持っていたとしても、
その機能が使えない(==チューナ数の節約をできない)点が挙げられます
また、普段の録画動作でEMM処理を行っている場合は、サーバ側のスプリッタでEMMを削除できない
(==BonDriver_Splitterでのネットワークトラフィック削減効果が若干落ちる)点もありますね
この辺のネガな点が無視できるかどうかは、個人の録画環境や運用スタイル次第でしょうね

555: ◆SALrG1ld3mTc
15/12/06 18:21:02.09 14qZP+hH.net
>>508
おお、なんだろう
クライアント側でBonDriver_Splitterでまとめても、結局はBonDriver_Proxyがサーバ側に
例えばPT-Sの空きをよこせ、と言う形でアクセスするはずなので、その辺は違いはないはずなんですが…
今手元でEDCBの代わりにTVTestを使って簡易的に試してみましたが、一応期待通りの動作をしているようです
詳しい設定内容を書いてもらえると何かわかるかもしれませんヽ(;´ー`)ノ

556:名無しさん@編集中
15/12/06 19:48:21.51 HqWJ6gdA.net
>>513
>クライアント側でBonDriver_Splitterでまとめても、
すみません、クライアント側でSplitter.dllは使用しておりません
当方の設定は
サーバ側BonDriver_ProxyEX.ini
[BONDRIVER]
00=PT-S0;BonDriver_PT-S0.dll
01=PT-S1;BonDriver_PT-S1.dll
02=PT-T0;BonDriver_PT-T0.dll
03=PT-T1;BonDriver_PT-T1.dll
04=PT-S;BonDriver_PT-S0.dll;BonDriver_PT-S1.dll
05=PT-T;BonDriver_PT-T0.dll;BonDriver_PT-T1.dll
06=PT-SP-S0;BonDriver_Splitter_PT-S0.dll
07=PT-SP-S1;BonDriver_Splitter_PT-S1.dll
08=PT-SP-T0;BonDriver_Splitter_PT-T0.dll
09=PT-SP-T1;BonDriver_Splitter_PT-T1.dll
10=PT-SP-S;BonDriver_Splitter_PT-S0.dll;BonDriver_Splitter_PT-S1.dll
11=PT-SP-T;BonDriver_Splitter_PT-T0.dll;BonDriver_Splitter_PT-T1.dll
ドライバスペース定義をサーバ側にこれだけ作り、
クライアント側ではスペース定義をiniファイルに設定した
BonDriver_proxy_”スペース定義名”.dllを必要な分用意することで
ドライバを選択使用する()
EDCB
\\BonDriver
BonDriver_Proxy_PT-S0.dll
~略~
BonDriver_Proxy_PT-T1.dll
TvTest
BonDriver_Proxy_PT-SP-S.dll
BonDriver_Proxy_PT-SP-T.dll
こんな感じで使っています(EDCBはサーバ自身にあり、Bon_Proxy経由設定です)
EDCBと同設定をひとつのTvTestに設定して試してみました。同様の状態になります

557: ◆SALrG1ld3mTc
15/12/06 21:35:05.09 14qZP+hH.net
>>514
ああ、なるほど…
BDPEXは別のグループに設定されたBonDriverは互いに関係が無いと言う前提で動作しているので、
>>514の設定で言うと、PT-S0を誰かが使っている時に別の誰かがPT-Sをリクエストしてきた場合、
まずはBonDriver_PT-S0.dllを使おうとするでしょう
この場合どうなるかはBonDriverの種類によりますが、基本的にこの状態は避けるようにして下さい…
URLリンク(github.com)
↑は無印BDPでの注意書きですが、BDPEXでも同じです
仮に現在それで動いているようにみえても、その状態は多分危険です
具体的には、EDCBもPT-SやPT-Tを使うようにして、EDCBの設定でそれらのチューナ数を2にするなどの方法で
対処する感じになると思います

558: ◆SALrG1ld3mTc
15/12/06 21:39:27.12 14qZP+hH.net
さて、BonDriver_Splitter_PT-S0.dllの先にはBonDriver_PT-S0.dllがいるのだと思いますが、この場合も同様です
クライアントとしてEDCBがPT-S0を使っているだけの時に、TVTestがPT-SP-Sをリクエストすると、
BDPEXはBonDriver_Splitter_PT-S0.dllを割り当ててロードする事になりますが、BonDriver_Splitterの構造上
これはまず成功します
しかし、実際にチャンネルを変更しようとした際にBonDriver_PT-S0.dllをロードしてCreateBonDriver() ->
OpenTuner() -> SetChannel()しようとするので、恐らくこのどこかで失敗しているのでしょう
いずれにせよこの状態も、同じBonDriver(BonDriver_PT-S0.dll)を同一プロセス(BonDriverProxyEx.exe)から
読み込んでいる状態になるので、上で書いたのと同じく危険であり、避けるようにして下さい
つまるところ現状では、サーバ側で録画ソフト等にはスプリットされていないTSを供給し、
それと同じBonDriverからクライアント側にはスプリットされたTSを送信すると言う事はできないと言う、
かゆいところに手が届かない仕様となっております(;´Д`)

559:502
15/12/06 22:12:08.25 QLIN6an7.net
>>510
あくまで主は録画動作で、
クライアントへの配信がちょっと便利になるといいなって程度なので
検討いただけるだけで感謝です。
よろしくお願いします。

560: ◆SALrG1ld3mTc
15/12/06 22:55:36.78 14qZP+hH.net
>>517
もしかしてやりたい事は、
「サーバ側で録画ソフト等のローカルクライアントにはスプリットされていないTSを供給し、それと同じBonDriverを
 使用してネットワーク越しのクライアントにはスプリットされたTSを送信しつつ、チャンネルロックの設定も
 普通に機能して欲しい」
でしょうか?
もしそうなら、BonDriver_Splitterのみへの小変更で行けそうな気がしています
具体的には、1チャンネル1サービスモードを適用するかどうかをBonDriver_Splitterで定義するスペース毎に
設定できるようにする事を考えていて、例えばSPACE00と01は1チャンネル1サービスモードのBSと110CS、
SPACE02と03はパススルーモードのBSと110CSみたいに設定して、録画ソフトはSPACE02と03を使い、
ネットワーク越しの視聴ソフトはSPACE00と01を使うと言う感じの使い方を想定しています
これならすぐ対応できそうですが、どんなもんでしょうか?

561:512
15/12/06 23:13:13.92 HqWJ6gdA.net
>>515
詳細な説明いたみいります
>>339 レスあたりのことしちゃってますね(;´Д`)
ReadMeは読んでましたが理解していませんでした(;´Д`)
(特にインスタンスの共有)
当方ではSplitterで削るメリットが優先なので
>>346 どおりにクライアント側Splitterでガリガリする運用設定
にしてみます。ありがとうございました

562:名無しさん@編集中
15/12/07 00:29:06.24 zv9y8XdK.net
>>518
できればローカルの録画側はシンプルな構成がいいので、
BonDriver_Splitterを挟みたくないですね。
理想を言えば
従来のBonDriverProxyEx.exeのチャンネル割り当て後、
クライアント側のBonDriver_Proxy.dllにSplitしてくれという設定がされていれば、
配信前にBonDriverProxyEx.exe内でSplitして送信してもらえると
複数のBonDriver_Splitter.dllやBonDriverProxyEx.exeが2つ
いらずシンプルに構成できていいかなと思います。

563: ◆SALrG1ld3mTc
15/12/07 07:33:21.24 UGep1o/i.net
>>520
> クライアント側のBonDriver_Proxy.dllにSplitしてくれという設定がされていれば、
> 配信前にBonDriverProxyEx.exe内でSplitして送信
現在の実装の都合的にこれはちと難しいです(;´Д`)
クライアントがTS分離を要求していたとして、あるBonDriverのあるスペース/チャンネルに
チャンネル変更した際に、クライアントにどのサービスを送信すれば良いのか、現状BDPサーバ側では
知る手段がありません
一応、BDPクライアントの設定項目を大幅に追加/変更し、BDPの通信プロトコルも一部変更すれば
そこはクリアできる可能性も出てきますが、次のハード�


564:汲ニして、クライアントAとクライアントBが 同じBonDriverを要求していて、かつAはTS分離を要求、Bはそのままを要求している場合、 クライアントAのチャンネルnとクライアントBのチャンネルnは対象BonDriverに対しては異なる チャンネルになる場合が出てくる為、チャンネル共有を行うにはBDPサーバ内部でかなりごちゃごちゃと 対応とる必要が出てくる感じです BDPのアーキテクチャ的にも、そもそもその名の通りクライアント側からサーバ側のBonDriverへ なるべく透過的にプロキシ接続すると言うのがモットーなので、BDPサーバ内部であれこれやるのは できれば避けたいところなのですヽ(;´ー`)ノ



565:名無しさん@編集中
15/12/07 08:06:51.44 WEXhPXgZ.net
まあこれは正直しょうがないとおもう

566: ◆SALrG1ld3mTc
15/12/07 19:21:10.75 UGep1o/i.net
とりあえず>>518に関しては、それができて困る事は無さそうなのでBonDriver_Splitterを更新しておきました
USESERVICEIDが[OPTION]での設定から各スペース毎での設定に移動しています
今までのバージョンからこのバージョンに乗り換える場合は、すみませんが現在ご使用のiniの内容変更をお願いします
スペース定義でUSESERVICEIDが設定されていない場合のデフォルト値は1なので、今までの物をUSESERVICEID=0で
使っていた人は特にご注意ください…
なお、サンプルのiniの設定は難視聴を削除したバージョンのBonDriver_PT-S.ChSet.txtに
あわせて更新しておりますので、こちらについてもご注意くださいヽ(;´ー`)ノ

567:名無しさん@編集中
15/12/07 19:52:34.49 uKLmWuWD.net
エエー
めんどくさw

568: ◆SALrG1ld3mTc
15/12/07 20:59:07.60 UGep1o/i.net
スミマセン(;´Д`)
一応、機能的には>>518ができるようになっただけの違いなので、こういう使い方が不要な方は
必ずしも乗り換える必要はありません
なお、iniの内容変更はUSESERVICEIDの行を各スペース定義に機械的に追加するだけですので、
多分30秒くらいあれば終わる作業かと思います…

569:名無しさん@編集中
15/12/07 22:02:40.05 1tpwsUgy.net
もしかして結果的に>>339ができるようになったのかな(ゴクリ

570:名無しさん@編集中
15/12/07 22:05:32.67 2gWgEEkj.net
これは大歓迎。ありがたいです。

571:名無しさん@編集中
15/12/07 23:13:17.00 yuM9d50s.net
Bondriverproxy_linuxだけど
./sample -b /home/chinachu/BonDriverProxy_Linux/BonDriver_Proxy-T.so -s 0 -c 15 -t 5 test.tsで試したら
意味不明な文字列が流れまくった後に
TS Queue OVERFLOW : size[64]
こんなの出て停止する...

572:名無しさん@編集中
15/12/08 00:50:18.50 u8Wl3AlJ.net
>>528
それ多分標準出力に出力されてる
sampleのファイルへの保存オプションは-oだよ
./sample -b /home/chinachu/BonDriverProxy_Linux/BonDriver_Proxy-T.so -s 0 -c 15 -t 5 -o test.ts

573:名無しさん@編集中
15/12/08 00:54:31.69 JbbtGHow.net
標準出力にバイナリ垂れ流すって、普段Windows使う上であまり遭遇しないからねぇ

574:名無しさん@編集中
15/12/08 01:06:00.20 XjLk9OUQ.net
>>529
ありがとうございますm(_ _)m

575: ◆SALrG1ld3mTc
15/12/08 22:12:23.14 p7sWjTEt.net
>>526
BonDriver_Splitterを噛ませる必要がありますが、クライアントが録画ソフトの場合は生TSを、
視聴用ソフトの場合はサービス指定されたTSを送る事ができる、と言う感じですね
ただしもちろん、視聴用ソフトがチャンネルロックせずに視聴中に録画ソフトがチャンネルを持って行った場合、
視聴用ソフト側にも生TSが送られるようになります
要は単に、生TSが流れるチャンネルとサービス指定されたTSが流れるチャンネルとが別々に存在している状態に
できると言うだけですヽ(;´ー`)ノ

576:名無しさん@編集中
15/12/08 23:32:16.40 r118EW6i.net
同時に違う内容のTSを流せるわけではないということですね

577:名無しさん@編集中
15/12/13 09:55:46.22 jLMqAbND


578:.net



579:名無しさん@編集中
15/12/13 09:56:40.41 jLMqAbND.net
あああ。間違えた。

580:名前:名無しさん@編集中
15/12/13 12:35:21.36 UuAvMx/x.net
>>535
なんだとぉー、適切に謝罪しろ

581:名無しさん@そうだ選挙に行こう
15/12/14 12:20:32.21 jLiqrzD/.net
            __、
     ,r´⌒ヽ,⌒ヽ,ヽ
   (⌒)、   .人  λ\、 .NHK___
    \. \    、 ヽ./ ー  ー\
     |\ \    ヽ./ ( ●) ( ●)
     |  \  \ /     (__人__) \  はいはい、どーもすみませんでした
     |.   \   |       ` ⌒´   |
  .   |.   |.\_ノ\            /
  .   |.   |   |   \______/
  .   |   )  .|     . . ̄ ̄
  .   |   |  .|
     |   |.|  .|
  .   |  | .| .|
     /  / / ヽ,
    (__ノ  ヽ、__つ

582:名無しさん@編集中
15/12/15 09:35:02.37 ri5RDlwB.net
NASベースのにUSB接続のBSCSチューナーをつける方向から
いかにPCIeを引き出してPT3付けるかという方向に倒れてしまった。
けど、USBチューナーのドライバ作ってる人頑張って。

583:名無しさん@編集中
16/01/16 16:34:58.95 Eo5lDrqX.net
BonDriverProxyで他PCのクライアントに配信している時に
サーバー側のWindowsで設定したスリープ移行時間になると
他PCへ配信中にもかかわらずサーバー側がスリープに入ってしまうのですが
配信中にスリープを抑制するにはどうすればいいでしょう?

584:名無しさん@編集中
16/01/17 01:51:52.84 d/YGes89.net
>>539
URLリンク(www.vector.co.jp)
こういうソフトで上手く動いてるときにだけ抑制出来るようにするとか?
確実に連携したいならソフトでの対応だろうけど
一度スリープしてしまうと、他のPCから新規に繋げなくなるし難しいところだね

585:537
16/01/17 12:18:19.24 5DrQmEj7.net
>>540
ありがとうございます
やはり他のソフトを使わないと難しい感じですかね
他PCからのスリープ状態からの起動はWOLがあるのでなんとかなるとは思います

586:名無しさん@編集中
16/01/17 13:31:51.91 d/YGes89.net
んじゃあまあ、作者待ちってことでね

587:名無しさん@編集中
16/01/17 19:42:08.23 bVAMDGP2.net
さすが作者さん速いね。
URLリンク(github.com)

588: ◆SALrG1ld3mTc
16/01/17 20:11:01.03 0A8sOHX/.net
おや、既に書いてもらってましたか
さっきバイナリも更新しておきました
ただwin8.1環境でのテストしかできていないので、ちゃんと動かねーよ的な場合は
ご報告いただけると助かります
確かに配信中なのにスリープに入ってしまうのは不便ですよね
当方普段はptTimerを使っており、BonDriver_ptmrを使う限りこの辺りの挙動はptTimer本体が
良きにはからってくれてたので気付いてませんでしたヽ(;´ー`)ノ失礼しました

589:名無しさん@編集中
16/01/17 20:19:39.65 kbpSPJF1.net
何を使ってもvlcがエラーを吐いてエンコを止めてしまう環境の俺には関係無かった。w
グハァッ

590:名無しさん@編集中
16/01/17 20:20:12.06 kbpSPJF1.net
ごめん、スレ間違えた。
ヽ(;´Д`)ノ

591:537
16/01/17 21:06:10.12 5DrQmEj7.net
>>544
おお!早速の実装ありがとうございます!
滅茶苦茶嬉しいです!

592:名無しさん@編集中
16/01/20 20:06:11.15 1UIy46ve.net
EDCBのネットワークTV使ってごまかしてたけど、これで気軽にTVTestから使える
嬉しいわー

593:名無しさん@編集中
16/02/11 13:51:03.36 SncJ23/p.net
これ凡に見えるの、俺だけじゃないよなw
URLリンク(av.watch.impress.co.jp)

594:名無しさん@編集中
16/02/11 14:01:40.48 OEbG9ylZ.net
マンマンに見える

595:名無しさん@編集中
16/02/11 15:10:51.00 RXHyJtmW.net
同時代を共有した感が湧いてくると同時に、
こいつムサビのアレと同じで無能じゃねって思う

596:名無しさん@編集中
16/02/15 16:32:45.51 JM/KucHa.net
PT2の場合は、SDKのバグがあるので、
OPENTUNER_RETURN_DELAY=0

OPENTUNER_RETURN_DELAY=10
にしないとダメだったのかww

597:名無しさん@編集中
16/02/20 17:01:52.29 zf9uE+KI.net
abt8WGさんのEDCBビルドしてEpgTimer起動したら、
---------------------------
---------------------------
同一のキーを含む項目が既に追加されています。
場所 System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
場所 System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
場所 EpgTimer.GridViewSelector..ctor(GridView gv, List`1 setting)
---------------------------
OK
---------------------------
ってメッセージが出る。
何だかよくわからん。

598:551
16/02/20 17:02:31.65 zf9uE+KI.net
ごめん。
スレ間違えた。

599:名無しさん@編集中
16/03/02 12:55:52.81 cXspTCix.net
BonDriverProxy.iniに設定するアドレスってサーバー側のアドレスと思うんだけど、これはどんな仕組みなの?
許可するクライアントのアドレスだと思い込んでて設定にはまってた

600:名無しさん@編集中
16/03/02 13:09:40.35 jXHtiEjE.net
>>555
サーバー側のは公開するネットワークインターフェースのIPアドレス

601:名無しさん@編集中
16/03/02 13:43:40.81 zWPZttlR.net
>>555
待ち受けるアドレスを決める
BonDriverProxyが稼働しているPC(サーバー)の
Network Interfaceが1つとは限らないし、全てがローカルネットワークとは限らないから

たとえば、そのPCがローカルIPの10.0.1.1と192.168.1.1と、
グローバルIPの157.xx.xx.1を持っていたとしたら
192.168.1.1に接続してるネットワークからのアクセスのみ応答するとか出来る。

そうしないと、予期せぬネットワークからアクセスされる恐れがあるから。

602:名無しさん@編集中
16/03/02 15:53:15.72 vAe1oFfg.net
BondriverProxy_Linux 待ち受けるアドレスnat越しでも動くようにして欲しい
ホストでポートフォワードして、ホストと同じネットワークにあるマシンからアクセスできるようにしても、
ipが違うからアクセス出来ない

603:553
16/03/02 19:08:12.54 cXspTCix.net
>>556-557
そういうことか、すっきりした
ありがとう

604: ◆SALrG1ld3mTc
16/03/03 22:31:18.15 YM/9CK66.net
>>558
bdpが使うのは(wolパ�


605:Pット以外は)サーバ向きのtcpポート1つだけなので、ポートフォワードが正しく設定されているなら アクセスできると思いますよ 例えばsshでトンネル掘るとすると、まずbdpサーバが動いているマシンでsshdを動かし、そこに外部からsshできるように natルータに穴開け設定をして、次にbdpサーバに接続したいと考えている外部のクライアントから、 $ ssh -fNL 1192:127.0.0.1:1192 -p xxxxx hoge@xxx.xxx.xxx.xxx とかやってトンネルを掘り、この状態でBonDriver_Proxy.so.confのADDRESSを127.0.0.1、PORTを1192にして、 $ ./sample -b ./BonDriver_Proxy.so -s 0 -c 0 -t 15 -o ./test.ts とやれば繋がるんじゃないでしょうか



606: ◆SALrG1ld3mTc
16/03/03 22:33:57.50 YM/9CK66.net
なお、natルータに直接bdpサーバのポートに向けて穴開けしないのは、sshに認証と通信の暗号化を行わせるのが目的です
#そうしておけば万が一にも公衆送信だと言われずに済みますヽ(;´ー`)ノ
あと、sshdではパスワード認証は無効にして、natルータが外部公開するポートも22以外に変えておくのがお勧めですよ

もちろんルータにVPN機能があるのならそれ使うのも良いですね

もっともどうやるにしろ通信量が凄い事になると思うので、NGN網内折り返しだとか以外では、WANからの使用はなるべく
避けた方が良いのではないかと思いますヽ(;´ー`)ノ

607:名無しさん@編集中
16/03/04 00:26:31.06 MJxRRJJ5.net
>>561
作者さんですか、使わせてもらってます
>>558 の文章読んだら大事なことが抜けてますね,後出しでごめんなさい

Dockerで動かして nat がーという状況になってます
Dockerのホスト側(他に外から繋ぎたいマシンと同一ネットワーク上にある)は、
仮想ブリッジdocker0を通じてDockerコンテナ(bdp を動かすクライアント)にアクセスできます
ホストには 実ネットワークの192.168.1.x と docker0 の 172.17.0.1 のipが割り当てられます

bdp を動かすコンテナには、 docker0 の 172.17.0.x が割り当てられます
コンテナ側からは eth0 に 172.17.0.x が割り当てられているように見えます
コンテナからホスト外へのアクセスは docker0 を経由した nat になります

Docker にはコンテナのポートをホストのポートにポートフォワードする機能が用意されてまして、
コンテナの特定のポートをホストにフォワードできます

以下の状態で動かしてみました
host側 : 192.168.1.2, 172.17.0.1
bdpコンテナ : 172.17.0.2
hostと同じネットワークにあるクライアント : 192.168.1.3

bdpコンテナのport 1192 を host の 1192 にフォワーディングしてます

dbpコンテンツ側コマンド ./BonDriverProxy 172.17.0.2 1192

クライアント側コマンド ./sample -b ./BonDriverProxy.so (以下略、実際はrecbondで動かしました)
confの ADDRESS は192.168.1.2、 PORT は 1192 です
ホストで直接動かして、クライアントで受信したのは確認してます
あと、nginxとかで本当にフォワードできているのかも確認してます

どのように動かしたか伝わったでしょうか?
ネットワーク素人なので、何言ってんだこいつみたいになってるかも知れません
長文で分かりにくい文章ですいません

dockerで試してもらうと分かりやすいとは思います

608:名無しさん@編集中
16/03/04 00:58:14.06 rATR0Kta.net
>>562

横からですが…

# サーバは無制限で待受
/BonDriverProxy 0.0.0.0 1192

# iptablesでクライアントを制限
iptables -N BDP
iptables -A INPUT -p tcp -m tcp --dport 1192 -j BDP
iptables -A BDP -s 192.168.1.0/24 -j ACCEPT
iptables -A BDP -s 172.17.0.0/24 -j ACCEPT
iptables -A BDP -j DROP

こんな感じでどうでしょう?

609: ◆SALrG1ld3mTc
16/03/04 08:02:30.51 KfUuLiII.net
>>562
なるほど、dockerでしたか
そう言えばdockerは普通にコンテナ起動したら、コンテナ自身のeth0に割り当てられるアドレスは制御できないんでしたね
そう考えると確かにコンテナ内でbdpサーバを動かす際のアドレス指定は迷ってしまいそうですね…
ただ、コンテナ内で使う場合は


610:変な場所からのアクセスは考えなくても良いと思うので、>>563さんが書いて下さってる様に、 bdpサーバの起動時に0.0.0.0を指定すれば良さそうです あと、bdplサーバはデバッグビルドしない限りは自分自身でデーモン化してしまうので、 $ docker run -d -p 1192:1192 bdpl /bin/sh -c "/usr/local/bdpl/BonDriverProxy 0.0.0.0 1192;while true;do sleep 1;done" みたいな感じで起動しないとコンテナが即終了してしまうかもしれませんヽ(;´ー`)ノ



611:名無しさん@編集中
16/03/04 13:23:50.16 MJxRRJJ5.net
>>563
>>564
0.0.0.0 で無制限で待受できたの知らなかったです(お恥ずかしい)

>あと、bdplサーバはデバッグビルドしない限りは自分自身でデーモン化してしまうので、
>$ docker run -d -p 1192:1192 bdpl /bin/sh -c "/usr/local/bdpl/BonDriverProxy 0.0.0.0 1192;while true;do sleep 1;done"
みたいな感じで起動しないとコンテナが即終了してしまうかもしれませんヽ(;´ー`)ノ

それは問題ないみたいですね、コンテナ起動時にbdpを起動させてますがコンテナは動いたままです

0.0.0.0 待受で解決できました、
いろいろと教えて頂きありがとうございました

612:名無しさん@編集中
16/03/04 13:47:15.39 kuOKz1lo.net
ちょっと上読めば0.0.0.0については書いてあるのに・・・…

613:名無しさん@編集中
16/03/07 18:30:21.56 FDfvLRDA.net
ちょっと上なんて読まないしなw

614:名無しさん@編集中
16/03/07 20:27:03.48 zfW2NTKW.net
すごい上を読めば解決!

615:名無しさん@編集中
16/04/02 08:55:48.44 L0qQWffX.net
BonDriver_Splitter使ってるの忘れて、CSの設定変更ハマった。

616:名無しさん@編集中
16/04/16 14:58:14.95 g6ux6f4K.net
止まってるな

617:名無しさん@編集中
16/04/16 19:10:38.49 8rO1+82p.net
BonDriverProxy_Linuxの作者様
便利に使わせて頂いてます。ありがとうございます。

ところで要望なのですが、Linuxでの、Windows版Splitterのようなものをご作成いただけませんでしょうか。
現在、Linuxでもコマンド版のSplitterは作成されているのですが、これだと
Linuxマシンにチューナーを積んで、ネットワーク越しに視聴・録画するような用途では
使うことができません。
また、チャンネルやチューナー空間も自由に設定できる方が便利かと思います。

BonDriver_LinuxPT,DVBには同等の機能が盛り込まれているので、
これらを使う場合には問題はありませんが、実はDigibest用のBonDriverを
作成しようと思っておりまして。

ご検討いただけましたら幸いです。

618:名無しさん@編集中
16/04/17 12:38:35.73 Qu3iUyuy.net
よくわかんないけどGUI版のTSSplitterなら
wineで完動するよ。

619:名無しさん@編集中
16/04/17 14:32:51.86 pE7aYc1r.net
いやそうじゃなくてLAN/WANの通信量を減らしたいから根元でどうにかしてくれって話でしょ
いまの状態じゃBondriverが対応していないとダメだし柔軟性が無いからサーバーあたりに組み込んでくれって事じゃないかな
Bondriver仕様を拡張してクライアント側からどのストリームを抽出するか選択できるようになれば
CSのように1つのチューナーで複数のチャンネルが受信できる場合なら多クライアント側からはそれぞれ別チャンネルを受け取ることが出来る

620:名無しさん@編集中
16/04/17 19:20:12.99 U1FXDpvc.net
pid filterか

621: ◆SALrG1ld3mTc
16/04/18 07:06:11.00 cCvnzIk1.net
>>571
なるほど、了解です
設定ファイルのフォーマットをちょっと検討する必要がありそうですが、とりあえず考えてみます
少々お待ちください…


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch