■ このスレッドは過去ログ倉庫に格納されています
BonDriver共有ツール総合 その2
- 1 :名無しさん@編集中:2015/04/07(火) 20:25:07.03 ID:n6IDd8Gi.net
- BonDriver共有ツール総合
※前スレ
http://peace.2ch.net/test/read.cgi/avi/1366339738/
- 2 :名無しさん@編集中:2015/04/07(火) 21:08:05.62 ID:4hZdgRK5.net
- スレ立ておつ
- 3 :名無しさん@編集中:2015/04/08(水) 03:58:12.13 ID:haLLZEiy.net
- 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
- 4 :名無しさん@編集中:2015/04/08(水) 04:00:56.50 ID:haLLZEiy.net
- ・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 / BonDriver_RemoteTuner
ソース付き、2Kとかの古い環境でも動く
Spinel使ってみたいけどXPで.NET Frameworkなんて入れたくない人とか
ソースいじって自分好みに改造して使いたい人向け?
- 公式サイト - http://www.pine.mynetwork.org/WebNote/Note.aspx?gr=DTV&id=1ZTUKFU6F96L8
- 対応製品 - BonDriverが利用できるもの全般
- 入手方法 - サーバー公式サイトより入手可能。
・BonDriver_RDCT ( BonDriver_Reduction )
BonDriverのカプセル化、BonDriver_SpinelをEDCBで利用時のマジックパケット対策等
- 公式サイト - なし
- 対応製品 - BonDriverが利用できるもの全般
- 入手方法 - http://www1.axfc.net/uploader/search.pl?search_str=BonDriver_RDCT&sort=1&sort_type=uid&sort_m=DESC より入手可能。
- 5 :名無しさん@編集中:2015/04/11(土) 22:17:36.10 ID:r1tPqoEp.net
- 前スレ>>968さん
とりあえずやっつけですがBonDriver_Splitterと言うのをつくってみました
https://drive.google.com/folderview?id=0B-b35lIwjw6ybzV5QU9DWkJLUWc
このBonDriverのあるスペース/チャンネルを、別のBonDriverのどのスペース/チャンネルに割り当てるかを
設定ファイルで指定する方式です
スプリッタ機能を使う場合は、更にサービスIDを指定する必要があります
その際、指定されたBonDriverのスペース/チャンネルからのTSストリームに指定サービスIDが含まれているか
どうかのチェックなどは行っておらず、単に指定されたサービスIDのデータをそのTSストリームから
取得しようとするだけなので、設定を間違えると全くデータが送られてこなくなります
こまかな使い方は設定ファイルのサンプルの中をみてください
一応サンプルにはBonDriver_PTを使う設定例を書いてるので、BonDriver_PTやBonDriver_PT3を使ってるなら
多分そのまま使えるんじゃないかとは思います…
- 6 :名無しさん@編集中:2015/04/11(土) 22:40:26.74 ID:r1tPqoEp.net
- なお、チャンネル変更時にBonDriverの切り替えが発生する場合には、まず現在使用中のBonDriverを解放して、
切り替え先BonDriverをロード->CreateBonDriver()->OpenTuner()->SetChannel()とやるようになっています
この為、一応機能上は3波とか4波とかにも出来はしますが、BonDriver切り替えを伴うチャンネル変更のレスポンスは、
結局手で切り替えた場合と同じです
#この切り替え処理のどこかでエラーになった場合は、アプリにはチャンネル変更失敗として返ります
また、BonDriver_Proxy等のクライアント側BonDriverを読み込ませた場合、他のクライアントの
チャンネル変更に引きずられると、対象サービスIDがストリームから消滅する事になると思うので、
その様な状況が起こり得る環境でクライアント側で使う場合は、スプリッタ機能は使用しない方が無難でしょう
#そもそもこの機能の用途はネットワークトラフィックを削るとか、サーバ側でCAS処理実装してる場合の
#カードへの負荷削減とかでしょうから、クライアント側でサービス指定したい事なんて無い気もしますが…
当方的には、
・サーバ側で使う場合はスプリッタ機能を有効にして読み込むBonDriverとは一対一の関係に
・クライアント側で使う場合はスプリッタ機能は使わない
・読み込むBonDriverをまとめるのは視聴用のアプリに使う時だけ
辺りが無難な使い方かなと思ってます
- 7 :名無しさん@編集中:2015/04/12(日) 01:13:05.23 ID:HQTVwwPC.net
- >>5
うおぉぉぉ〜!前スレ968です!ありがとうございます!
サービス指定以外にBondriver統合までとはすごいです。
とりあえずiniをえっちらおっちら設定してローカルで確認しただけですが転送量の減少を確認しました!
目視ですが、CSは劇的に数分の1、BSはチャンネルによってですが3〜4M、そして一番使う地デジが1〜2M軽くなっています!
地デジはサービス限定しても変わらないかなと思っていましたがワンセグを削っていただけたのですね、ありがとうございます!
ちょっと気になった点としましては、まだiniのDELは空白のままなのですがTvTest0.9のチャンネル選択の横に番組名がでません。
これからじっくり煮詰めていこうと思います(TOTは絶対必要なのですが選択できるようになっていてうれしいです)
BondriverProxyとの連携もゆっくり試していこうと思います。取り急ぎ動作確認ということで。本当にありがとうございました。
- 8 :名無しさん@編集中:2015/04/12(日) 15:19:30.71 ID:RlBwM6rx.net
- BonDriver_Splitterだけど「1チャンネル1サービスモード」無効にして使えてる人います?
有効にすると無問題だけど無効にすると以下のメッセージが表示されエラーに・・・。
"BonDriver_Splitter_TS3.dll" が読み込めません。
エラーコード: 1114
Windowsのエラーメッセージ :
ダイナミック リンク ライブラリ (DLL) 初期化ルーチンの実行に失敗しました。
BonDriver_Splitter.iniの
> 1チャンネル1サービスモードで使う場合の設定例
の一覧をコメントアウトして
> 1チャンネル1サービスモードを使わない場合の設定例
に付いていたコメントアウトは削除したんだけど、何か見落としてるのかなorz
- 9 :名無しさん@編集中:2015/04/12(日) 16:36:15.93 ID:PUOH7oi4.net
- BonDriverProxyExがだいぶ更新されているので久しぶりにb25。
http://pastebin.com/832ADATk
Credit goes to deadbeef2
- 10 :名無しさん@編集中:2015/04/12(日) 17:36:23.97 ID:PUOH7oi4.net
- >5
PT2x64とTVTestx64で使ってみようとしたけど
チャンネル切り替えを受け付けないエラーでチャンネルスキャンもできない。
すべてデフォルトなんだけど何がおかしいんだろう。
- 11 :名無しさん@編集中:2015/04/12(日) 18:03:27.47 ID:s7fyIlDp.net
- >>7
地デジで削れるのは、ワンセグ分もありますがどっちかと言うとデータ放送削ってる影響の方が多いのかなと
#と言うか、データ放送を残すかどうかをオプションにするのを忘れてました(;´Д`)必要そうなら追加しますが…
>>8
恐らくですが、[OPTION]のUSESERVICEIDを0に変更し忘れているのではないかと…
設定ファイルパースの段階で明らかに間違っているのがわかった場合は、dll自体を読み込めなくして中途半端に
動いてしまわないようにしているのですが、USESERVICEIDが1の状態で
> 1チャンネル1サービスモードを使わない場合の設定例
を使おうとするとサービスID指定が足りないので必ずエラーになるようになってます
- 12 :名無しさん@編集中:2015/04/12(日) 18:12:44.99 ID:s7fyIlDp.net
- >>10
当方でも、PT2のドライバとSDKを古いのでテストしてた時、BonDriver_PTで使うとBonDriver_PTのOpenTuner()が
時々失敗する事があり、原因を追ってみるとPT1/2 SDKのEARTH::PT::Device::Open()が失敗していました
#STATUS_DCM_SHIFT_TIMEOUT_ERRORが返ってきます
SDK内部でのエラーなのでどうしたもんかと思ってたんですが、とりあえずPT2のドライバとSDKを最新版に
更新してみたらそれ以来再現しなくなっています
もしまだ古いドライバ/SDK使ってるのなら、試しに最新版に更新してみるとどうでしょうか
またなんとなくですが、PT1Ctrlをサービス登録すると大丈夫かもと思ってますが、未確認です
- 13 :名無しさん@編集中:2015/04/12(日) 19:02:04.23 ID:RlBwM6rx.net
- >>11
USESERVICEID=1→USESERVICEID=0 に変更したんですけどねえ・・・肝心な事書き忘れてすみません。
作者さんの環境で再現しないという事は、こちらの環境に問題があるのかもしれませんね。
返信ありがとうございました。
- 14 :名無しさん@編集中:2015/04/12(日) 19:29:13.80 ID:sbV6uCcP.net
- >>9
よく理解できないんだがこれどういうん?
- 15 :名無しさん@編集中:2015/04/12(日) 20:48:30.86 ID:FVuPp+9A.net
- >>14
BDPexでb25をデコードするためのパッチ。
実際のビルドには前スレ869のlibarib25が必要。
- 16 :名無しさん@編集中:2015/04/12(日) 21:13:16.47 ID:sbV6uCcP.net
- >>15
過去スレ読んだけどよくわからん。
最新ビルドで問題なく動いているから大丈夫なのか。
Spinel経由でEpgsrvが落ちるのと関係ないよね?
- 17 :名無しさん@編集中:2015/04/12(日) 22:44:59.92 ID:2QdSTGeU.net
- >>9
前回のパッチを参考に追加ファイルをプロジェクトに含めて、[追加の依存ファイル]追記したら無事ビルド出来ました。ありがとう。
- 18 :10:2015/04/12(日) 22:49:16.69 ID:PUOH7oi4.net
- >12
一応SDKをインストールしなおしたりしたのですがダメでした。
TVTestのログで「チャンネル変更がBonDriverに受け付けられません」
になります。
同じ環境でBonDriverProxyは問題なく動いてます。というか、同じフォルダに
Spiliterを入れて試してます。
すごい便利だと思うのでぜひとも使いたいのに・・・
- 19 :10:2015/04/12(日) 23:00:56.37 ID:PUOH7oi4.net
- PTCtrl.exeをサービスに登録してみましたり、x86で環境構築しなおしたりしましたが
ダメでした。
PT2のBonDriverはhttp://www3.wazoku.net/2sen/pt1up/source/up0305.zipのを
使いました。
- 20 :名無しさん@編集中:2015/04/12(日) 23:29:06.41 ID:ogsd0yWW.net
- >>19
使用するBonDriver〜.ch2内のチャンネル欄の値をBonDriver_splitter.iniの「対象BonDriverでのチャンネル番号」に記入してみたらどうでしょう
- 21 :名無しさん@編集中:2015/04/13(月) 00:05:47.13 ID:c9HcLEie.net
- >>19
BSでの問題でしたら
http://up.mapopi.com/
にある「36.rar BonDriver PT-ST 人柱版3(up0305)(新BS対応) 」を使ってみたら。
地デジでしたらどちらでも良いかも。
- 22 :名無しさん@編集中:2015/04/13(月) 00:17:43.86 ID:c9HcLEie.net
- >>19
下記のポイント2はどうでしょうか。
難視聴は消して良いと思いますが。
http://www.thetabatas.com/hideaki/wp/?p=508
- 23 :名無しさん@編集中:2015/04/13(月) 06:45:00.98 ID:YzYBujnj.net
- すみません、よく考えるとどこにも書いて無い事が2点ありました(;´Д`)
・iniファイルの命名規則はdllモジュールのファイル名の拡張子をiniに変更した物
・設定ファイルの記述はUTF-8で
です
あと、エラーがあっても原因がわかりにくいので、エラーが起こった時はエラーログを吐くようにしました
エラーログはOutputDebugString()で吐いてるので、上手く動かない方はDebugView等でそれを確認すると
理由がわかるかもしれません
https://technet.microsoft.com/ja-jp/sysinternals/bb896647
ついでにあった方が良いなと思った排他ロックを追加しました
#複数スレッドから非同期でSetChannel()呼ぶ的な、良くわからない使い方された時にしか影響無いと
#思いますが、念の為…
https://drive.google.com/folderview?id=0B-b35lIwjw6ybzV5QU9DWkJLUWc
- 24 :名無しさん@編集中:2015/04/13(月) 06:47:41.49 ID:YzYBujnj.net
- >>13
もしかすると、上記「設定ファイルの記述はUTF-8で」が関係しているかもしれません
Windows環境では大抵のエディタではShift_JISが標準になってると思うので、もし新規にファイルをつくって
サンプルからコピペしてるとShift_JISになってしまっている可能性があるかもしれません
一度その辺りを確認してみてもらえないでしょうか?
>>18-19
他の可能性としては、BonDriver_Splitterから、指定されたBonDriver_PTが見つけられないのかもしれません
よく考えると読み込むBonDriverが指定された場所に本当にあるのかどうかの確認はしていないので、
このパス指定で見つけられないパスが指定されていると最初のチャンネル変更時にエラーになりそうです
---
[BONDRIVER]
00=c:\path\to\BonDriver_PT-S0.dll
---
みたいな感じで、フルパス指定にしてみるとどうでしょうか?
- 25 :名無しさん@編集中:2015/04/13(月) 11:14:09.05 ID:yhU8qwLS.net
- >24
フルパスでいけました!
BonDriverはすべて同じフォルダに入れていたので問題ないかと思ってました。
可能ならSplitterと同じフォルダは自動で探すようにして、BonDriverが見つからない場合は
エラーを出すようにしていただけたら嬉しいです。
PT-S PT-S0
とかちょっと紛らわしいところもありますので。
- 26 :名無しさん@編集中:2015/04/13(月) 11:29:36.59 ID:yhU8qwLS.net
- あ、相対パスも指定できるとさらにうれしいです。
- 27 :10:2015/04/13(月) 13:06:55.05 ID:yhU8qwLS.net
- いろいろ試して見たところ、PT2にて以下の問題がありました。
1.TVTestでチャンネルスキャンするとNHKEが2つ(同じもの)が登録される。チェックマークも2つに入る。
2.TOKYO MX1が2つ登録される。ただし、MX1の片方は実際にはMX2である。
3.チャンネルスキャン後、すぐにチャンネルをNHK総合にすると映らない。
4. CSでチャンネルスキャンするとすごいことになる。
1. については片方のチェックマークを手動で外せば特に問題にはなりません。
(チェックしたままだとTVTYestウインドウ下部のステータスバーのチャンネルを
クリックするとNHKEが2つ表示される)
2. ステータスバーのチャンネルをクリックするとMX1が2つ表示され、MX2が表示されないため
MX2の方の番組名が見れないというのが不便です。
3. はチャンネルに限らず、チャンネルスキャン後すぐのテレビ番組(チャンネル変更)に問題が
ある感じです。バッファの関係かとも思いますが、チャンネル変更以外でもたまに映らない
ことがあるように思います。
4. 原理上仕方ないのかもしれません。
- 28 :名無しさん@編集中:2015/04/13(月) 13:26:20.39 ID:yhU8qwLS.net
- 上記2-4はTVTestのチャンネルスキャンの実装によるところかもしれませんが、
2,3については、結局どれを選択してもきちんと映るのに対し、
4については各ちゃんねるが4つずつ登録され、そのうちきちんと映るのは1つのみ
という状況です。
- 29 :名無しさん@編集中:2015/04/13(月) 19:20:31.24 ID:YzYBujnj.net
- >>25-28
そう言えばアプリとBonDriver_Splitterを同じフォルダに置いてる場合しかテストしてませんでした(;´Д`)
#その場合は相対パスでも機能します
dllをロードする時の基準パスがBonDriver_Splitterではなく、アプリ本体になるからでしょうね
これを変更するなら、BonDriver_Splitterからの相対パスしか使えなくするか、あるいはフルパス指定っぽい時だけは
フルパスとして扱うと言う泥臭い事をやるかでしょうか…
BonDriverとして指定されたファイルに関しては、とりあえず初期化時に存在確認するのだけは追加しようと思います
- 30 :名無しさん@編集中:2015/04/13(月) 19:25:58.03 ID:YzYBujnj.net
- >>27の1,2,4は全部同じ理由で、SDTは無編集で流している事と、TVTestのチャンネルスキャンの実装からですね
https://github.com/u-n-k-n-o-w-n/BonDriverProxy_Linux
でUSESERVICEID=1の場合に付いて書いているのと同じです
要は、本来複数のサービスが含まれているTSストリームを分割して別ストリームとして流しているけど、そのストリームに
含まれてるのはこれこれのサービスですよと言う情報は変更していないので、そう言う事になってます
TVTestからなら、右クリック->設定->チャンネルスキャンのところで、「チャンネル」に自分の設定した
チャンネル名が見えるので、それとTVTestが検出したチャンネル名である「名前」があっているもの以外は
無効化すれば、それ以降は実用上問題無くなるんじゃないかと思います
#自分の設定したBonDriverとしてのチャンネル番号と比べながら、ch2ファイルを直接編集でもOKです
3に関しては、デコーダやレンダラ等のTVTest側の設定も影響してそうです
もしその状態で、右クリック->リセット->フィルタグラフ再初期化をやったら映るようになるなら、
多分BonDriverとしては関知できない部分ですね…
- 31 :8:2015/04/13(月) 20:19:43.68 ID:cV5KepKX.net
- >>24
iniの文字コードはUTF-8 BOMでした
デバッグのログ
ttp://www.dotup.org/uploda/www.dotup.org263722.png
iniの中身
http://notepad.cc/share/3ZXwTpspc4
不備がありましたら指摘していただけると助かります。
- 32 :名無しさん@編集中:2015/04/13(月) 20:49:43.04 ID:cjnu4FK1.net
- BonDriver_Splitterだけど、ロケフリっぽいアプリを自作しようとしたときに便利かも。
RecTaskとかを使ってサービスを分離する必要がなくなる(と思う)
- 33 :名無しさん@編集中:2015/04/13(月) 21:41:02.77 ID:YzYBujnj.net
- >>31
多分原因わかりました
まず、setting error(column num)と出るのはチャンネル定義の右辺の入力カラム数が足りなかった場合です
文字化けしてますが、BS朝日の行ですね
で肝心のこうなる理由ですが、BOMが付いてるとファイル先頭の[OPTION]がGetPrivateProfileXXX()APIに
セクションとして認識されないようです(;´Д`)
この為、[OPTION]セクションが存在しないように見える為、USESERVICEIDがデフォルト値の1として扱われ、
結果上記の状態になっているのだと思われます
対策としては、iniをBOM無しで保存するか、"[OPTION]"をファイル先頭ではなく2行目以降に書いてみて下さい
しかしAPIにこんな豪快な罠があるとは…
> iniの文字コードはUTF-8 BOMでした
と言う情報が無ければ迷宮入りしてもおかしくない事案でした(;´Д`)
- 34 :名無しさん@編集中:2015/04/13(月) 22:15:51.79 ID:cV5KepKX.net
- >>33
ありがとうございます! チャンネルスキャンまで漕ぎ着けることができました m(_ _)m
- 35 :名無しさん@編集中:2015/04/13(月) 23:27:39.46 ID:Hp9z6yGV.net
- BonDriver_Splitter、ありがとうございます。BonDriver_proxy経由でも問題無く見ることができました
一点だけ、MX2を選局するとMX1になってしまいます。MX2がMX1のサブサービスと判断されて削られてる印象です
>>27さんとは違ってTVTestのチャンネル選択のとこにMX2と番組情報が表示されてはいます
まだ、PSI/SI指定削除はいじっていないのですが、相当軽くなっている感じです
どれだけ軽くなっているのか比べてみたいな〜、転送量の平均値か合計値を出してくれるようなプラグイン無いでしょうか
- 36 :10:2015/04/14(火) 00:24:14.24 ID:R7SHrc6b.net
- >30
なるほどそういう理由でしたか。
確かにLinuxの方の板でもChinachuで同様のことを報告されている方が
いらっしゃいますね。
もしお時間があったらSplitterの方でSDTを自動で編集するような機能を
盛り込むのを検討いただけたら嬉しいです。
フィルタグラフ最初期化に関してはさらにテストしてみます。
- 37 :35:2015/04/14(火) 01:13:17.29 ID:1K4+S7TL.net
- MX2のことは>>30に書いてありましたね、気付かずに失礼しました
- 38 :名無しさん@編集中:2015/04/21(火) 21:49:11.78 ID:qN91VeO6.net
- ☆ 日本の核武装は絶対に必須ですわ。☆
http://www.soumu.go.jp/senkyo/kokumin_touhyou/index.html
☆ 日本国民の皆様方、2016年7月の『第24回 参議院選挙』で、改憲の参議院議員が
3分の2以上を超えると日本国憲法の改正です。皆様方、必ず投票に自ら足を運んでください。
私たちの日本国憲法を絶対に改正しましょう。☆
- 39 :名無しさん@編集中:2015/04/22(水) 06:07:49.02 ID:FgPYGFHp.net
- bondriver _splitter、地方なので地デジの方を書き換える必要があるんですが、対象Bondriverでのチャンネル番号というのがどこを参照すればいいのかのか理解できないという
- 40 :名無しさん@編集中:2015/04/22(水) 06:46:38.82 ID:JlpKOrW7.net
- TVTestのch2ファイルに記述されているサービスの並び順でいいんじゃない?
- 41 :名無しさん@編集中:2015/04/22(水) 19:45:36.08 ID:IukwVopi.net
- >>39
>>40さんの言う通りで、読み込ませる対象のBonDriverに対してTVTestがつくったch2ファイルを
参照するのが一番簡単だと思います
例えばch2ファイルのNHK総合の部分が
---
; TVTest チャンネル設定ファイル
; 名称,チューニング空間,チャンネル,リモコン番号,サービスタイプ,サービスID,ネットワークID,TSID,状態
;#SPACE(0,地デジ(UHF))
NHK総合1・東京,0,14,1,1,1024,32736,32736,1
---
だったとすると、
「チューニング空間」が対象BonDriverでのスペース番号、「チャンネル」が対象BonDriverでのチャンネル番号、
「サービスID」が対象サービスIDにそれぞれ該当します
なのでこの場合、0、14、1024ですね
- 42 :名無しさん@編集中:2015/04/23(木) 07:44:31.53 ID:pPtFjs0O.net
- >>41
わかりましたthx
- 43 :名無しさん@編集中:2015/04/30(木) 23:06:32.20 ID:UrfUAPhy.net
- Bontsdemuxって
GUIではできるのに
ラインモードだと分離できないってことが多いような。
使い方間違ってんのかな???
- 44 :名無しさん@編集中:2015/05/01(金) 10:52:08.36 ID:1eUWyiJ+.net
- >>43
それこのスレと全く関係のないツールだろ
- 45 :名無しさん@編集中:2015/05/04(月) 11:34:31.82 ID:mBL1Krt/.net
- BonDriverProxyExに>>9のB25パッチをあてたやつで
iniでB25_DECODE=0
としてB25デコードを無効にした状態でTVTestを起動して終了させると、
終了した瞬間に必ずBonDriverProxyExが落ちます。
TVTest側のB25デコードの有無はどちらでも同じ。
TVTest0.9.0-dev最新、0.8で試しましたが同じ。
B25_DECODE=1でB25デコード有効の時は問題ありません。
パッチを当ててないものも問題ありません。
チューナーはDY-UD200でBonDriver_dyud 8.5.3です。
他のチューナー(PX-W3U3)で試したら問題なかったのでDY-UD200固有の問題のようです。
B25を使うためにパッチあててるわけで、まあ無効時に落ちても問題はないのですが、
なんか気持ち悪いです。
原因わかりますでしょうか?
- 46 :名無しさん@編集中:2015/05/04(月) 19:40:39.62 ID:V1nJEVzC.net
- >>45
今パッと見た感じでは、class B25Decoderの*_bcasがNULLで初期化されてないからかなと思います
B25_DECODEが有効でないとinit()が呼ばれる事は無いので、デストラクタから呼ばれるrelease()で
未初期化アドレスにアクセスしそうです
対策としては、コンストラクタに
---
_bcas = NULL;
---
とでも追加すれば良いんじゃないでしょうか
#試さずに言っていますがヽ(;´ー`)ノ
- 47 :名無しさん@編集中:2015/05/04(月) 23:26:50.94 ID:mBL1Krt/.net
- >>46
治りました!
ありがとうございます
- 48 :名無しさん@編集中:2015/05/05(火) 08:45:04.25 ID:u6OT6mHS.net
- >>46
パッチの作者です。
ありがとうございます。
- 49 :名無しさん@編集中:2015/05/05(火) 11:47:08.47 ID:SMsuvn8T.net
- BonDriverProxyExですが、タスクトレイに入るバージョンを作ってほしいです。
右クリックで終了できるだけでいいんですが・・・
- 50 :名無しさん@編集中:2015/05/05(火) 12:01:08.08 ID:u6OT6mHS.net
- パッチの不具合修正しました。
http://pastebin.com/bt0nbXxZ
- 51 :名無しさん@編集中:2015/05/05(火) 12:52:20.25 ID:VqsFzTbw.net
- >>49
確かに、終了とiniの再読み込みくらいできるようになると便利ですよね。
あと、サービスに登録できるとさらに。
- 52 :名無しさん@編集中:2015/05/05(火) 13:09:01.94 ID:v2KkwI2L.net
- >>50
B25_DECODE=0
B25_DECODE=1
どっちにしてもB25デコードされてしまうようになってしまいました
- 53 :名無しさん@編集中:2015/05/05(火) 14:53:59.33 ID:/oOFtzY4.net
- >>49
終了させる必要なんかある?
- 54 :名無しさん@編集中:2015/05/05(火) 22:18:57.53 ID:u6OT6mHS.net
- >52
失礼しました。うっかりです。
B25 patch
http://pastebin.com/DzXHaxu0
- 55 :名無しさん@編集中:2015/05/06(水) 13:28:43.52 ID:TbntY9cH.net
- ビルドしてはみたものの、優先順序だか排他処理だかのini書式わかんね
- 56 :名無しさん@編集中:2015/05/06(水) 20:32:49.28 ID:fTJcBZLH.net
- 以前からUIが欲しいと言う声がちょくちょくあがるので、テキトーですがつくってみました
https://drive.google.com/folderview?id=0B-b35lIwjw6ybzV5QU9DWkJLUWc
#機能部分は何も変わってないです
>>55
bdp/bdpexの話なら、どの辺がわからないでしょうか?
普通に使うだけなら、基本的にはサンプルの設定ほぼそのままで大丈夫じゃないかな、と
考えているのですが…
- 57 :名無しさん@編集中:2015/05/07(木) 00:38:07.29 ID:9XB6hm4Y.net
- >>56
ごちそうさまです!
- 58 :名無しさん@編集中:2015/05/07(木) 00:43:45.97 ID:gID2cwNb.net
- UIいらないなー
タスクトレイアイコン非表示にできませんかね
- 59 :名無しさん@編集中:2015/05/07(木) 01:07:18.91 ID:z69q983j.net
- ああ言えばこう言う
- 60 :名無しさん@編集中:2015/05/07(木) 01:27:30.09 ID:42ePJp0o.net
- RecTaskみたいに別にしてはどうだろうか
- 61 :名無しさん@編集中:2015/05/07(木) 01:49:48.94 ID:dAkgPhJf.net
- タスクトレイにアイコンがあって困ることなんてあるのかい?
EDCBとかNicoJcatchとか他のアプリが全部タスクトレイアイコンなんで、
統一がとれて大歓迎なんだけど。起動してることもわかるし。
- 62 :名無しさん@編集中:2015/05/07(木) 02:54:18.75 ID:48Broxvj.net
- サービス登録しなくてすむようになったし、GUIついたのとてもありがたい
- 63 :名無しさん@編集中:2015/05/07(木) 03:09:35.89 ID:s86LSau+.net
- >>62
スタートアップ登録じゃログオンしないと起動しないのでサービス登録は必要。
# NSSMでサービス化して使っているけど、この状態だとトレイアイコン出てこない。
(デスクトップとの対話をサービスに許可しても同じ)
- 64 :名無しさん@編集中:2015/05/07(木) 06:12:20.41 ID:zXq2/Ifw.net
- ini書き換えるのと起動/強制再起動させる別アプリでよかったのかも
常時起動前提だとなるべくバグやリークの要因になりそうな物は
極力無い方が良いって意見もわかるし
- 65 :名無しさん@編集中:2015/05/07(木) 09:10:49.22 ID:TIo3YhHX.net
- >>56
使いやすいです!
ini設定の再読み込みと、情報画面の非表示をウインドウのバツボタンから出来るようにしていただけるとなおうれしいです。
- 66 :名無しさん@編集中:2015/05/07(木) 16:24:31.91 ID:xlxvD19J.net
- BonDriverProxyってwinで使う場合、iniファイルSJISじゃないとダメ?あと、XPじゃ使えない?ntopがないって出る
- 67 :名無しさん@編集中:2015/05/07(木) 22:39:28.12 ID:/KjtiFBW.net
- いけてるアイコンを考えてやれ
- 68 :名無しさん@編集中:2015/05/07(木) 23:40:36.52 ID:8s+zDY8u.net
- ExだけでなくBonDriverProxyの方にもサービス登録機能お願いします
- 69 :名無しさん@編集中:2015/05/08(金) 00:40:06.56 ID:Tv3pcj2w.net
- BonDriverProxyExサービス版、早速導入しました。
これでNSSMいらずだ。ありがたい
- 70 :名無しさん@編集中:2015/05/08(金) 01:21:04.77 ID:9h8X6I5u.net
- わお、サービス化対応してくれたのね
ありがとう
- 71 :名無しさん@編集中:2015/05/08(金) 05:12:13.53 ID:3CHNjexj.net
- 設定していて気になったのですが、BonDriver_Splitter.iniの読み込むBonDriverのパス指定で
00=..\BonDriver_xxxx\BonDriver_xxxx.dll
01=.\BonDriver_xxxx\BonDriver_xxxx.dll
のように相対パス指定として=.(ドット)から始めると、実際には指定したBonDriverが読み込めないのかTVTestのチャンネル選局がエラーになるみたいです
BonDriver.dll自体は、GitHubのソースコードをVS2013でx64ビルドしたものです
- 72 :名無しさん@編集中:2015/05/08(金) 08:33:51.86 ID:+OzIbGv2.net
- >>71
あ、それ上で質問したのと多分一緒で、カレントディレクトリはBonDriverのとこじゃなくてTVTestのとこだからじゃないかな。
- 73 :名無しさん@編集中:2015/05/08(金) 15:08:29.71 ID:mDmyc86z.net
- そのままビルドしてSCコマンド使って登録してもサービスの起動に失敗してしまう
何かしないとダメなの?
- 74 :名無しさん@編集中:2015/05/08(金) 18:40:38.87 ID:L6lvgpgq.net
- >>71
俺は問題ない
Sample.iniからだけど
00=【PT-T;】BonDriver_PT3-T0.dll;BonDriver_PT3-T1.dll
【】で囲った部分が抜けてるからじゃね
- 75 :名無しさん@編集中:2015/05/08(金) 18:42:54.68 ID:L6lvgpgq.net
- ごめん
BonDriver_Splitterの話だったか
- 76 :名無しさん@編集中:2015/05/08(金) 19:41:20.19 ID:AI+W9xj9.net
- SplitterでMX2は見れないの?
- 77 :名無しさん@編集中:2015/05/08(金) 22:09:11.80 ID:n0m2Bc2W.net
- サービス版はプルリク送ってくれた方がいて、当方はそれを若干手直ししただけですのでヽ(;´ー`)ノ
>>58
一応、ソースのヘッダにある、#define HAVE_UIをコメントアウトしてビルドすると以前と同じになります
また、後出しですがサービス版はUI無し版だけになってます…
>>65
>>68
それぞれやっときました
>>66
気付かずにXPには無いAPIを使うようにしてしまってました(;´Д`)
なので、32bit版はそのAPIを使わないようにしてみました
64bitのXPなんだよと言う場合はソースのこの辺り↓
https://github.com/u-n-k-n-o-w-n/BonDriverProxy/blob/212e161008cd631f9f678aa5eb3d7950ab015428/BonDriverProxy/BonDriverProxy.cpp#L1287-L1304
をinet_ntop()使わない方だけ残してご自分でビルドお願いします(;´Д`)
BonDriverProxyのiniの文字コードは特にShift_JISである必要はありませんが、UTF-8のBOMありでは
>>33みたいな罠があるのでご注意ください…
- 78 :>>71:2015/05/08(金) 22:14:27.67 ID:3CHNjexj.net
- >>72
アドバイス通りexeのところから相対パスしたらチャンネル選局エラーになった後、BonDriver_Splitter.dllのあるところから相対パス指定したら無事再生出来たので、他の部分の記述ミスのようでした。
お騒がせしました。
- 79 :名無しさん@編集中:2015/05/08(金) 22:27:25.67 ID:n0m2Bc2W.net
- >>71
レス書いてる内に解決してましたかヽ(;´ー`)ノ
今のバージョンでは>>72さんの件に対応(相対パスの基準をexeではなくBonDriver_Splitterに)してるので、
それが逆に仇となってしまったようですね
あと、PT1/2なら>>12みたいな話もあるので、もしまだならドライバ類を最新にしておくと良いかと思います
また、BonDriver_PTを使ってるなら、別件でptTimerスレに書いたのですが、
http://peace.2ch.net/test/read.cgi/avi/1413760076/907-908n
みたいな感じにPTCtrl.exeを変更すると保険になると思います
>>73
サービス用のslnファイルをコミットし忘れてて、さっき追加しました(;´Д`)
Release_SVCでビルドして、コマンドプロンプトから
---
> BonDriverProxy.exe a
---
で使い方が出るのでご確認ください
>>76
BonDriver_Splitterが正しく設定されてるのが前提として、TVTest等のアプリで正しいサービスを
選択していれば大丈夫かと思います
>>30が参考になるかもしれません
- 80 :名無しさん@編集中:2015/05/08(金) 22:46:30.53 ID:9h8X6I5u.net
- 修正ありがとう
- 81 :名無しさん@編集中:2015/05/08(金) 22:57:23.58 ID:f+x/EMbr.net
- サービス版いいね
ありがとう
- 82 :名無しさん@編集中:2015/05/08(金) 23:23:37.15 ID:Tv3pcj2w.net
- サービス登録するときは管理者コマンドプロンプトからですね
- 83 :76:2015/05/09(土) 01:17:25.82 ID:HhJep5Eg.net
- >>79
レスありがとうございます
BonDriver_splitter.dllでスキャンしてもMX1とMX2の2個しかch2に記載されないので無効にするものがありません
根本的にわかってないのかも
;#SPACE(0,UHF)
TOKYO MX1,0,7,9,1,23608,32391,32391,1
TOKYO MX2,0,7,9,1,23609,32391,32391,1
どなたかUSESERVICEID=1でMX2見れてる方いらっしゃいますか?
いらっしゃれば心強いです。もう一度自分で設定頑張ってみます
- 84 :名無しさん@編集中:2015/05/09(土) 22:07:23.38 ID:tpYDkYFd.net
- >>82
おお、そうでした
サービスをインストールする権限が必要ですね
>>83
MX1が見られるのなら、恐らく設定の問題ではないかと思います
BonDriver_Splitterのiniの、MX2の行が間違っていないでしょうか?
ちなみにUSESERVICEID=1のサンプル設定をそのまま使った場合、最終的にTVTestのch2ファイルのMXの部分は
---
TOKYO MX1,2,7,8,1,23608,32391,32391,1
TOKYO MX2,2,7,8,1,23609,32391,32391,0
TOKYO MX1,2,8,9,1,23608,32391,32391,0
TOKYO MX2,2,8,9,1,23609,32391,32391,1
---
のような感じになります
>>83さんは地デジをSPACE00に持ってきてますので、上記の「チューニング空間」は2ではなく0になるでしょうね
- 85 :名無しさん@編集中:2015/05/10(日) 00:59:20.10 ID:zDd2cnKp.net
- >>84
なるほど、そういうふうになるのですね
KTV-FSUSB2を使っているので下2行がでてこないのは各種ドライバのせいかもしれません
ゆっくり試してみます。ご面倒をおかけしました
- 86 :名無しさん@編集中:2015/05/10(日) 10:12:11.97 ID:bgvpWfAO.net
- >>85
対象のBonDriverをTVTestで直に読み込んで、チャンネルスキャンした時に出来るch2ファイルのMXの行を確認すれば、
後は>>41の内容で設定出来るのではないでしょうか
また、BonDriverによっては、読めるデータがTSとして同期されていないかもしれないので、
とりあえずTSSYNCを1にしてみるのも良いかもしれません
#他のチャンネルがみられているのなら関係ない可能性の方が高いですが…
- 87 :名無しさん@編集中:2015/05/10(日) 10:47:36.97 ID:5nLb3JCD.net
- 落ち着きましたら例のパッチオナシャース
手動で書き換えてみたけどビルド失敗してしまう
- 88 :名無しさん@編集中:2015/05/10(日) 12:46:23.51 ID:JKeD86ha.net
- 例のってB25?
追加の依存ファイルにwinscard.libは追加した?
- 89 :名無しさん@編集中:2015/05/10(日) 13:58:41.73 ID:zDd2cnKp.net
- >>86
おぉっ!TSSYNC=1で今まで現れなかったチャンネルがひょっこり検出されました!
すごいぃぃ、MXが劇的に軽くなったー!うぉぉぉぉ!感謝感激!
解決までおつきあいくださり本当にありがとうございました
- 90 :名無しさん@編集中:2015/05/10(日) 15:50:17.80 ID:bgvpWfAO.net
- >>89
おお、TS同期の問題でしたか
同期してないTSを出力するBonDriverもやっぱりあるんですね
あるかもしれないなと思って追加しておいた機能でしたが、実際に役に立つ時が来るとは…
ReadMe読む限り、本当の意味でのいわゆるTS抜きをやってるBonDriverっぽいのでその辺の関係でしょうか
なんにしても、解決してよかったです
- 91 :名無しさん@編集中:2015/05/10(日) 15:58:44.36 ID:nB8y/DhK.net
- b25パッチ自分の環境は通常版には問題なくビルド通る
けどサービス版は7 件の未解決の外部参照ってでて通らない
- 92 :名無しさん@編集中:2015/05/10(日) 17:01:23.70 ID:q5AQh1e/.net
- winscard.libを追加し忘れてるだけじゃないの?
すべての構成 すべてのプラットフォームを選んでやれば
いっぺんに追加できると思うが。
- 93 :名無しさん@編集中:2015/05/10(日) 17:36:38.03 ID:nB8y/DhK.net
- winscard.lib追加でビルド通りました
けどサービス開始できないorz
もうおとなしくしておきます
- 94 :名無しさん@編集中:2015/05/10(日) 19:53:16.20 ID:5nLb3JCD.net
- なんとかビルド出来ました
お騒がせしました
- 95 :名無しさん@編集中:2015/05/10(日) 20:02:06.67 ID:qiloWOJt.net
- diffうp!
- 96 :名無しさん@編集中:2015/05/11(月) 00:59:58.97 ID:mIjEew6M.net
- http://pastebin.com/CXgb5f8d
- 97 :名無しさん@編集中:2015/05/11(月) 02:31:43.81 ID:uDEg8zKR.net
- >>96
これ不味いんじゃないの? 勘違いだったらごめんね
- 98 :名無しさん@編集中:2015/05/11(月) 11:39:04.94 ID:CX5SvvwT.net
- >>96
bcas_cryptとdecode_ecmがmarumoさんのlibarib25に無いけどどこから持ってきたのでしょうか?
- 99 :名無しさん@編集中:2015/05/20(水) 08:42:21.59 ID:NvUWI1Af.net
- 最近EDCB tkntrec版とproxy,proxyEXを最新版に更新したらプレミアム用のbondriver使用時に
EDCBからのproxyがアクセス出来なかったってエラー吐くようになった
proxyEX再起動で治ったけどいつ落ちて録画できなくなるかわからんし
上の状態でもtvtestからのproxy使用では普通に見れる
とりあえずproxyのタイムアウトを10にしといてどうなるか様子見するけど
アクセス出来ないで居座るぐらいならrestart on crash使うのでその時点でproxyからexを落とすようになオプションが欲しい
- 100 :名無しさん@編集中:2015/05/20(水) 19:44:24.27 ID:TAF3vpCX.net
- 無印proxy1.1.4.9をsplitter経由で長らく使ってきて、1.1.5.4にして2回応答無し(タスクトレイは動作)になったかな
今は1.1.5.2で様子見中
Splitter経由だとMX2がEDCBで録画できなかったけどEDCBソースをちょっといじったら大丈夫になった
Proxy&Splitter最高です。作者様に感謝
- 101 :名無しさん@編集中:2015/05/21(木) 22:34:18.35 ID:tp2KvQfW.net
- おお、なんだろう…
再現条件等がわかればいいのですが(;´Д`)
とりあえずちょっと時間がある時に見直してみます
サーバを殺すコマンド追加は出来なくもないですが、その手の用途ならサービス化してしまって、
PsToolsのPsService(https://technet.microsoft.com/ja-jp/sysinternals/bb897542)辺りで
restartかけるのが良いかもしれませんね
- 102 :名無しさん@編集中:2015/05/21(木) 22:40:24.58 ID:tp2KvQfW.net
- あ、このスレの内容にはあんまり関係ありませんが、さっきgoogleドライブにptTimer最新版(0.6.3.2)用の
ちょっとしたツールを置いたので、ptTimerユーザの方は良かったらどうぞ
- 103 :名無しさん@編集中:2015/05/22(金) 15:29:13.79 ID:EX4yvF1p.net
- >>102
ありがとうございます
- 104 :名無しさん@編集中:2015/05/23(土) 11:05:05.10 ID:285Xyes7.net
- どなたか地デジのQPSKシンボルレートがわかる方いますか?
- 105 :名無しさん@編集中:2015/05/25(月) 08:26:05.33 ID:2Amu9+W/.net
- >>104
当方無線は全くの素人ですが、その辺りの情報はARIB STD-B31とTR-B14に載ってる感じでした
当方の理解では、QPSKはワンセグにしか使われてないみたいですね
- 106 :名無しさん@編集中:2015/05/26(火) 08:32:40.37 ID:EP9gjKhL.net
- BonDriver_Splitterはもう
配布していないの?
- 107 :名無しさん@編集中:2015/05/26(火) 10:45:26.18 ID:GCGBl4Mb.net
- BonDriverProxy_current(********).zipの中に入ってるよ
- 108 :名無しさん@編集中:2015/05/26(火) 12:24:30.92 ID:EP9gjKhL.net
- >>107
ありがとう。
- 109 :名無しさん@編集中:2015/05/26(火) 16:26:33.06 ID:BEfT//hZ.net
- >>96
幾つかエラーになるけどいいのかな?
- 110 :名無しさん@編集中:2015/05/28(木) 00:19:55.14 ID:E1f5dQzy.net
- 誰かPT2のSDKバグを社長に報告して
- 111 :名無しさん@編集中:2015/05/28(木) 01:22:47.80 ID:xdztqLFI.net
- 前スレのこの件?
ttp://peace.2ch.net/test/read.cgi/avi/1366339738/566
数レス後でメール投げていいかって聞いてた人いたけど、どうなったんだろね。
遠慮しなくても、>>110が投げてくれたらいいんじゃなかろうかと思いつつ、
自分で検証してないものを報告するのもどうかと思ったから他人任せにしてたけど、
結局誰も投げてない/投げないなら検証してから投げてみるかな。
ご丁寧に検証用コードまで上げてくれてるproxyの作者さんには頭上がらないですね。
- 112 :名無しさん@編集中:2015/05/28(木) 14:29:58.69 ID:u4v4X4Re.net
- >>111
元で改善したほうがすっきりするよね。
原因がわかっていて下で対応するのは気持ち悪い。
- 113 :111:2015/05/28(木) 18:55:59.71 ID:xdztqLFI.net
- 同じ現象を確認できたので、メール投げておきました。
- 114 :名無しさん@編集中:2015/05/28(木) 19:55:58.97 ID:1fTM+wtL.net
- >>113
ありがとう
- 115 :sage:2015/05/30(土) 02:37:56.74 ID:Hr8XVGM7.net
- Windowsに刺したPX-S3U2をBondriver_Proxy経由でubuntuで使うことは可能でしょうか?
とりあえず試してみましたが CreateBonDriver error: pIBon[(nil)] pIBon2[(nil)] というエラーが表示されてしまいました。
Windowsの方でBondriverProxyが正常に動作していることは確認しました。
- 116 :名無しさん@編集中:2015/05/30(土) 06:32:32.83 ID:PHHbw81k.net
- >>115
試してないけど出来るはずだけど。
strace -o output.log -s 1024 sample -b ./BonDriver_Proxy.so -s 0 -c 63 -t 30 -o test.ts
とかやってみてoutput.logを最後の方から眺めていけば何かエラーが出てるはず。
自分が良くやったのは、設定ファイルを「BonDriver_Proxy.conf」から
「BonDriver_Proxy.so.conf」(.confではくて.so.conf)に変更するのを
忘れること。これだと以下のエラーが出てるはず。
open("./BonDriver_Proxy.so.conf", O_RDONLY) = -1 ENOENT (No such file or directory)
後は設定ファイルの中身が正しいかどうかとか。
- 117 :名無しさん@編集中:2015/05/30(土) 10:34:49.23 ID:Hr8XVGM7.net
- >>116 ありがとうございます。試してみましたが設定ファイルは存在していました。
設定ファイルの中身ですがBonDriver_Proxy.confについては ADDRESS,PORT,BONDRIVERだけ変更すればよいと思うのですが、
BonDriver_LinuxPT.confのほうは編集する必要ありますか?
- 118 :99:2015/05/30(土) 12:03:23.72 ID:23A2dWjG.net
- とりあえず>>99以後3回ほど現象が再現
イベントビューアーには異常なし
3回のうちtvtestからもアクセス出来ずタスクマネージャーからも終了出来ないのが1回
restart on crashがハングアップを検出して再起動するもEDCBからはチューナーオープン出来ないのが1回
(tvtestからはアクセス可能、BonDriverProxyExを手動で終了、再起動した場合はEDCBからも使えるようになった)
どなたかBonDriverProxyEx 1.1.5.3のソースアップして貰えませんか?
消してしまったので手元に残ってないんです
とりあえずこのエラーが出るようになる前に1.1.5.3を暫く使ってたので戻して様子見しようかと
- 119 :名無しさん@編集中:2015/05/30(土) 12:26:33.61 ID:+ncDeb7F.net
- >>118
https://github.com/u-n-k-n-o-w-n/BonDriverProxyEx/tree/7bcba06c6743eab9a51c3769c10b1c6ad787cf2b
- 120 :名無しさん@編集中:2015/05/30(土) 14:25:11.87 ID:IByyIVqo.net
- >>117
BonDriver_LinuxPT.confはubuntu側にチューナが刺さっている場合に使う物なので、
ubuntu側をクライアントとして、win側のチューナを使う場合にはさわる必要はないです
>>118
検証ありがとうございます
1.1.5.3から現バージョンまでの変化で怪しい部分と言えばダントツでUI追加ですね…
現バージョンのソースで
https://github.com/u-n-k-n-o-w-n/BonDriverProxyEx/blob/ed6466445e8be15af03dd0c6d853be8994da426c/BonDriverProxyEx/BonDriverProxyEx.h#L13
の行をコメントアウトか削除すれば、1.1.5.3とほぼ同じになるはずなので、
もし1.1.5.3に戻して問題が起きなくなったなら、余裕があればこちらも試してみて下さい(;´Д`)
#なおサービスバージョンの場合は必然的にそうなりますので、サービスバージョンでも問題が起きる場合は
#UI関係ではない可能性が高いと言う事になります…
- 121 :名無しさん@編集中:2015/05/30(土) 14:51:12.14 ID:Hr8XVGM7.net
- >>120 ありがとうございます。
調べたところ↓の !pProxy->SelectBonDriver() でエラーが起こっているようなのですが何が原因なんでしょうか?
https://github.com/u-n-k-n-o-w-n/BonDriverProxy_Linux/blob/master/BonDriver_Proxy.cpp#L1006
- 122 :名無しさん@編集中:2015/05/30(土) 16:10:08.78 ID:IByyIVqo.net
- >>121
そこでコケると言うのは、サーバ側に、使用したいBonDriverはこれだとリクエストしたけど、サーバ側から
エラーが返ってきたと言う事ですね
エラーになる原因はいくつか考えられますが、confに設定しているBONDRIVERの値が、win側で読み込ませたい
BonDriverのパス指定として間違っているとか、win側で読み込ませたいBonDriverが何らかの理由で読み込めなかった
(例えば、x64版のサーバを動かしていて、x86のBonDriverを読み込もうとした等)辺りが可能性高いのでは
ないでしょうか
- 123 :名無しさん@編集中:2015/05/30(土) 17:01:45.38 ID:Hr8XVGM7.net
- >>122 クライアント側confのBONDRIVERを、サーバ側にある(Windows用)ドライバのパスにしたら接続することができました。ありがとうございます!
勘違いしてLinuxのBonDriver_LinuxPT.soのパスを書いてました。。
- 124 :名無しさん@編集中:2015/05/30(土) 20:26:46.97 ID:IByyIVqo.net
- >>123
おお、よかったです
確かにlinux側で動くプログラムのconfにwin用dllのファイル名書くとか、その逆でwin側のiniに
linux用共有オブジェクトのファイル名書くとか、あまり無い状況ではありますしねヽ(;´ー`)ノ
- 125 :名無しさん@編集中:2015/05/30(土) 21:13:57.09 ID:4/La33sl.net
- >>123,124
そういえばWindowsをサーバーにしてLinuxからアクセスしたことなかったなと
思ったのでテストして文章書いている間に解決してたのだけど...。せっかく
書いたしこんな感じでいけましたよということで。
サーバー : Windows7、PX-W3U3、BonDriverProxy
クライアント: Ubuntu、BonDriverProxy_Linuxのsample、BonDriver_Proxy.so
○Windowsでのサーバー側手順
・C:\Users\XXXXXX\Documents\Software\BonDriverProxy に以下を配置。
BonDriverProxy.iniはSample.iniをコピーしたもの。
BonDriverProxy.exe
BonDriverProxy.ini
・BonDriverProxy.ini はADDRESSをサーバーの実際のアドレスに直す。
[OPTION]
ADDRESS=192.168.2.8
・BonDriver_PX_W3U3_T.dllはTVTestのディレクトリにあるものを使う。
C:\Users\XXXXXX\Documents\Software\TVTest\BonDriver_PX_W3U3_T.dll
- 126 :名無しさん@編集中:2015/05/30(土) 21:14:32.75 ID:4/La33sl.net
- ○Ubuntuでのクライアント側手順
・BonDriver_Proxy.conf を BonDriver_Proxy.so.conf として
BonDriver_Proxy.so と同じディレクトリにコピー。
・BonDriver_Proxy.so.conf の以下を修正。ADDRESSはWindowsサーバーのアドレス。
BONDRIVERはWindows側のBonDriver_PX_W3U3_T.dllがBonDriverProxy.exeと
違うディレクトリにあるのでフルパスで指定した。
ADDRESS=192.168.2.8
BONDRIVER=C:\Users\XXXXXX\Documents\Software\TVTest\BonDriver_PX_W3U3_T.dll
・sampleを実行
sample -b ./BonDriver_Proxy.so -s 0 -c 13 -t 30 -o test.ts
- 127 :名無しさん@編集中:2015/05/31(日) 23:03:09.30 ID:yg+1TyOr.net
- そこ、自分もハマった。
無理なのかとおもって結局BonDriverExの方を使った
- 128 :名無しさん@編集中:2015/06/01(月) 13:19:52.05 ID:VwaJpF+m.net
- VisualStudioExpressからパッチファイルの作成方法教えてください。
- 129 :名無しさん@編集中:2015/06/01(月) 14:02:09.53 ID:6TGhxYmc.net
- WinMergeやdiff.exeなら聞いたことあるけど
Visual Studioでパッチ作成できるなんて初めて聞いた
- 130 :名無しさん@編集中:2015/06/01(月) 15:46:11.74 ID:8aactuIS.net
- 開発環境なんだから作ろうと思えば作れる
- 131 :名無しさん@編集中:2015/06/02(火) 20:56:10.99 ID:V9uJvN6g.net
- WindowsにBondriverProxyのサーバーを立てて、LinuxでrecbondとBondriver_Proxyを使って録画しようとしています。
recbondでBSのチャンネルを指定する方法がよくわからず録画できないのですが、どのように指定すればよいのでしょうか?
地デジの方はBonDriverチャンネル指定で正常に動作しました。
- 132 :名無しさん@編集中:2015/06/03(水) 19:56:28.25 ID:6WBC4Ffy.net
- >>131
sampleなら
地デジ=sample -b ./BonDriver_Proxy_T.so -s 0 -c 0 -o t0.ts -t 30
BS =sample -b ./BonDriver_Proxy_S.so -s 0 -c 0 -o s0.ts -t 30
recbondは使ってないのだけど同じじゃないかな?
地デジ=recbond --driver ./BonDriver_Proxy_T.so B0 30 t0.ts
BS =recbond --driver ./BonDriver_Proxy_S.so B0 30 s0.ts
当たり前だけど、BonDriver_Proxy_S.so.confのBONDRIVERはWindowsの
BS用のBonDriverを指定するってこと。
まあ、同じ機種を持っている奇特な人がテストしてくれるかもしれない
からWindowsのチューナーの機種名とかBonDriverのファイル名とかも
書いた方が良いのではないかな。
- 133 :名無しさん@編集中:2015/06/03(水) 20:02:10.55 ID:mmoRp2AN.net
- >>131
今ちょっと手元に環境が無くて試せないのですが、ドキュメントからもソース眺めた感じからも、
B0みたいに指定すれば対象BonDriverのSetChannel()に直接指定した数値を渡すようになっているように見えるので、
このBonDriverチャンネル指定を使う場合は地デジもそれ以外も同じではないでしょうか?
#https://github.com/dogeel/recbond/blob/e6fe8e3c68c8ec5994faf267d64b7fe528e004bf/recpt1core.c#L46
#のnodeは(int)dwBonChannelでしょうね
linux版の方で作者さんに直接聞く方が確実かもしれませんがヽ(;´ー`)ノ
- 134 :名無しさん@編集中:2015/06/03(水) 20:06:52.34 ID:mmoRp2AN.net
- ありゃ、カブッてしまいましたヽ(;´ー`)ノ
でも同意見なのでやはりそれであってそうですね
- 135 :名無しさん@編集中:2015/06/03(水) 22:40:16.49 ID:v06+f8+C.net
- >>132,133 どうもありがとうございます。
過去ログをよく読んだらBonDriver用のiniファイルをドライバがあるフォルダに置いてなかったの原因でした。。。
iniファイルをおいたら地デジと同じようにBonDriverチャンネル指定で録画することができました!
- 136 :名無しさん@編集中:2015/06/07(日) 01:47:09.31 ID:NJt7m8oi.net
- GitHubの現行BonDriver_Splitterにはデータ放送を削除する機能は無いですか?
>>11の話では旧版では削っていたようなので、現行でも削れると嬉しいのですが
- 137 :名無しさん@編集中:2015/06/07(日) 15:47:52.43 ID:ATXjj8vB.net
- >>136
無条件削除しているままでしたが、わかりにくいので明示的に指定された場合のみ削除するようにしました
iniのDELオプションにTYPEDを指定すると削除されるようになります
#なお、書くの忘れていましたが、MODPMT,TSSYNC,DELの各オプションは1チャンネル1サービスモードが有効な場合にのみ機能します
今までのバージョンを使用していた方で、今まで通り削除して欲しいと言う方は申し訳ありませんがiniに追記お願いします
あと、スレッドハンドルの閉じ忘れに気付いて修正しているので、変更内容的にはバージョン上げなくても良いかなと
思った方も更新する事をおすすめします…
- 138 :名無しさん@編集中:2015/06/07(日) 18:52:50.84 ID:XwMoUsei.net
- >>137
更新お疲れ様です
EPG情報を取得する場合、データ放送に加えてどこまで削れるのかわからずやっとCDTを削ってみたビクビク人生
Proxy&Splitterで毎日使わせてもらっています。ありがとうございます
- 139 :名無しさん@編集中:2015/06/07(日) 23:05:17.55 ID:5GPv3IdS.net
- Windowsタブレット(Atom Z3740)でのTvTest視聴(wifi,Splitter経由)のCPU負荷軽減のためにBonDriverProxyEx.exeのB25デスクランブル改造してみたけど、
クライアント側の負荷はほとんど変わらないようだ
Splitterでのネットワーク負荷の低減のほうがはるかに大きいね、DELオプションでの差はもっと検証したい
- 140 :名無しさん@編集中:2015/06/08(月) 01:04:03.99 ID:fp2y4Jw8.net
- >>137
更新乙です
"DEL=TYPED"を指定しても、TVTestの「ストリームの情報」にはデータ1~nがズラッと並んでいるのですが、並んでいても正常にデータ放送PIDが削除されてると判断して良いのでしょうか?
(しばらく放置しても局ロゴを取得できてないので、正常に削れてるぽい?)
BonDriver_Splitter.dllはVS2013Update4でx64ビルドしたものです
- 141 :名無しさん@編集中:2015/06/08(月) 21:02:04.53 ID:2Zp3U60+.net
- >>140
はい、実際のデータは削除されています
例えば、その状態でTVTestから「データ放送を保存する」のチェックを入れて録画して、その録画ファイルを
tsselect(https://www.marumo.ne.jp/junk/tsselect.lzh)にかけてみると確認できると思います
TVTestの「ストリームの情報」ではPMTに書かれている情報を表示しており、BonDriver_SplitterはPMTの編集は
行わないのでそうなっています
MPEG-2 TSの仕様上はそうなっていても問題無かったと思うので…
ついでにもうちょっと細かく制御できるようにしてみました
- 142 :名無しさん@編集中:2015/06/08(月) 21:19:23.45 ID:2Zp3U60+.net
- ちなみに消せるようにしてるものの内サイズが大きいのはTYPEDとEITで、有料放送の場合はEMMも結構大きいですね
#EPG使うならEIT全部は消せませんが
それ以外は全体的なサイズからみたらほとんど誤差みたいなもんかなと思いますよ
- 143 :名無しさん@編集中:2015/06/09(火) 12:40:18.23 ID:dy4IsfwA.net
- サイズが大きいのはTYPEDとEITとメモメモ
EPG取得のときだけEITを取得するiniに入れ替えればいいね
これで更に軽くなるっす。感謝
- 144 :名無しさん@編集中:2015/06/10(水) 00:31:28.81 ID:Q9xQLqXi.net
- PTのSDKの件、社長さんにメール投げて反応ありました?
どうなったんだろう?
- 145 :名無しさん@編集中:2015/06/10(水) 21:55:18.96 ID:KNgTEl+e.net
- BonDriver_PT-ST(人柱版3) up0305
をビルドしようと思っているのですが、BonDriver_PT.dllが出来るだけで、
BonDriver_PT-S.dll
BonDriver_PT-Tdll
が出来ません。
どうすれば出来るようになるんですか?
- 146 :名無しさん@編集中:2015/06/10(水) 22:56:51.15 ID:DawwtJ1g.net
- >>145
スレチ
http://peace.2ch.net/test/read.cgi/avi/1415118405/103-106
- 147 :名無しさん@編集中:2015/06/10(水) 23:42:27.76 ID:KNgTEl+e.net
- >>146
すみません
- 148 :名無しさん@編集中:2015/06/10(水) 23:45:51.42 ID:KNgTEl+e.net
- >>146
それはPT3の場合で、BonDriver_PT-ST(人柱版3) up0305 には該当箇所がありませんでした・・・
- 149 :名無しさん@編集中:2015/06/10(水) 23:54:25.52 ID:W3wNn8lN.net
- >>148
オリジナルのままなら、BonTuner.cppに
#define _ISDB_T
の行はあるはずなので、もしかしてちょっと前に当方がEDCBスレに貼ったパッチを当ててのビルドの話でしょうか
もしそうなら、できたバイナリをコピーしてBonDriver_PT-S.dllやBonDriver_PT-Sx.dllと言う名前にすればS用、
BonDriver_PT-T.dllやBonDriver_PT-Tx.dllと言う名前にすればT用として動くようになってます
- 150 :名無しさん@編集中:2015/06/11(木) 00:13:14.96 ID:SZrgZKdI.net
- >>149
そういうことでしたか。
ありがとうございました。
スレチすみませんでした。
- 151 :名無しさん@編集中:2015/06/11(木) 19:19:11.47 ID:UWjoao+5.net
- >>149
せっかく投下してくれたパッチなのに情報が散々していてしまって勿体無い。
このままじゃパッチも情報も埋もれちゃうね・・・
- 152 :111:2015/06/12(金) 21:46:44.75 ID:dpncjzPZ.net
- >>144
残念ながら、現在のところ反応はないですね。
どうしたもんでしょうね。
- 153 :名無しさん@編集中:2015/06/14(日) 13:53:31.43 ID:73ktUDyi.net
- >>152
そうですか・・・
瓦ドラにSleep入れて対処します。
かすかな期待を持って待ってみます。
- 154 :名無しさん@編集中:2015/06/28(日) 22:45:15.44 ID:vQNdw/G8.net
- すいません、>>4にある、BonDriver_RDCT をDLしたいんですが
パスがわかんないです…
せめてヒントの一つでも教えていただけないでしょうか?
- 155 :名無しさん@編集中:2015/06/28(日) 23:03:28.87 ID:LdbsNTp/.net
- >>154
ここは何板だよ
- 156 :名無しさん@編集中:2015/06/28(日) 23:08:33.53 ID:vQNdw/G8.net
- >>155
検索しまくって、自己解決したっす
ありがと
- 157 :名無しさん@編集中:2015/06/28(日) 23:15:13.08 ID:LdbsNTp/.net
- >>156
よかったね
- 158 :名無しさん@編集中:2015/07/10(金) 16:27:43.18 ID:7QMhZb72.net
- ノートンときたら><;
- 159 :名無しさん@編集中:2015/07/12(日) 23:04:45.14 ID:6oWBR5vD.net
- BonDriverProxy_Splitterで削れば今どきの格安Winタブでもスペック大丈夫?
- 160 :名無しさん@編集中:2015/07/13(月) 00:15:40.05 ID:SCiTsKua.net
- Splitterってどうやって使うのかよくわからん
bondriverproxyExと組み合わせて使えたりしないの?
誰か優しく教えてください
- 161 :名無しさん@編集中:2015/07/13(月) 00:36:11.01 ID:0OlbZrg8.net
- >>159
VirtualPTで申し訳ないけど、不要なサービスが一通り削れた状態でYogaTab2-8とかVivo tabで普通に視聴出来てる。
(テレビとか見る目的なら、自立するし音良いしバッテリーの保ちもいいし、Yoga tabなかなかおぬぬめ。)
AP選ぶ時は古い11n対応製品だと少し速度足りないかも。買い換えるなら5GHz対応品がお勧め。
タブレット選ぶ時は無線感度の評判とか気をつけた方が良いかも。同じく5GHz対応品がお勧め。
- 162 :名無しさん@編集中:2015/07/13(月) 01:32:20.82 ID:bPtspu60.net
- Splitter最高!とても助かってます。Proxy共々最新版でド安定。作者さんに感謝感謝
- 163 :名無しさん@編集中:2015/07/16(木) 19:51:14.47 ID:GdphdNtN.net
- KTV-FSUSBでBonDriver_Proxy&Splitter(TSSYNC=1,TSSYNC=1,DEL=TYPED)の組み合わせで有り難く使わせてもらっています
TVTest0.9でMX1とMX2を頻繁にチャンネル切り替えしていると希に映像が止まりってしまいます(dBやMbpsは正常に動いている)
切り替え50〜100回に1回程度のことなので気にするなと言われればそれまでなのですが、EDCBでもMX1の録画で極希に0byteファイル(エラー無し)が出来てしまうので困っています(EDCBに関しては別の原因かもしれませんが)
Proxy単体ではもたつくことはありますがチャンネル切り替えに失敗することはないようです
うちだけのおま環現象なのでしょうか?
- 164 :163:2015/07/16(木) 22:45:36.15 ID:GdphdNtN.net
- すいません、その後、画面が止まった状態で録画ボタンを押してみたところきちんと録画されてました
どうやら自分でビルド&改造したTVtestやEDCB周辺の問題みたいです
Splitterの不具合ではありませんでした。本当に申し訳ございませんでした
- 165 :名無しさん@編集中:2015/07/27(月) 10:44:09.10 ID:OLYwHRxG.net
- BonDriverProxyのCAS処理の有無をBonDriver毎に設定できるようになるといいな。
ついでにプレミアムも観たいのでデコーダーを選べるようになるといいな。
- 166 :名無しさん@編集中:2015/07/27(月) 10:53:25.45 ID:+yqMGGCd.net
- >>165
何の意味があるんだか
- 167 :名無しさん@編集中:2015/07/28(火) 11:13:10.69 ID:uQLzGymH.net
- >>166
素人にはわからないんだろうな
- 168 :名無しさん@編集中:2015/07/28(火) 12:54:58.52 ID:vrCFW5Y/.net
- >>167
ぷっ
- 169 :名無しさん@編集中:2015/07/28(火) 21:07:15.07 ID:HoYH6NEk.net
- 俺プロだけど分からないわー
- 170 :名無しさん@編集中:2015/07/29(水) 12:09:33.35 ID:MIIfV6gU.net
- お前じゃ分からないか、この領域(レベル)の話は
- 171 :名無しさん@編集中:2015/07/30(木) 07:18:43.42 ID:vSMHrbjo.net
- 自称プロは実在をしらないんじゃないか?
素人の俺でもわかるのにww
- 172 :名無しさん@編集中:2015/07/30(木) 21:20:30.77 ID:ttIkp/O6.net
- 寄付で30万円ぐらいしか稼いだことないなんちゃってプロな俺は分からないなぁ
- 173 :名無しさん@編集中:2015/08/21(金) 18:23:47.10 ID:pzoegyNf.net
- BonDriver_Splitterいいですね1日遊んだんですけど単体は問題なしなんですが
BonDriverProxyとの連携が全然うまくいきません
そのままSoritterをProxyのiniでラッピングしてもダメなのかな
iBondriver()がNULLで返されましたとTVTESTで返してお手上げです。
実験でSpritterをSpinelに飲ませてみたのですが色々書き換えて
認識は問題なしTVTESTでもエラーでずだけど
チャンネルスキャンが灰色で選べないで手詰まりに
BonDriver_PT-S.ChSet.txtを書き換えてなんとかなるレベルなんだろうかこれは
もう1つのProxyのほうはなんでエラーでてるのかさっぱりなのでソース読んで
エラーを自分で振ってチェックしてみるか。
- 174 :名無しさん@編集中:2015/08/21(金) 18:35:58.64 ID:ub+yp1q/.net
- マザーをまな板って言う香具師
ソフト関連やハードを遊ぶって言う香具師
sourceをソースって言う香具師
これらは全員キモオタの中二病だと本気で認識してる
- 175 :名無しさん@編集中:2015/08/21(金) 18:42:51.23 ID:fDrjavBU.net
- なんの改変ネタだよ
- 176 :名無しさん@編集中:2015/08/21(金) 22:32:16.53 ID:WwdJQNBG.net
- 香具師つかう人なつかしいな・・脳が10年前でストップしてる
- 177 :名無しさん@編集中:2015/08/22(土) 00:46:11.11 ID:FWrYXTeR.net
- 香具師とはまた懐かしい響き
- 178 :名無しさん@編集中:2015/08/22(土) 23:58:37.11 ID:BrjHK9By.net
- 結局香具師の本来の意味って調べたことなかったな
- 179 :名無しさん@編集中:2015/08/25(火) 10:19:34.57 ID:luLqmVUt.net
- Bondriver_Splitterって鯖じゃなくて自機のローカルのBondriverを1チャンネル1サービスに分割することって出来る?
と思って試してみたらtvtestの視聴は正常に出来るんだけど、
ソース: Application Error
イベント ID: 1000
障害が発生しているモジュール名: msvidctl.dll_unloaded
とイベントログに必ず記録されるんだけど
あとtvtest.iniに最後に見たチャンネルなどの設定が正常に記録されなくなる
- 180 :名無しさん@編集中:2015/08/25(火) 22:01:19.60 ID:neqPdG2n.net
- DirectShow関係のライブラリみたいだけど、デコーダとかレンダラとか切り替えてみたら。
bonDriver関係ないと思う
- 181 :名無しさん@編集中:2015/08/25(火) 23:52:16.98 ID:ygEVlK+Q.net
- >>173
ありがちなポイントとしては、
・BonDriver_Splitterから読み込む対象のBonDriverがみえているか?
・アプリやそれぞれのdllについて、x64/x86の違いは問題無いか?
辺りでしょうか…
前者はBonDriver_Splitterを使うマシンでDebugView等でモニタしながら動かすとエラーが起きてるかどうかわかります
後者は個々のバイナリがどっちなのかを確実に確認するしかないですね
Dependency Walkerやdumpbinを使えば簡単ですが、対象バイナリをバイナリエディタで開き、ファイル先頭から
"50 45 00 00"(PEヘッダシグネチャ)を検索して、その直後の2バイトが"4C 01"ならx86、"64 86"ならx64、
と言う確認方法でもまず大丈夫かと思います
- 182 :名無しさん@編集中:2015/08/25(火) 23:56:09.47 ID:ygEVlK+Q.net
- >>179
基本的には対象BonDriverから読み出したTSストリームを設定に従って分割してるだけなので、そう言う使い方も一応可能です
が、TVTestの場合は同じ事が自前で出来るので、それにあんまり意味は無さそうかなと思っていましたが…
文脈的に、Application ErrorのEventID:1000はやはりTVTestが出してると言う事でしょうか?
だとするとちょっと良くわからないのですが、もしそうでは無く、例えばBDPLのおまけのsampleをwinに移植したもの
とかだとすると、sample側でCOMの初期化を行うようにしておかないと、BDA系のBonDriverをBonDriver_Splitter経由で
読み込んだ場合にその手のエラーが発生するかもしれません
- 183 :名無しさん@編集中:2015/08/26(水) 09:18:15.88 ID:xTYYaZ/n.net
- >>173
あ、こっちのほうは土曜一日かけていろいろ調べて、Spritter&Proxy混合で
ばっちり動いています。お気遣いありがとうございます。
Proxyのini設定ファイルに記載するBONファイル長の問題だったようです。
TとSを4つづつフォルダと記載なので軽くオーバーしていたようです。
1つのフォルダにまとめて簡潔に記載することにより動作しました。
軽くて快適です。
- 184 :名無しさん@編集中:2015/08/26(水) 09:33:20.35 ID:xTYYaZ/n.net
- 前のレス >>173じゃなかった >>181の方ね
でもやっぱりT、Sそれぞれに登録したデバイス指定と
チャンネルロックは個別ふりが欲しくなってきました。
- 185 :名無しさん@編集中:2015/08/27(木) 14:21:45.08 ID:Lyjy7vdw.net
- >>182
障害が発生しているアプリケーション名: TVTest.exe、バージョン: 0.9.0.0、タイム スタンプ: 0x55da7838
障害が発生しているモジュール名: msvidctl.dll_unloaded、バージョン: 6.5.10240.16384、タイム スタンプ: 0x559f3b17
例外コード: 0xc0000005
障害オフセット: 0x000bbc5b
障害が発生しているプロセス ID: 0x4bc
障害が発生しているアプリケーションの開始時刻: 0x01d0de363f799932
障害が発生しているアプリケーション パス: C:\DTV\TVTest\TVTest.exe
障害が発生しているモジュール パス: msvidctl.dll
こういう感じです
PX-BCUDなので配布ドライバに難があるのかも?あるいは、こちらで何らかの設定を間違えてるとか。
- 186 :名無しさん@編集中:2015/08/27(木) 15:09:19.82 ID:A1gqrdMh.net
- 終了中にクラッシュしてる?
- 187 :名無しさん@編集中:2015/08/31(月) 07:33:58.76 ID:oeJuGm0m.net
- >>184
> でもやっぱりT、Sそれぞれに登録したデバイス指定と
> チャンネルロックは個別ふりが欲しくなってきました。
具体的にどのような動作なのか教えてもらえれば時間がある時に検討してみます
#チャンネルロック周りは現仕様との互換性が鬼門になりそうなので、
#聞くだけ聞いて無理でしたとなるかもしれませんがヽ(;´ー`)ノ
- 188 :名無しさん@編集中:2015/08/31(月) 07:44:51.97 ID:oeJuGm0m.net
- >>185
やはり以前BDP本体でも対応したCOM周りの問題に似てますね
TVTestはちゃんとCOM初期化行ってるのですが…と思いましたが、よく考えるとSetChannel()で読み込んでるBonDriverの切り替えが
発生する場合に、それが内部で勝手にCOM初期化/終了処理を行うあんまり行儀のよくないBonDriverだった場合、地雷踏む可能性が
あるかもしれません
#そしてPX-BCUD用のBonDriverは、上記行儀のよくないBonDriverに該当します(;´Д`)
これはどう対応するべきか…
OpenTuner()/CloseTuner()とSetChannel()を別スレッドから行っていると言うTVTestの仕様にも関係してくるので、
汚い対応にならざるを得ないかも(;´Д`)
もしビルド環境があるなら暫定的に、
https://github.com/u-n-k-n-o-w-n/BonDriverProxy/blob/1ade5f878fec228364d13130c5a9b4dead4b653a/BonDriver_Splitter/BonDriver_Splitter.cpp#L554-L555
の2行の間に、
---
::CoInitialize(NULL);
---
を追加してからビルドして、状況が変わるか試してみてもらえないでしょうか?
- 189 :名無しさん@編集中:2015/08/31(月) 08:34:01.23 ID:oeJuGm0m.net
- あるいは、使用しているBonDriverがこれ↓なら、
ttp://www1.axfc.net/uploader/so/2503551
BonDriver_BSCS.dllに以下のバイナリパッチを当てて試してみるとか…
#ウチには動作環境が無いので動作テストはできていませんが(;´Д`)
---
000007BB: 6A -> 8B
000007BC: 02 -> F1
000007BD: 6A -> EB
000007BE: 00 -> 08
00000902: FF -> EB
00000903: 15 -> 04
00000904: 88 -> 90
00000905: 91 -> 90
00000906: 01 -> 90
00000907: 10 -> 90
---
OpenTuner()/CloseTuner()で勝手にCOMの初期化/終了処理を行わせないようにしたつもりで、
個人的にはこちらの方が好みですヽ(;´ー`)ノ
- 190 :名無しさん@編集中:2015/08/31(月) 09:57:22.15 ID:yTI8sOEd.net
- BonDriverProxyExをちょっと試してみました。
CHANNEL_LOCKの動作が曖昧で怖い気がする。
というか、LOCKというより同じ優先度って感じなのでしょうか。
Spinelだと排他コントロールでアクセスすると、
後でアクセスしてきたクライアントはいかなる権限でもチャンネル変更ができなかったけど
(というより排他コントロールを求める追加アクセスはキャンセルされる)
BonDriverProxyExの場合
CHANNEL_LOCK=1ですべてのチューナにアクセス中でも、
後で来たCHANNEL_LOCK=1のクライアントが自由にチャンネルを変更できてしまう。
実用上の問題はないんだろうけど、ちょっと気持ち悪い。
- 191 :名無しさん@編集中:2015/08/31(月) 11:19:17.28 ID:+tI+CuV1.net
- 0の時と同じ動作してるんだろう
確かに0同士の時はロック権限無いから後から来たのを優先させるのがいいけど
1の時はどっちがいいだろうかと思ったが
そもそもロック権限持ちが物理チューナー数を超える場合は録画ソフトが調定する事であって問題起きる環境を見直すべきじゃなかろうか?
- 192 :名無しさん@編集中:2015/08/31(月) 11:44:17.41 ID:yTI8sOEd.net
- だいたい、その通りなんだけど
ini_info.txtには排他制御って書いてあるので、ちょっと違うんじゃないかと思ってね。
話しに挙げてみただけ。
- 193 :名無しさん@編集中:2015/08/31(月) 11:59:36.07 ID:uemfZlrK.net
- >>187
>#聞くだけ聞いて無理でしたとなるかもしれませんがヽ(;´ー`)ノ
いつもごくろうさまです。spritterの1サービス1chすごく便利です。
使用用途としてはTチューナを4つSチューナを4つ登録して
それぞれのTとSの最後のチューナのみ視聴として使いたいのです
で、このチューナのみchロックを外しておけばPCで視聴途中席を立った
最中は無線で飛ばしてタブレットなどでもそのまま見ることが出来、
1つのチューナ内で連動してチャンネルも自由に変えられます。
※実際spinelはその動作が可能です。
現状前3チューナをasc指定後ろ1チューナをdesc指定して使ってますが
ロックの問題とチューナの使用状況によりチューナが増えるのが難点で
これがデバイス1つ1つ指定できて排他ロックしてほしい理由です。
- 194 :名無しさん@編集中:2015/08/31(月) 12:00:20.40 ID:uemfZlrK.net
- BondriverspritterとBonProxyExを1週間使用してみたのですが
過去ログにもどなたかが書かれてましたがチャンネルを次々変えるような
動作(具体的にはTVROCKから1チューナを視聴で使い番組情報取得を実行)
を行うとProxyEXが落ちることがあります。
またこれが起こるとチューナーをつかんだままになることがあります
具体的にはPT2のSチューナが占有されたままで再起動するまで直りません
でした。Spinelとかだと占有されたデバイスを手動で切れるしSpinelを
終了すれば占有してるのも解除してくれてたので判りやすかったのですが
※ちなみに番組情報を連続して使用しなくてはいけなくなった理由は
SpritterでEITまで指定してたのに気づいた…そりゃ番組情報が空にorz
- 195 :名無しさん@編集中:2015/08/31(月) 12:53:33.61 ID:uemfZlrK.net
- >>190
あれ?ascとdescができた経緯と仕様説明で
登録BONDRIVERの指定は登録した先頭順か最後尾順しかできないはずだから
同一のチャンネルでないかぎり新しいドライバが開く仕様だと理解してたけど
違うの?
- 196 :名無しさん@編集中:2015/08/31(月) 21:48:16.53 ID:yTI8sOEd.net
- >>195
チューナーがすべて埋まった場合は既存チューナが開くと思うのだけど
その場合ね。
ちょっと、もう一度いろいろ確認してみる。
- 197 :名無しさん@編集中:2015/08/31(月) 22:56:32.06 ID:oeJuGm0m.net
- >>190-192
確かに排他制御と言うと意味的に違ってきますね
後でini_info.txtの記述を直しておきますヽ(;´ー`)ノ
一応、ReadMe.txtの方の記述(こちらはちゃんと優先度と書いてました)が正しいと言う事で…
https://github.com/u-n-k-n-o-w-n/BonDriverProxy/blob/1ade5f878fec228364d13130c5a9b4dead4b653a/ReadMe.txt#L54-L55
ここの挙動は一番最初にどうしようか迷ったんですが、>>191さんとほぼ同じ事考えた結果、
今の仕様になってます
- 198 :名無しさん@編集中:2015/08/31(月) 23:10:04.44 ID:oeJuGm0m.net
- >>193-194
例えばSで言うと、4チューナの内1つは必ず視聴用に空けておきたい的な意味でしょうか?
その場合は録画ソフト側で、Sのチューナは3つと設定してしまえば、ロックされるのは最大で3チューナまでなので
1つは必ず空きますが、そう言う単純な話ではないと言う事ですよね…?
当方なにぶんハードコアな録画人ではないので、あんまり高度な使い方が想像できず…
これこれの状況ではこのように動いてほしい、みたいに教えてもらえると助かります(;´Д`)
落ちる件に関しては、TvRockはさわった事が無いのですが、実際にBonDriverを使ってるのはTVTestと言う事でしょうか?
形としては1つ目のTVTestで視聴しながら別のTVTestでチャンネルスキャン、みたいな状況と同じなのかなと思うのですが、
手元ではちょっと再現できていません…
使用ソフト類のバージョン等の環境と、あともし具体的な再現方法がわかれば教えてください
- 199 :名無しさん@編集中:2015/09/01(火) 06:20:15.68 ID:/7UttABy.net
- >>188-189
レスありがとうございます。
まず>188のですが、ソースに追加はしたのですがこちらの環境を最近VS2015に切り替えてまして
3>BonDriver_Splitter.cpp(556): error C2105: '--' には左辺値が必要です。
3>BonDriver_Splitter.cpp(558): error C2059: 構文エラー: '}'
ビルドしようとすると上記のエラーが出てビルド失敗してしまいますw
これは別問題なので報告させて頂きます
>189の方ですが、バイナリを改変してPX-BCUDの実機でテストしてみましたがエラーは出なくなり
前回終了時のチャンネルもちゃんと次回起動時に反映されるようになりました。
お手数おかけしましたが、大変ありがとうございます。
なおお手数ついででさらに問題を増やして申し訳ないんですが、PX-W3U3を自機に繋いでSplitterで
運用しようとするとチャンネルスキャンで確実にTVTestが落ちますw
対象BonDriverでのチャンネル番号等はPXシリーズとPT2、3とは違うので全部書き換えてあるのですが、
そのへんは設定に問題ないとは思うのですが…。
おそらくまた配布Bon_driverに難があるのでしょうし、特に必要に迫られているわけではないですが、
再現性100%なのでご報告まで。
- 200 :名無しさん@編集中:2015/09/01(火) 06:22:23.20 ID:/7UttABy.net
- ログの名前: Application
ソース: Application Error
日付: 2015/09/01 5:36:32
イベント ID: 1000
タスクのカテゴリ: (100)
レベル: エラー
キーワード: クラシック
ユーザー: N/A
コンピューター:
説明:
障害が発生しているアプリケーション名: TVTest.exe、バージョン: 0.9.0.0、タイム スタンプ: 0x55da7838
障害が発生しているモジュール名: BonDriver_PX_W3U3_S1.dll、バージョン: 0.0.0.0、タイム スタンプ: 0x4d8b6111
例外コード: 0xc0000005
障害オフセット: 0x00012c94
障害が発生しているプロセス ID: 0x2dc
障害が発生しているアプリケーションの開始時刻: 0x01d0e42c84a3f4ff
障害が発生しているアプリケーション パス: C:\DTV\TVTest\TVTest.exe
障害が発生しているモジュール パス: C:\DTV\TVTest\BonDriver_PX_W3U3_S1.dll
エラーログはこんな感じです。
- 201 :名無しさん@編集中:2015/09/01(火) 06:25:39.28 ID:/7UttABy.net
- あと、PX-W3U3を繋いだ鯖に対して他のクライアントからBonProxyExへBpndriver_Splitterで繋ぐ分には
視聴にもチャンネルスキャンにも全く問題が無いです。自機でチャンネルスキャンのみTVtestごと落ちます。
- 202 :名無しさん@編集中:2015/09/01(火) 07:18:28.50 ID:Hg+0uomq.net
- >>197
レスありがとうございます。
そこに書いてあったんですね、見逃してましたすみません・・・。
仕様なら仕方ないですね。
ありがとうございました。
- 203 :名無しさん@編集中:2015/09/01(火) 07:42:36.53 ID:/7UttABy.net
- >>199
追伸、自己レスになりますが早朝なので寝ぼけてて---の部分も一緒にコピペしてビルドしてましたw
今削除して再ビルドしたら成功しました、お騒がせしました。
ビルドしたものをtvtestに読み込ませようとしましたが、読み込めないか見当たらないというようなエラーが出るので
検証できませんでした。何故かは分かりませんがいま時間が無いのでちょっと置かせてください
- 204 :名無しさん@編集中:2015/09/01(火) 10:31:52.90 ID:lugaF9Km.net
- >>198
返信ありがとうございます。
>例えばSで言うと、4チューナの内1つは必ず視聴用に空けておきたい的な意味でしょうか?
視聴用ですがネットワークで別端末で利用したいのでProxyの機能は必要なのです
前3つのチューナーは録画チューナーなのでProxyEXが前から選択しても問題ないのですが。
いっそProxyで最後のチューナーのみノンロックで登録しちゃえばいいじゃん
とも思えるのですがSpinelだと録画中なのもロックのまま確認などもできてたので
あったらいいなという感じです。
>実際にBonDriverを使ってるのはTVTestと言う事でしょうか?
そうです。TVTest起動後のプロセス見てるかぎりTvRockOnTVTestというプラグイン
内でDDEを使って番組情報を取得してるだけなので実際にドライバを占有している
のはTVTestになります。
>使用ソフト類のバージョン等の環境と、あともし具体的な再現方法がわかれば
Windows10 Pro 64bit TVRock ver0.9u2バグ修正パッチ適応版
TvRockOnTVTest (修正版8.1) ※BSCS最新TSID周波数のマッピングini適応済み
TVTest 0.723(x86) + BonDriver_Proxy.dll
TVRockにTチューナを4つSチューナを4つ登録し最終Sチューナで視聴中に
番組情報の全チャンネル取得(ただし仕様で10分ほどで切れるので何度か行う)
3時間ほどやってProxyEXが2回落ちたので再現率はほどほど。
- 205 :名無しさん@編集中:2015/09/01(火) 22:34:59.56 ID:94KcBTZM.net
- >>199-201,203
>>189の対応で直るのなら、やはり原因は>>188に書いたもののようですね
ひとまず問題無くなったようで良かったです
また、再現状況からみる限り、BonDriver_PX_W3U3の方もBonDriver_BSCSと同じ原因に見えます
BonDriver_PX_W3U3と言うと、これ↓だと思いますが、
ttp://www1.axfc.net/uploader/so/2503073
// BonDriver_PX_W3U3_S
---
0000FF0E: FF -> EB
0000FF0F: 15 -> 04
0000FF10: 84 -> 90
0000FF11: 71 -> 90
0000FF12: 01 -> 90
0000FF13: 10 -> 90
0001007F: 6A -> EB
00010080: 00 -> 06
---
// BonDriver_PX_W3U3_T
---
0000FE6E: FF -> EB
0000FE6F: 15 -> 04
0000FE70: 78 -> 90
0000FE71: 71 -> 90
0000FE72: 01 -> 90
0000FE73: 10 -> 90
0000FFDF: 6A -> EB
0000FFE0: 00 -> 06
---
で>>189と同様の変更になると思うので、直るかもしれません
なお、もし無改造のBonDriver_BSCSが>>188の変更で使えるようになるなら、
BonDriver_PX_W3U3も無改造で大丈夫になるんじゃないかと思います
- 206 :名無しさん@編集中:2015/09/01(火) 23:12:16.33 ID:94KcBTZM.net
- >>204
> 視聴用ですがネットワークで別端末で利用したいのでProxyの機能は必要なのです
例えば、BDPEXへのBonDriver登録でSとして4個登録しておき、録画用Sチューナが3つで良いのならTvRockには
Sのチューナ数を3として設定しておけば、ロック権を持つクライアントは3つ以上発生しない筈なので、
残り1つのチューナは視聴用として常時使える状態になりますよね?そう言う話ではないのでしょうか?ヽ(;´ー`)ノ
> TVRockにTチューナを4つSチューナを4つ登録し最終Sチューナで視聴中に
> 番組情報の全チャンネル取得(ただし仕様で10分ほどで切れるので何度か行う)
> 3時間ほどやってProxyEXが2回落ちたので再現率はほどほど。
なるほど…
時間ができたらもうちょっと詳しく再現実験やってみます
- 207 :名無しさん@編集中:2015/09/02(水) 12:02:08.33 ID:vaUpWL7k.net
- >>205
こちら対応の方ありがとうございます。
チャンネルスキャンの方ですが、W3U3のBon_driverのバイナリを修正したのですがTVtestが落ちる症状は変わらずでした…
こちらのチャンネル設定などに間違いが無いか後でもう一度iniファイルを調べ直してみます。
(BCUDの方はドライバ修正前でもチャンネルスキャンは無事完走していました)
>>188の方ですが、gitからダウンロードしたzipからソース無改造のビルドをしてBondriver_Splitter.dllを置き換えても
TVtestでは読み込めない、モジュールが見当たらないとエラーが出ます。
複数のPCで検証して同じ事になるので、VS2015でビルドしていること自体に何か問題があるのでは
と思うのですが…
以上、2点ともこちらの環境の問題である可能性があるのでまた後で調べてみます。
- 208 :名無しさん@編集中:2015/09/02(水) 16:24:03.71 ID:IdorTQkb.net
- >>206
>そう言う話ではないのでしょうか?ヽ(;´ー`)ノ
ちょっとだけ違います。
SとT混在して話するとややこしくなるのでTだけの話にして
視聴チューナをメインに考えれば後ろ1チューナだけロックなしで
登録すればそれで問題なし!出先からでもタブレット端末でも視聴可能です。
が、前チャネルがちゃんと録画開始してるか確認したいって話になると、
チューナ選択できるわけではないしできてもロックしてないと起動した時
チャンネル変わる危険性もあるしで確認できない。って話です
使い勝手の問題ですね。Spinelでは可能でVirtualPTでもチューナはVirtualPT
まかせなので無理な使い方です。
- 209 :名無しさん@編集中:2015/09/02(水) 19:07:10.40 ID:JKKKZOzE.net
- それはtvrockにブラウザ経由でアクセスして確認することでしょ
なんで録画されてるかどうかをチューナー共有ソフトで確認するの?
そんな気になる程不安定なら環境を見直すべき
そんなにspinelと同じ使い方したいなら
チューナー1つずつグループ分けすればいいんじゃねえの
それやるとtvrockで運用する時の唯一の利点である同一チャンネルの連続した録画の切り替わりや同じ時間に同一トラポンのCSチャンネル複数同時録画等
tvrockからは複数チューナー使ってるように見えて実際は1チューナーしか使わないってのもなくなるけど
- 210 :名無しさん@編集中:2015/09/02(水) 21:39:59.32 ID:2FyvDVyy.net
- >>209
不安定じゃないですよずっと少なくとも2年はSpinelで構築してたので
>そんなにspinelと同じ使い方したいなら
>チューナー1つずつグループ分けすればいいんじゃねえの
それは既にやってみました
00=PT-Ta;
01=PT-Tb;
01=PT-sc;
01=PT-Sd;
こういうことですよね?しかしこれは過去ログですでにSとTでまとめないと駄目だと
回答がでてる内容なので残念ながら使えないようです。
- 211 :名無しさん@編集中:2015/09/02(水) 21:41:08.20 ID:2FyvDVyy.net
- 間違えたこうだった
00=PT-Ta;
01=PT-Tb;
02=PT-sc;
03=PT-Sd;
- 212 :名無しさん@編集中:2015/09/02(水) 22:04:37.79 ID:B6tqUz1r.net
- 対応してほしい気持ちはわかるけど
あまりメンテナーを困らせちゃだめだよ
- 213 :名無しさん@編集中:2015/09/02(水) 22:37:06.51 ID:iyXxQEkd.net
- >>207
ありゃ、ダメでしたか
となるとまた何か別の原因なのかもしれませんね(;´Д`)
なんだろう…
ビルドしたのが読み込めない件は、
・アプリとBonDriverのx86/x64のズレ
・MDでビルドしたけど実行環境には2015のランタイムが入っていない
辺りではないでしょうか?
当方の手元では、VS2015環境でビルドした物でも一応問題無く使えています
#もっとも、しっかりテストしてみたわけではありませんがヽ(;´ー`)ノ
- 214 :名無しさん@編集中:2015/09/02(水) 22:44:45.63 ID:iyXxQEkd.net
- >>208,210-211
いえ、
---
00=T0-2;.\BonDriver_PT-T0.dll;.\BonDriver_PT-T1.dll;.\BonDriver_PT-T2.dll
01=T3;.\BonDriver_PT-T3.dll
---
みたいな使い方は可能なハズですよ
この場合、T0-2で正しく録画が始まってるかを確認したい場合は、ロック権を持たないクライアントで
T0-2に接続してみて、チャンネル変更が拒否されるかどうかで一応確認できるでしょうね
#1チューナでしか録画が行われていない状態では、3クライアント繋いでそれぞれ別のチャンネルを
#選択してみないとわかりませんが(;´Д`)
ただお話を聞く感じでは、どのBonDriverを使うのかできるだけ把握したい、と言う感じに聞こえます
その場合はBDP(無印の方)を使う方がやりやすいのではないでしょうかヽ(;´ー`)ノ
- 215 :名無しさん@編集中:2015/09/03(木) 07:47:51.08 ID:+EjSP6k3.net
- >>213
原因が分かりました、おっしゃる通りで2015のランタイムが入ってないことが原因でしたw
tvtestは2015でビルドしても2013までのランタイムで動いてたので気づきませんでした。
で改めて>>188のソース改造してdllを置き換えたんですけども
BCUDの方は
修正済みBondriver_Splitterdllのみ置き換え→起動時>>185のエラー
修正済みBondriver_Splitterdll置き換え+Bondriver_BCUDのバイナリ改造→エラー無し
Bondriver_BCUDのバイナリ改造のみ→エラー無し
という結果になりました。
W3U3の方はすいません、上のように置き換えてみましたがいずれの組み合わせでもチャンネルスキャンで落ちました(>_<)
まあ火急の用事ではありませんのでこちらでもiniの設定ミスがないかまた見てみます。
- 216 :名無しさん@編集中:2015/09/03(木) 12:27:55.85 ID:Xvzsvudc.net
- >>214
なるほど!どうも仕様を勘違いしていたようです
00=PT-T0;BonDriver_SplitterPT-T0.dll
01=PT-T1;BonDriver_SplitterPT-T1.dll
02=PT-T2;BonDriver_SplitterPT3-T0.dll
03=PT-T3;BonDriver_SplitterPT3-T1.dll
04=PT-S0;BonDriver_SplitterPT-S0.dll
05=PT-S1;BonDriver_SplitterPT-S1.dll
06=PT-S2;BonDriver_SplitterPT3-S0.dll
07=PT-S3;BonDriver_SplitterPT3-S1.dll
鯖側Proxyini0-2 4-6 CHANNEL_LOCK=1 3と7 LOCK=0
クライアント全てCHANNEL_LOCK=0
これでうまくできましたチューナ別もロックもバッチリです
お手数をおかけして申し訳ありませんでした。(._.;)
理解できるまでお付き合いいただきありがとうございます。
>ロック権を持たないクライアントでT0-2に接続してみて、
確かに鯖側の環境をそのままコピーしただけだと新しい
プロキシにロック権奪われチャンネル変えられちゃいました;
- 217 :名無しさん@編集中:2015/09/04(金) 08:08:16.26 ID:uXGZ1arN.net
- >>215
基本的に>>188は、>>189と同じ事を、BonDriverを読み込む側で無理やり何とかしようとしてる物です
しかも、
> 修正済みBondriver_Splitterdllのみ置き換え→起動時>>185のエラー
と言う事は、それだけでは対応できないようですね
原因自体は推測した通りだが、別の箇所でも地雷を踏んでいる、と言う事でしょうか…
いずれにせよ、>>189のバイナリ変更を行ったなら>>188の変更は不要ですよ
W3U3の方は、多分同じ問題を持ってはいますが、それだけではなく別件の問題も持っているんでしょう…
バイナリ変更はしておいても良いかと思いますが、別件の問題を引き起こしてる原因を突き止めないと
解決は難しいかも(;´Д`)
なお、TVTestは標準ではランタイム不要な形(/MT)でビルドされるので、2013のランタイムがあるから動いてた、
と言うワケではないと思いますよ
対してBonDriver_Splitterは、標準ではランタイムが必要な形(/MD)でビルドされるようになってます
ビルドオプションを/MTに変更すればランタイム不要にできます
#一応、当方がバイナリ配布する際には/MTビルドした物を使うようにしています
- 218 :名無しさん@編集中:2015/09/04(金) 08:12:32.36 ID:uXGZ1arN.net
- >>216
望む動作に出来たようで良かったです…が、
> 鯖側Proxyini0-2 4-6 CHANNEL_LOCK=1 3と7 LOCK=0
> クライアント全てCHANNEL_LOCK=0
この「鯖側Proxyini」と言うのは、「TvRockが録画用アプリに指定するBonDriver_Proxy.dllの設定ファイル」
と言う意味で使っておられるのですよね?
そうであれば問題無いのですが、BonDriverProxyEx.exe(サーバアプリ)の設定ファイルにCHANNEL_LOCKを書いても
無視されるだけで、もしそこを勘違いされていると録画失敗に繋がりかねないので、ご注意くださいヽ(;´ー`)ノ念の為
- 219 :名無しさん@編集中:2015/09/04(金) 09:59:58.83 ID:L/+JKEHw.net
- >無視されるだけで、もしそこを勘違いされていると録画失敗に繋がりかねないので、ご注意くださいヽ(;´ー`)ノ念の為
ありがとうございますもちろんBonDriver_Proxy.iniに記載しています大丈夫ですバッチリです!(きっと;
- 220 :名無しさん@編集中:2015/09/04(金) 12:15:29.59 ID:GVQiqXTN.net
- >>217
こちらありがとうございます。
/MTビルドの件了解しました、勉強になりました
どちらにしろソースが公開されてない該当Bondriverのバイナリの改造が必要っぽいので、
それをBondriverproxyの作者さんにお願いするのは筋違いなので
いちおうそういう上記の症状があると言うことだけ把握して頂ければ、と思います。
なお、Bondriver_Splitterのiniファイルをtvtestのch2ファイルと照らし合わせてみましたが、チャンネル定義にはミスはありませんでした。
- 221 :名無しさん@編集中:2015/09/04(金) 22:37:31.65 ID:EnylOGHl.net
- >>207
うちはPX-W3U3を使ってWin8.1ではSpinelで運用してたけど、Win10になってBonProxyExに乗り換えてみましたが
チャンネルスキャンも動いてます。
ビルド環境はwin10上でVS2015、運営環境はwin10でvcredistは2015と2013のみ .NET Frameworkは今は4.6のみで、
TVTest、BonDriver_Splitter、BonDriverProxyExSrv、EDCB(xtne6f 一部他の版混入,ビルドは一部Intel c++)、
Remotetestserver、Smacon2、タイニー番組ナビゲータで運用しています。
TVTestのビルドはVS2015 Win10 で、TVTest-developの1,2ヶ月くらい前の物です。
それ以降のソースの物がビルド後 exe起動時にエラーを吐いて起動すらできない為以前のもので運用してます
後Win10に変えた直後からTVTestがカードリーダー関連のdllを読み込まなくなったため、カードリーダー関連の
ラッパーdllを挟んでみたところ動くようになりました。(不動作、動作理由は理解してません)
参考になるかもしれないのでうちのPX-W3U3環境のBonDriverProxyEx関連iniとチャンネル設定をアップしておきます。
http://www1.axfc.net/u/3529021
- 222 :名無しさん@編集中:2015/09/05(土) 08:44:04.01 ID:eC/YkF4x.net
- >>221
わざわざありがとうございます。
>>201を見てもらえれば分かると思うんですけど、クライアントから鯖へBonProxyExを通す分にはうちでも正常ですよ
チャンネルスキャンで落ちるのは、自機でBondriver_Splitterを通してドライバを読み込んだときです
- 223 :名無しさん@編集中:2015/09/05(土) 09:55:18.60 ID:r5GA9NxD.net
- チャンネル開いたら絶対他に奪われないロック権限設定が欲しいなぁ
EDCBが録画してBSチューナーが埋まってるとき
設定をみようとEpgDataCap_Bonを開いてしまったら
録画中のチューナーのチャンネルが変ってしまって失敗した
まあ、自分のせいだけど事故防止のために欲しい
- 224 :名無しさん@編集中:2015/09/05(土) 12:01:29.95 ID:YA7d8p3a.net
- >>223
自分も先行ロック優先はちょっとほしいw
- 225 :名無しさん@編集中:2015/09/05(土) 18:14:57.20 ID:nG060/Qd.net
- 先行チケット、先行予約、先行販売
世の中に先行ほど大事なものはない・・ようなあるようなどっちでもいいようなけど必要なようなでもあってもなくてもいいような
それが先行
- 226 :名無しさん@編集中:2015/09/05(土) 18:55:07.38 ID:B9g+bx8m.net
- >>221
221 です。
なるほどー。 BonDriverProxyExで配信後にSpilterが入っているのですかね? うちの構成はこんな感じですね。
@ TVサーバー機側構成(通常視聴もこれ) S側についても同じ構成なので省略
BonDriver_PX_W3U3_T0→BonDriver_Splitter_T0→BonDriverProxyEx〜〜BonDriver_ProxyT→TVTest
BonDriver_PX_W3U3_T1→BonDriver_Splitter_T1→↑ ↓→BonDriver_ProxyT→EDCB→たいNavi
↓→BonDriver_ProxyT→RemoteTestserver
TVクライアント機へ
A TVクライアント機側構成 S側についても同じ構成なので省略
BonDriver_ProxyT →TVTest
TV運用機 Windows10 外付けカードリーダー @
メインPC Windows10.vhdx-VS2015 ,Windows7.vhd 外付けカードリーダー A
@とAが入れ替わることあり
上記の構成でチャンネルスキャン正常です。
BonDriver_PX_W3U3_T0→BonDriver_Splitter_T0→TVTestだけの構成でもスキャン試してみましたが正常動作します。
ふと思ったのですが、スキャンで落ちているということは自機側のSplitter設定で、スキャンに影響する信号をきっているのでは?
ちなみにうちではこれを切ってます。
DEL=BIT,TOT,M-EIT,L-EIT,SDTT,CDT,TYPED
- 227 :名無しさん@編集中:2015/09/06(日) 00:50:37.24 ID:LOpIhx6I.net
- >>223-224
チャンネルロックを先行優先にしたいと言う要望がそれなりにあるみたいなので、とりあえず追加してみました
#バイナリも更新してます
0〜255の数値で優先度を設定するモデルで、数値の大きな方が優先、同値の場合は対等ですが、
255の場合のみ先行優先の排他となります
適当に思いついただけの設定方法なので、なんか問題ありそうだったら教えてくださいヽ(;´ー`)ノ
- 228 :名無しさん@編集中:2015/09/06(日) 03:30:23.00 ID:CJv1Dt4D.net
- >>226
> 上記の構成でチャンネルスキャン正常です。
> BonDriver_PX_W3U3_T0→BonDriver_Splitter_T0→TVTestだけの構成でもスキャン試してみましたが正常動作します。
んん〜?まじですか。ということはうちの環境によるものか…
こちらありがとうございます。
信号の件はTYPED以外は特に設定しておりませんです
- 229 :名無しさん@編集中:2015/09/06(日) 09:03:04.05 ID:6iIu3b9W.net
- >>227
わあ、対応して頂いてありがとうございます。
優先度も使えるのはすごい便利ですね。
>// (そうしないと、優先度255のインスタンスもチャンネル変更できなくなる為)
>m_bChannelLock = 0xfe;
この辺りが不安なので、ターゲットにして試してみました。
TvTestで、
1.クライアント1が優先度255で繋ぐ(BS日テレを開く)
2.クライアント2が優先度255で繋ぐ(BS11を開く)
3.クライアント3が優先度255で繋ぐ(クライアント2のBS11に繋がる)
4.クライアント3は当然チャンネルを変更できない
5.クライアント2を終了させる。
6.クライアント3のチャンネルをBSフジに変える(変更出来るようになった)
7.クライアント4を繋ぐ(BSフジに繋がる)
8.クライアント4は当然チャンネルを変更できない(想定通り)
9.クライアント3を終了させればクライアント4はチャンネルを変更出来る
上記まではOKですが
6.を行わなかった場合、クライアント3の優先度が低いままになってしまいます。
1.〜4.は同上
5.クライアント2を終了させる。
6.クライアント3のチャンネルをいじらない(BS11のまま)
7.クライアント4を繋ぐ(BS11に繋がる)
8.クライアント4がチャンネル変更できる!(排他権をクライアント4取得してる)
9.クライアント3はチャンネルを変更出来ない!(優先度が落ちたまま?)
といった感じになります。
またいろいろ試せたら報告しますね。
よろしくお願い致します。
- 230 :229:2015/09/06(日) 09:06:21.76 ID:6iIu3b9W.net
- 追記
クライアント4も優先度255で繋いでいます。
- 231 :名無しさん@編集中:2015/09/06(日) 10:18:45.67 ID:LOpIhx6I.net
- >>229-230
> 6.を行わなかった場合、クライアント3の優先度が低いままになってしまいます。
実はそうなるのは認識していたのですが、255でクライアントAが接続しているところに更に255でクライアントBが
接続してきた状態で、Aが切断されたらBが排他権を引き継ぎたいなんて状況は(ほぼ)無いんじゃないかなーと思ったのと、
仮にそれを行うとして、Aが切断した場合に、一旦落としたBの優先度を再度255に上げる簡単でスマートな方法が
ぱっと思いつかなかったので(BだけでなくCやDが順次同じように255で繋いで来てた場合に、排他権を引き継ぐ優先度を
ちゃんとB>C>Dにする必要があるので)、とりあえずこれで良いかとそのままにした次第です(;´Д`)
基本的に255での接続が同じチューナにカブる事自体がイレギュラーだと思うので、>>223さんのような突発事故が
防げたらそれで良いかなー、みたいなカルいノリですね…
ですが、確かに自分でも若干気持ちは悪かったので、もう少しちゃんと方法考えてみますね
#思いつかなかったり、複雑になりすぎそうな場合は諦めるかもしれませんがヽ(;´ー`)ノ
- 232 :名無しさん@編集中:2015/09/06(日) 11:06:21.42 ID:6iIu3b9W.net
- >>231
返信ありがとうございます。
実は私も書いたあとに同じような感想にはなってたんですよね…
対応するコードが複雑になりそうなわりに、リターンは少なそうだなぁと。
いい方法があれば修正する方がいいとは思いますが
言われてるとおりではありますので、作者さん次第ですね。
- 233 :名無しさん@編集中:2015/09/06(日) 11:36:06.54 ID:7ITjkPZ+.net
- 今日Windows10に更新したら
「BonDriverの初期化ができません。」
何が原因だ・・・・
PT3+Windows10
BonDriverProxyEX
TVTest
- 234 :名無しさん@編集中:2015/09/06(日) 11:54:53.23 ID:KZnSYS1K.net
- >>233
今話題のwin10タイマー
インスト、アプデ後1か月でPTシリーズは使えなくなる
http://peace.2ch.net/test/read.cgi/avi/1439723402/
- 235 :名無しさん@編集中:2015/09/06(日) 14:44:19.27 ID:njts2/1u.net
- 先週の土曜の朝はちょっとした騒ぎになってたよねWin10でPTシリーズが使えなくなるの
幸いメディアさえ作ってしまえば15分くらいで元通りにできるけど問題はまたありそうだってこと
- 236 :名無しさん@編集中:2015/09/06(日) 16:16:10.38 ID:i1y+ii65.net
- 時計進めただけで引き継ぎ再インストール後もダメになったってレスあった
- 237 :名無しさん@編集中:2015/09/06(日) 16:23:11.16 ID:7ITjkPZ+.net
- Oh...ただのUpdate不具合なのか。MSの狙い打ちかもわからん現状なんデスネ。
- 238 :名無しさん@編集中:2015/09/06(日) 21:02:50.56 ID:s0D0oWRB.net
- PTのドライバー更新されるらしいからバグが直っていればいいけど・・・
もう一度バグ報告してほしいな・・・
- 239 :名無しさん@編集中:2015/09/07(月) 11:06:02.94 ID:cryiI0gR.net
- BonDriverProxyでスペース0:BS 1:CS(デフォルト)ノンロックで同じチューナ利用して
切り替えると別端末のTvTestのチャンネル情報やステータスバーが切り替わってないっぽ
映ってる番組は切り替わってるのにチャンネル情報と選択されてるチャンネルが切り替わって
ない表記のままなので(旅チャンネル/うまるちゃん)みたいなちぐはぐになってる。
スペースが違うチャンネルの時だけ発生Spinelではちゃんと切り替わってるから内部で
色々やってたんだな。録画に影響はないからプライオリティは低いかもしんないけど報告
- 240 :名無しさん@編集中:2015/09/07(月) 23:38:59.40 ID:hfzke3E2.net
- >>239
TVTestのチャンネル情報やステータスバーの更新は、BonDriverから読み出したTSデータを使ってTVTest自身が
行っていますので、それに関してはBonDriver側で何かをやっているわけではありません
現在最新のTVTest 0.9.0-devの例では、
例えば、BonDriver_PT-S0.dllを共有して、TVTest1:BS11、TVTest2:BS11の状態から、TVTest2をフジテレビnextに変更すると、
TVTest1はフジテレビoneに変わり、OSDやタイトルバーなども正しく表示されますが、選択スペースはBSのままです
逆に、TVTest1:フジテレビnext、TVTest2:フジテレビnextの状態から、TVTest2をBS11に変更するとTVTest1の映像/音声が
ストップしますが、この状態でもTSデータは正しく配信されており、TVTest1で右クリックからサービスを選択すると
再度再生が始まります(が、選択スペースはやはりCSのままです)
後者の挙動は、TVTestではCSのチャンネルを視聴している時にTSストリームの変更があって、その新ストリーム中に
現在選択しているサービスIDが存在しない場合は、映像/音声を止めるようになっている為です
地上波やBSの視聴時にはそうなっておらず、PATの最初のサービスIDが選択されたものとして振る舞う為、
これが前者と後者の挙動の違いに繋がっています
これは現在のTVTestの仕様なので、恐らくSpinelも含めて、チューナ共有系のアプリではどれでも同じ挙動になるんじゃ
ないかと思いますヽ(;´ー`)ノ
- 241 :名無しさん@編集中:2015/09/08(火) 00:04:12.69 ID:zwgYdyKf.net
- で、このCSのみの挙動を地上波やBSのように最初のサービスIDが選択されるようにして、ついでにBonDriverの
スペース変更も検知してチャンネル情報等も正しく変更されるようにしたい場合は、
ttp://pastebin.com/xqQSphi4
の変更でそうなります
#githubへのリンクで変更場所を直接示そうとしたらNGワードとか言われて蹴られました(;´Д`)意味わからん
- 242 :名無しさん@編集中:2015/09/08(火) 00:26:34.97 ID:AnJL88Y7.net
- version 1.1.6.0地味に欲しかった機能だ
- 243 :名無しさん@編集中:2015/09/08(火) 22:11:46.03 ID:WK5DcaBx.net
- >>241
あっとまーくとかあの辺蹴られそう
- 244 :名無しさん@編集中:2015/09/09(水) 02:00:58.28 ID:gpdKgc3u.net
- 新しいBonproxy、CHANNEL_LOCK=0のクライアントAから繋いで操作した後、同じ設定のクライアントBから繋いでチャンネル変更すると
IBonDriver を取得できません。
CreateBonDriver() の呼び出しで NULL が返されました。
と出て操作不能になるんだが…
うちだけだろうか?
- 245 :名無しさん@編集中:2015/09/09(水) 05:56:52.59 ID:gpdKgc3u.net
- BonproxyEX、だった。
EXのiniにCHANNEL_LOCK=0を追加したら、直ったかな?
- 246 :名無しさん@編集中:2015/09/09(水) 08:11:22.44 ID:OroZrpia.net
- サーバー側のiniってこと?
- 247 :名無しさん@編集中:2015/09/09(水) 08:40:28.33 ID:ZcGrXdhp.net
- >>232
とりあえず対応してみました
ただの自己満足だなーと思いながらいじってたら、Exで、255のクライアントで全チューナが埋まっており、
そこに更に255のクライアントAが来て、かつAの最初のチャンネル変更要求が、Aに割り当てられた
BonDriverで既に選局されていた場合、Aの優先度を下げるべきなのに下げていないと言うバグを発見し、
潰すことができましたヽ(;´ー`)ノ
- 248 :名無しさん@編集中:2015/09/09(水) 08:46:43.94 ID:ZcGrXdhp.net
- >>244-245
TVTestでそのメッセージがでるのは、チャンネル変更のタイミングではなくBonDriver選択の
タイミングだと思うのですが、もう少し詳しい再現方法がわかれば教えてくださいヽ(;´ー`)ノ
なお、iniのCHANNEL_LOCKの値を読み込んで使用するのは、クライアント側(BonDriver_Proxy.dll)だけですので…
- 249 :名無しさん@編集中:2015/09/09(水) 09:06:59.13 ID:55Sf/lZ6.net
- >>247
ありがとうございます。
あとでまた試してみます。
読んでて混乱したけど
後から来たのにチャンネルを変えれてしまうかもしれないバグがあったってことですよね。
- 250 :名無しさん@編集中:2015/09/09(水) 13:14:09.82 ID:Nk+YlJ1J.net
- >>240
チャンネル変える時にスペース変わってなくて変える時に
選びなおしでイラっとしてたのでこれは助かる・・・。
- 251 :名無しさん@編集中:2015/09/09(水) 16:13:49.65 ID:I6d8TK6d.net
- BonProxyがどんどん便利になっていく
- 252 :名無しさん@編集中:2015/09/09(水) 20:53:37.64 ID:ZcGrXdhp.net
- >>249
いえ、後から来た方にチャンネル変更されてしまう事は無いのですが、そのクライアントが切断するまでは、
先に来てた方の排他権限を持ってるクライアントもチャンネル変更できない状態になる場合があった、
ですヽ(;´ー`)ノ
もっとも先日書いた通り、同じチューナに複数のクライアントから排他権限の要求がカブる事自体がおかしいはずですし、
仮に録画中に何らかのミスでこの状態を起こしてしまったとしても、録画中のクライアントのチャンネルが
変更されてしまうわけでもないので、正直実害はほぼ無いかなーとは思いますね…
- 253 :名無しさん@編集中:2015/09/09(水) 20:55:51.65 ID:ZcGrXdhp.net
- >>250
当方も>>241の変更は結構気に入っておりますヽ(´ー`)ノ
チューナ共有アプリ使ってて、他のクライアントにチャンネル変更される可能性がある環境では、
こう動いてくれるとちょっと嬉しいですよね
- 254 :名無しさん@編集中:2015/09/10(木) 12:18:11.52 ID:SiEUBWxt.net
- >>252
なるほど、そういうことでしたか。
- 255 :名無しさん@編集中:2015/09/10(木) 16:42:55.55 ID:0Mv4TuSo.net
- >>241
これって本家に組み込まれている?
予定あるのかな?
- 256 :名無しさん@編集中:2015/09/11(金) 04:05:06.67 ID:pyQsqCFg.net
- >244だけどやっぱりチャンネル変更を何度かしてると書いた244に書いたメッセージが出て
鯖を再起動しないといけなくなることがある
再現性が不明なので条件がよく分からないんですがBonproxyEXでも以前はなかったと思う
- 257 :名無しさん@編集中:2015/09/11(金) 09:58:02.91 ID:pyQsqCFg.net
- /MTビルドしていたので/MDビルドに戻して様子見
- 258 :名無しさん@編集中:2015/09/11(金) 10:08:15.92 ID:pyQsqCFg.net
- ビルドは無関係でした
障害が発生しているアプリケーション名: BonDriverProxyEx.exe、バージョン: 1.1.6.1、タイム スタンプ: 0x55f22516
例外コード: 0xc0000005
障害オフセット: 0x00012744
障害が発生しているプロセス ID: 0xe3c
- 259 :名無しさん@編集中:2015/09/11(金) 12:59:44.62 ID:UVBZn+Y7.net
- >>256
10分くらい似たような感じでチャンネル変え続けたけど起きない
なんかもう少し、手順が絞れれば・・・
- 260 :名無しさん@編集中:2015/09/11(金) 15:02:36.81 ID:8d+klU/R.net
- Splitter経由でUHFからBSのチャンネルに切り替えたらBonproxyEXが落ちた
環境の問題かも知れないが
- 261 :名無しさん@編集中:2015/09/11(金) 19:15:04.07 ID:Ktq8gNoc.net
- >>260
>>256と同じ人だと思うけど、せめて使用環境と設定内容を書くくらいはしなよ
俺のとこでは起きないし、他に報告が無いと言う事は多分他の人にも起きてないんだろうから、
なんか設定が間違ってる可能性が高いんじゃないかと思うけど、なんも書かれてないから
原因の推測すらできない
- 262 :名無しさん@編集中:2015/09/11(金) 21:00:04.54 ID:8phWfh86.net
- 馬鹿には無理
- 263 :名無しさん@編集中:2015/09/12(土) 04:12:07.18 ID:1hlEtHdd.net
- 開発者はエスパーじゃないからねえ。
私も、○○したら落ちたとか、起動しないとか言われることあるけど
チューナー切替のような誰でもする当たり前の動作で
ただ単に落ちたとだけ言われても、何も特定できないよどうしろっていうんだよって思うよ
- 264 :名無しさん@編集中:2015/09/12(土) 07:59:47.99 ID:FreM+lvw.net
- 環境は鯖がwin8.1でクライアントはwin7、win10など4台です。
チャンネル切り替え時にBonProxyEXが落ちるのですが発生条件が特定できないので、鯖のBonproxyEXとService splitterを6月のバージョンに戻して様子見中。
以前はなかった現象なので。
- 265 :名無しさん@編集中:2015/09/12(土) 08:02:44.68 ID:AXuWCNzY.net
- バカにはやっぱ何言っても無駄だった
- 266 :名無しさん@編集中:2015/09/12(土) 08:04:09.07 ID:FreM+lvw.net
- 朝まで待ち構えて勝利宣言のレスをつけてるかと思うと笑えるわ
- 267 :名無しさん@編集中:2015/09/12(土) 08:04:30.94 ID:1hlEtHdd.net
- >>264
その落ちたときの接続状況とかを完璧に書いてみたらありがたいんじゃないですかね。
各クライアントの設定と一緒に。
- 268 :名無しさん@編集中:2015/09/12(土) 08:05:33.31 ID:AXuWCNzY.net
- 自意識過剰でわらた
- 269 :名無しさん@編集中:2015/09/12(土) 08:06:20.80 ID:FreM+lvw.net
- もう真面目に報告する気が無くなったw
馬鹿にはつきあえんわ
- 270 :名無しさん@編集中:2015/09/12(土) 08:08:15.86 ID:AXuWCNzY.net
- バカって言われたのが相当悔しいらしいw
- 271 :名無しさん@編集中:2015/09/12(土) 08:23:35.00 ID:1hlEtHdd.net
- 結局、どういう環境なのかよくわからなかったね。
・チューナは何か(PT3なのかPT2なのか、そのほかなのか)
・チューナーは何枚あるのか
・BonDriverは何を使用しているのか
報告内容からすると、この辺の把握が最低限必要だと思うんだけども
- 272 :名無しさん@編集中:2015/09/12(土) 14:58:06.86 ID:54xOvvXZ.net
- 大雑把に書いてもわかる文章はあるけど考え先行すぎて意味が読み解けない
文章ってあるよね。おちついてきちんとまとめてから報告しよう。
- 273 :名無しさん@編集中:2015/09/12(土) 16:41:33.53 ID:jRNX7Trl.net
- 221,226(構成記述)の者ですが、うちでもおちますよー。
Win10になってSpinelから乗り換えて、226のレス書くまでロック権限の改造が入る前の
srcをビルドして使って約1か月程使って、一部おかしかった以外(後述)は落ちることはありませんでした。
9月6に変更が入ったソースをVS2015でビルド後
EDCB側のBonDriver_ProxyT.ini,BonDriver_ProxyS.iniにCHANNEL_LOCK=255,
TVTest側のBonDriver_ProxyT.ini,BonDriver_ProxyS.iniにCHANNEL_LOCK=0を入れて運用しています。
チャンネルを変えるとたまにTVTestが固まって、サービスを見てみるとBondriverExが停止しています。
その時はサービスを起動しなおしています。
最近作者さんが、こまめに変更を入れているようなので、変更が落ち着くまではと、
そのまま使っています。
再現性が100%ではなくたま〜になので、どうすれば落ちると答えようがないのですが・・。
ロック権限の改造後、時々落ちるのは間違いないです。
以前一部おかしかった件ですがロック権限の改造前の時、録画予定のものと違う
チャンネルの番組が録画されていたのでチャンネル設定が間違っているのかと
EpgDataCap_Bon.exeのUDP-Viewを使ってサービスを切り替えていって試してみたところ
そのチャンネルに問題ありませんでした。
続けて全チャンネルの確認をしていくとチャンネルが切り替わらないところが
あり、ch2の設定を確認しましたが問題なく、EpgDataCap_Bon.exeを立ち上げなおして
やってみると今度はうまくチャンネルが切り替わり、更に何度か続けていると
切り替わらないことが発生しました。
Win10後、BonDriver_Spliter〜EDCBまで新しいビルドの物を使っているので
どこのexe,dll,iniがおかしいのか特定できないのと、こちらも再現性が
100%ではなくたま〜になので、前レスで書きませんでしたが一応ご報告を。
続きへ
- 274 :名無しさん@編集中:2015/09/12(土) 16:42:14.04 ID:jRNX7Trl.net
- 続き
作者さんへですが、
BonDriverProxyEx.cpp の1819行の情報ウィンドウでipアドレス表示の所
#ifdef _WIN64
inet_ntop(AF_INET, &(p4->sin_addr), addr, sizeof(addr));
#else
lstrcpyA(addr, inet_ntoa(p4->sin_addr));
#endif
のinet_ntoa ですがVS2015ではwarnning ではなく
error扱いになっているため32bitなおかつサービスでないコンパイルの場合ひっかかります。
コンパイラが inet_ntop()に変更するかdefine _WINSOCK_DEPRECATED_NO_WARNINGS
でもいいよと言ってきます。
inet_ntoaが同じアドレスに文字列を作ってしまうのを
lstrcpyAで文字列をコピーして対応しておられるうようですが、
inet_ntoaが使用禁止の方向になってきてるようなので前述のように
errorになってしまいます。
ひょっとしてXPの場合inet_ntoaが必要なのかもしれませんが、
64bit側と同じ処理でもいいのではと思い、うちでは
inet_ntop(AF_INET, &(p4->sin_addr), addr, sizeof(addr));
だけ残して後は消してコンパイルしてます。
できればこの辺りご再考をよろしくお願いします。
- 275 :名無しさん@編集中:2015/09/12(土) 17:02:56.84 ID:t1lAERej.net
- 273で書き忘れました。
後述の以前一部おかしかった件ですが、ロック権限の改造後は
この現象は見ていません。
- 276 :名無しさん@編集中:2015/09/12(土) 20:08:13.07 ID:dFPYR6xi.net
- >>255
本家developブランチの最新ソースに対するパッチなので、本家には組み込まれてないですよ
CSの場合だけTSストリームから視聴中のサービスIDが消えた時に映像/音声を止めるのは、
フジテレビnextは契約してるけどフジテレビoneは契約していないような場合にPAT先頭サービスを選んだら、
未契約の映像/音声を再生しようとする事になるので、恐らくそうならないように想定しての仕様なのかなと思います
もっとも、現在のTVTest本体はCAS機能を持っておらず、その辺りは気にする必要は無くなってる筈なので、
リクエストしたら取り込まれる可能性もあるかもしれませんね
- 277 :名無しさん@編集中:2015/09/12(土) 20:10:38.32 ID:dFPYR6xi.net
- >>260
えーと皆さん仰ってるように、使用しているBonDriverの種類やBonDriverProxyEx.exeのiniの内容辺りを
教えていただけるでしょうか?
ただ、最近の変更でチューナの共有部分に関する大きな変更は行っていない筈なので、何が原因やら(;´Д`)
確かに設定かなとも思うのですが、設定の問題だと言うには以前のでは起こらなかったという点が謎ではありますね…
- 278 :名無しさん@編集中:2015/09/12(土) 20:25:08.93 ID:dFPYR6xi.net
- >>273-275
報告ありがとうございます
>>277にも書いた通りの感じなので、少しやっかいかもしれません(;´Д`)
手元で再現できないのがツライ…
もし可能であればデバッグビルドしてサービスでない方でデバッグ実行してみて、落ちた場所を
調べていただけるのが一番なのですが、とりあえず当方の配布バイナリで実行してみて、
落ちた時の「障害オフセット」を教えてもらえるとそれだけでも助かります
#自己ビルドではなく当方からの配布バイナリでないと、こちらに当該バイナリが無いので
#「障害オフセット」は参考にできません…
inet_ntoa()の件は、XPにはinet_ntop()が無いので、コンパイルはできても実行できなくなるんです(;´Д`)
当方の配布バイナリはVS2015でビルドしているのですが、ツールセットはv140_xpにしてます
#これならエラーにはなりません
v140でビルドすると確かにエラーになりますね
その場合は既に試されてるように、64bit側と同じ方を使うようにすれば大丈夫ですよ
- 279 :名無しさん@編集中:2015/09/12(土) 20:36:58.24 ID:KWvmWs16.net
- BonDriverProxyの作者さんはトリップ付けてもらえませんか?
後で過去ログ参照する時とか一目で判別できるので
よろしくお願いします
- 280 :名無しさん@編集中:2015/09/12(土) 21:57:13.19 ID:t1lAERej.net
- 273-275 です。
すみません、GitHubのソースの場所ならわかるのですが配布バイナリはどこでしょうか?
- 281 :名無しさん@編集中:2015/09/12(土) 22:15:22.15 ID:i385/JP8.net
- >>280
>>3に書いてあるよ
- 282 :名無しさん@編集中:2015/09/13(日) 00:32:41.43 ID:RyBKPFF7.net
- 273-275 です。
落ちた時のエラー ログ2種類取れたので載せておきます。
障害が発生しているアプリケーション名: BonDriverProxyEx.exe、バージョン: 1.1.6.1、タイム スタンプ: 0x55ef5d8a
障害が発生しているモジュール名: ntdll.dll、バージョン: 10.0.10240.16430、タイム スタンプ: 0x55c599e1
例外コード: 0xc0000005
障害オフセット: 0x0003ee01
障害が発生しているプロセス ID: 0xcf4
障害が発生しているアプリケーションの開始時刻: 0x01d0ed6c32a86fa1
障害が発生しているアプリケーション パス: C:\PX-W3U3\BonDriverProxyEx\BonDriverProxyEx.exe
障害が発生しているモジュール パス: C:\Windows\SYSTEM32\ntdll.dll
レポート ID: 42758187-d1cf-4990-98fa-3afe29a0e5f0
障害が発生しているアプリケーション名: BonDriverProxyEx.exe、バージョン: 1.1.6.1、タイム スタンプ: 0x55ef5d8a
障害が発生しているモジュール名: BonDriver_PX_W3U3_S0.dll、バージョン: 0.0.0.0、タイム スタンプ: 0x4d8b6111
例外コード: 0xc0000005
障害オフセット: 0x00012c94
障害が発生しているプロセス ID: 0x184c
障害が発生しているアプリケーションの開始時刻: 0x01d0ed6dd73031fb
障害が発生しているアプリケーション パス: C:\PX-W3U3\BonDriverProxyEx\BonDriverProxyEx.exe
障害が発生しているモジュール パス: C:\PX-W3U3\BonDriverProxyEx\BonDriver_PX_W3U3_S0.dll
レポート ID: 8aeddf15-b3ff-42d2-ae04-17f442e20860
- 283 : ◆SALrG1ld3mTc :2015/09/13(日) 11:53:41.34 ID:/ZxTJa6Q.net
- >>279
どうせ大した事は書いてないのですが、検索用ですか…ナルホド
と言う訳で入れてみました
#当方イイカゲンなのでそのうちトリップキー忘れそうですが(;´Д`)
- 284 : ◆SALrG1ld3mTc :2015/09/13(日) 11:55:38.07 ID:/ZxTJa6Q.net
- >>282
ntdll.dllとBonDriver_PX_W3U3_S0.dllですか
特にBonDriver_PX_W3U3_S0.dllはGetTsStream()の中で死んでますね
これらを見る限りどうもメモリ破壊っぽいのですが…
もしかしたらBonDriver_PX_W3U3_S0.dll内部での排他ロックがちゃんと行われていなくて、
PurgeTsStream()とGetTsStream()を非同期で呼ぶとメモリ破壊が起きるのかも、と思ったので、
それらとついでにSetChannel()の呼び出しをBonDriver_Splitter側で排他にしてみました
#もしこれで直るようならBonDriver_PX_W3U3内部での排他処理が甘いと言う事でしょう…
また、それとは直接は関係ないのですが、SetChannel()前のサーバ側でのTS破棄は実質ほぼ不要なので、
他のクライアントとインスタンスが共有されていない場合のみ行うようにしました
特にEx版では、自分よりロックの優先度が低い他のクライアントに対して、影響なしに
チャンネル変更できる場合でもTSを破棄してしまう状態が発生するのを無くせたはずです
とりあえずこれで様子見てもらえるでしょうかヽ(;´ー`)ノ
- 285 :名無しさん@編集中:2015/09/13(日) 12:12:42.18 ID:/0SFmSyX.net
- 結構流通してると思われるのにPLEX系のボンドラはソースも公開されてないしダメダメですな
- 286 :名無しさん@編集中:2015/09/14(月) 22:32:49.33 ID:tIlzQPGU.net
- 273-275 です。
SALrG1ld3mTcさん、変更ご苦労様でーす!
現状落ちる気配まったくありません。夕べと今日、
かなりガチャガチャとチャンネルを変えてみたのですが平気なようです。
が・・・・
EDCBで違うチャンネルが録画される病が再発してしまいましたw。
落ちないのを確認終了後、普通に予約録画を入れ録画しているときに、
録画の様子を少し見ようとEpgDataCap_Bonの「View」を見たところ予約指定の番組とは
違うチャンネルの番組になっていました。
この時録画をキャンセルし、EpgDataCap_Bon.exeを1度終了し、
EpgDataCap_Bon.exeをもう1度起動し「View」を見てみる先ほどの番組と同じ物でした。
これはEpgDataCap_Bon.exeの「サービス」のチャンネルとは異なるチャンネルの番組です。
この状態でEpgDataCap_Bon.exeの「サービス」のチャンネルを1度変更すると
指定の正常な番組に切り替わりました。
更にチャンネルを先ほどおかしかったチャンネルに戻すと指定通りの正常な番組が表示されました。
その後何度かチャンネルを変えたり、EpgDataCap_Bon.exeを起動しなおしてみましたが、
正常に動作し異常な状態を再現できませんでした。
この異常はBonDriver〜EDCBのどこで起きているのかまだ把握できていないのと、
意図的な再現方法がわからないのと、
最近TVtest回りいろいろいじっていっているので、我が家の固有の異常である可能性もあるので、
このまま使用を続け、この異常の件何かわかったらまた報告いれます。
- 287 :名無しさん@編集中:2015/09/14(月) 23:08:16.25 ID:4n9Y6JJu.net
- >189
TVTestでは、OpenTuner/CloseTunerを別スレッドで行うこともあり、CoInitialize/CoUnInitialize
をBonDriverで行わない方が良いというのは理解できました。
ところがそれだと、EDCBではCoInitializeを行っていないので、BonDriverでCOMライブラリを使うことが出来ません。
そこで例えば、OpenTunerの段階でCOMライブラリを使う必要があるBonDriverを作成する際には、
OpenTuner()の最初で
HRESULT hr;
hr = ::CoInitializeEx(NULL, COINIT_MULTITHREADED);
if (hr == S_OK)
m_bCoInit = TRUE; //m_bCoInitはGlobal変数
else if (hr == S_FALSE)
::CoUninitialize();
else if (hr != RPC_E_CHANGED_MODE)
return hr;
とした後、CloseTuner()で
if (m_bCoInit)
::CoUninitialize();
あたりが、妥当な実装かと思うのですが、いかがでしょうか。
ご助言を頂けましたら幸いです。
- 288 :名無しさん@編集中:2015/09/15(火) 01:07:52.82 ID:PR/PgOiy.net
- うちのBonDriver_PXがHDUSのsrcを改造したらしいけど、
HDUSのプログラムがOpenTunerでCoUninitialize呼んで
CloseTunerでCoUnInitialize呼んで、
>>287みたいになってますねぇ。
HDUSのソースにうちのチューナー名、キャプチャー名入れて、
少々変更して動かしてみると、フィルターグラフの構築は
BonDriver_PXと同じにできてるのに、フィルターグラフに
runかからない〜♪
BonDriver_BDA改のソースも同じようにうちのチューナー名、キャプチャー
捕まえるようにしてみたけどフィルターグラフに
runかからない〜♪
graphstudionextでMicrosoft DVBT Network Provider〜レンダラまで
繋がるやつで繋いでみたけど
runさえかからない〜♪
ネットワークプロバイダ登録直後のチューニング要求に何か設定いるのかなぁ。
ここで行き詰ってるぅぅ。
誰か動かし方わかる人いたら、この初心者に優しくおしえて!
- 289 :名無しさん@編集中:2015/09/15(火) 04:18:00.88 ID:b63Dshpf.net
- うっざ
- 290 : ◆SALrG1ld3mTc :2015/09/15(火) 06:26:33.57 ID:Vobrm9Ay.net
- >>286
ひとまず落ちないようにはなったとの事で良かったです
実は>>284の下の方で書いた変更の為、BDPEXも今の物に入れ替えると、当方が落ちる原因になっているのではないかと
推測している状況に殆ど遭遇しないようになっているはずなので、もし可能であればBDPEXは前のバージョンに戻して、
BonDriver_Splitterのみを今の物で試してみてもらえないでしょうか?
それでも落ちないようになっていて初めて、>>284の推測は当たりだったのかなと思えるのでヽ(;´ー`)ノ
別チャンネルになってしまう件は、ちと謎ですね(;´Д`)
その辺の変更は今回何も行っていないはずなのですが…
何だか、チャンネルロックされているチューナに対してチャンネル変更を試みた場合の挙動のようにも思えます
この場合アプリにはチャンネル変更成功に見えるようにしているので、もしそうなった場合、EDCBは録画対象
チャンネルに変更成功したつもりで、別チャンネルを録画してしまうと言うのが起こりそうではあります
例えば、EDCBの設定に対して実チューナ数が不足していたりするとそうなるかもしれませんね
ともあれ、BDPEXとBonDriver_Splitterをデバッグビルドしてみて、Dbgview辺りでログを眺めてみると
何かヒントがあるかもしれません…
- 291 : ◆SALrG1ld3mTc :2015/09/15(火) 06:41:48.30 ID:Vobrm9Ay.net
- >>287
> あたりが、妥当な実装かと思うのですが、いかがでしょうか。
COMの初期化/終了処理はスレッド単位で行う必要があるものなので、単一のグローバル変数でフラグを持つのは
あんまり良くないのではないかとヽ(;´ー`)ノ
例えば、
ttp://www1.axfc.net/uploader/so/3513652
等は、恐らくその点を考慮してスレッドIDを確認するようにしているのだと推測しますが、いずれにせよ、
OpenTuner()/CloseTuner()が別スレッドで行われる場合の解決にはなっていませんね
また、OpenTuner()/CloseTuner()だけでなく、SetChannel()やGetSignalLevel()等の他のAPIも、
OpenTuner()と呼び出し元スレッドが同一だとは限りません
#事実、例えばTVTestでは異なっています
その様な感じなので、個人的にはEDCB側にCOMの初期化/終了処理を追加する方が正解なんじゃないかな、と思います
やはりスレッドの最初と最後でやるのが確実なので、スレッドをつくった人が行うのがベストではないでしょうか…
- 292 : ◆SALrG1ld3mTc :2015/09/15(火) 07:06:22.10 ID:Vobrm9Ay.net
- >>288
PLEXのチューナは何やら初期化処理がいるようなので、それをやってないからじゃないでしょうか?
linuxのドライバを使用するには、
https://github.com/u-n-k-n-o-w-n/BonDriverProxy_Linux/blob/a4dd4dc535eed979d1752b0ad3a30e2636ba878c/plex.cpp
な感じの処理が必要(らしい)ですが、これとほぼ同じ処理がBonDriver_PX_W3PE_S0.dllの中にも、
OpenTuner()でフィルタグラフをつくってる辺りにあるようですね
- 293 :名無しさん@編集中:2015/09/15(火) 14:02:47.23 ID:1p/tEp51.net
- クライアントIP、使用チューナーなども含めて、
チャンネル変更や変更失敗のログとか取れるとわかりやすそうですねえ
- 294 :名無しさん@編集中:2015/09/15(火) 16:35:44.95 ID:1p/tEp51.net
- >>292
たぶん分かってる気もするんですが報告
優先度255のクライアントA
優先度255のクライアントB
優先度100のクライアントC
クライアントAをBS朝日にします。
クライアントBをBS朝日にします。
クライアントCをBS日テレにします。
たとえば上記の状態で
(ケース1)
クライアントBを「BS11」に変更すると、
クライアントBとCが「BS11」になります。これはOKです。
上記操作はなかったことにして、
(ケース2)
クライアントAをBSフジに変えたとします。
そうすると、クライアントBもBSフジになってしまい、
クライアントCはBS日テレのままになります。
本来、AとBは排他権限で、優先度もCより上なので、
クライアントAはBS朝日→BSフジに
クライアントBは変わらずBS朝日のままに
クライアントCはAに奪われ、BS日テレ→BSフジに
なるのが良いと思うのですが、どうでしょう。
お忙しい中、面倒だとは思いますがよろしくお願いいたします・・・。
- 295 : ◆SALrG1ld3mTc :2015/09/15(火) 23:38:13.64 ID:Vobrm9Ay.net
- >>293-294
> なるのが良いと思うのですが、どうでしょう。
ありがとうございます、確かにその挙動の方が良いですね
もともと優先権有りと無しの二択のみで、かつ有りのクライアントがチャンネル変更出来ない状態と言うのは
考えなくてよかったところから、ご指摘のような挙動になってましたヽ(;´ー`)ノ
対応してみたので確認してみて下さい
ログに関しては以前もリクエストいただいたのですが、あんまり優先度は高くないかなーと思って
後回しにしてしまっております(;´Д`)
- 296 :名無しさん@編集中:2015/09/16(水) 01:15:59.10 ID:NtH+9SSP.net
- >>292
初期化処理の件ありがとうございます。
確かにBonDriverProxy_Linux/plex.cppの40ByteLookupTable1と1024ByteのLookupTable2が
BonDriver_PX内に連続して埋まってるのを確認できました。W3PE用のInterface_W3PE.dllの方にも同じデータテーブルが確認できました。
ただ、BonDriver_PXとInterface_W3PE.dllに2つのデータテーブルの前に1024Byteの似たようなデータが埋まっているのですよ..(汗)。
正直plex.cppの内容については全く理解する知識がないので、ほぼこのままHDUS用ドライバの方に利用させて頂きました。
::open(g_Device, O_RDONLY)を Windows用に::CreateFileに変更し、地上波ドライバのパスを"\\\\.\\usb#vid_0b06&pid_0005#6&26c27801&0&2#{a5dcbf10-6530-11d2-901f-00c04fb951ed"と固定値で入れ
::ioctlを::DeviceIoControlに変更したらビルドは出来ました。
COMがドライバを開き、こちらでも同じ物を開けるのかと疑問があり、更に処理の意味を理解しないままですが、とりあえず思いつくままチューニング空間作成の直前に入れて動かしてみることにしました。
ドライバのオープンで戻り値はtrue、0x8d81コマンドで戻り値が0xcccccccc、0x8d82コマンドで戻り値は0xccの連続データとなり、0x8d, 0x83とデータの書き込み後フィルタグラフのrunには至りませんでした。
BonDriver_PXをツールを使って見た時、インポート関数にはCreateFile,DeviceIoControlが見当たらないのでおそらく直接ドライバを叩かずにDirctShowの仕組みでチューナー設定を行っていると推測しているのですが、
その処理の方法について情報が全く掴めないため、今後この直接ドライバを叩く方法で初期化処理を探ってみます。
スレ違いな件でしたが、情報大変ありがとうございました。
- 297 :名無しさん@編集中:2015/09/16(水) 03:12:19.96 ID:kPve2Fte.net
- 意味不明の自家発電書き込みにワロタw
- 298 :名無しさん@編集中:2015/09/16(水) 07:23:50.90 ID:sYR8CujZ.net
- >>295
確認してみました。
意図した動作になっていると思います。
ありがとうございました。
- 299 :名無しさん@編集中:2015/09/16(水) 07:30:55.97 ID:d1QHFDlx.net
- >>296
大変参考になります。
何か進展があれば是非おしえてください。他のPlex製品にも応用できると思いますので。
- 300 :名無しさん@編集中:2015/09/16(水) 07:55:18.64 ID:d1QHFDlx.net
- >>291
詳細な説明ありがとうございます。
当面はスレッドIDをする暫定的な対応しかないですね。
ところで、リンクのソースだとS_FALSEの時の処理が抜けてますね…
- 301 :名無しさん@編集中:2015/09/16(水) 09:19:05.96 ID:BfRuKofg.net
- >>300
そのソースをうpした者です。
S_FALSEだったらすでにCoInitializeされてるはずであり、2重にCoInitializeは行われていないということなのでそのままにしておくという考えです。
ですから、S_FALSEだった時にはCoUnInitializeも行わないようになっています。
スレッドIDを記憶している理由は、CloseTunerがOpenTunerと別スレッドで呼ばれた場合に
自分以外が行ったCoInitializeを間違ってCoUnInitializeしてしまわないようにしているだけです。
どちらにせよCoUnInitializeする術がないので。
私は、BonDriver側の責任でCoInitializeを行うべきだと思っています。
BonDriverでCOMを使用するかどうかはBonDriver側の都合なので。
今考えているところで一番良いやり方は、BonDriver側でAppとは独立した別スレッドを作成し、
そのスレッドでCoInitialize/CoUnInitializeを含めたすべてのCOM処理を行うのが最善ではないかなと思っています。
近いうちにリンク先にあったBonDriverでそれをやってみたいと思います。
- 302 :300:2015/09/16(水) 16:35:23.46 ID:d1QHFDlx.net
- >>301
そう思いがちなのですが違うのです。
https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms695279(v=vs.85).aspx
each successful call to CoInitialize or CoInitializeEx, including any call that returns S_FALSE, must be balanced by a corresponding call to CoUninitialize.
実は、S_FALSEのSはsuccessもしくはsucceedのSで、S_FALSEでもCoInitializeされてしまうのです。従って、CoUnInitializeが必要になります。
なので、実装として正しいのはS_FALSEの場合はすぐに CoUnInitializeしてやることだと思ってます。
もちろん呼び出しによらず別スレッドで完結できればそれに越したことはないと思います。
- 303 :300:2015/09/16(水) 18:08:43.78 ID:JWzbiEwR.net
- >301
可能でしたらCoInitializeExのスレッドモデル教えて頂きたいことがあります。
殆どのBonDriverと同様COINIT_APARTMENTTHREADEDを指定しているようですが、
COINIT_MULTITHREADEDにしない何か理由等ありますでしょうか。
というのも、BonDriver自体は当然ウインドウに絡む処理はありませんし、
TVTestの様に仮に呼び出し元のアプリケーションでウインドウに絡む処理があって、
かつ、同一のスレッドでCOMを使う場合でもアプリケーション側で初期化を行うはずなので
COINIT_MULTITHREADEDで新たに初期化しようとしてもRPC_E_CHANGED_MODEが
返ってくるだけです。
EDCBのようにBonDriver絡みでそもそもCOMを使わない場合はそれこそスレッドモデルは
なんでもいいはず。
さらに、アプリケーション側で、BonDriver側のメモリにアクセスすのはGetTsStream、PurgeTsStreamで、
これらの処理は当然CriticalSectionにしているはずなので、スレッドセーフといえる。
というわけでCOINIT_MULTITHREADEDで問題ないと思っています。
何か見当違いをしているかもしれませんが、その際はご指摘いただけたらありがたいです。
- 304 :名無しさん@編集中:2015/09/16(水) 18:11:52.70 ID:JWzbiEwR.net
- もっともCOINIT_MULTITHREADEDにしたい理由は
「若干のパフォーマンスアップがある、かも」くらいなので、
予期せぬ破綻が起きないために、とりあえずCOINIT_APARTMENTTHREADEDにする、
というのもアリだと思います。
- 305 : ◆SALrG1ld3mTc :2015/09/16(水) 20:06:22.11 ID:53Si47U2.net
- >>296
BonDriver_PX_W3PE_S0.dllがBonDriver_HDUSの改造でつくられていると言うのは多分その通りで、
ttp://www2.wazoku.net/2sen/hdusup/source/up0233.zip
のソースで言うと、DShowMain.cppの748行目に相当する部分で例の初期化処理を呼んでるようですね
C++なので仮想関数呼び出しになってて、ioctl()に相当するコードが具体的にどうなっているのか
テキトーにバイナリを眺めてるだけでは特定がめんどくさいのですが、PX-W3PEの実機を持ってる方なら
BonDriver_PX_W3PE_S0.dllをロード -> CreateBonDriver() -> OpenTuner()とやって、OpenTuner()の
内部をデバッガで追って行けば、結構簡単に特定できるんじゃないかなと思います
dllのロードアドレス+1040c辺りからが問題の処理なので、ここにブレークポイント置いて
動かしてみるのが手っ取り早いかと…
- 306 : ◆SALrG1ld3mTc :2015/09/16(水) 20:11:58.58 ID:53Si47U2.net
- >>301
> S_FALSE
>>302さんの書かれてる通りですが、MSのAPIにはたまーにこの手の罠がありますね…
> 私は、BonDriver側の責任でCoInitializeを行うべきだと思っています。
> BonDriverでCOMを使用するかどうかはBonDriver側の都合なので。
まあ行うにせよ行わないにせよ、ライブラリの使用方法に制限をかける形になるのは同じで、
単にライブラリが、
---
a. 使用するには呼び出し側での初期化が必要ですが、それを守る限りは自由なAPI呼び出しが可能です
b. 対になるAPIを異なるスレッドから呼び出す事はサポートしませんが、特に前準備無しでも使用可能です
---
のどちらの立場をとるのかと言う話なので、ライブラリ作者の好みの問題ではありますね
#個人的にはa.の方が好きですがヽ(;´ー`)ノ
ただ、そのライブラリのドキュメントやソースが無い場合には、a.のパターンでは最初から動かず、b.のパターンでは
アプリのつくりによって動いたり動かなかったり、と言う感じになるので、どちらがマシかと言う話になります
この場合は、ライブラリユーザ(アプリ作者)としてはa.の形であった方が助かるんじゃないかなーと思ってます…
- 307 : ◆SALrG1ld3mTc :2015/09/16(水) 20:15:17.65 ID:53Si47U2.net
- > 今考えているところで一番良いやり方は、BonDriver側でAppとは独立した別スレッドを作成し、
> そのスレッドでCoInitialize/CoUnInitializeを含めたすべてのCOM処理を行うのが最善ではないかなと思っています。
ですね、非常に有効だと思いますヽ(´ー`)ノ
若干トリッキーではありますが、外部に公開しているAPIの内COMが絡むものは、呼び出されたらイベントをトリガして
実際の処理はそれを受けたワーカースレッドでやり、処理が終わればそれをイベントのトリガ元に通知すると言う形に
すれば、ライブラリ内でCOMの初期化/終了処理を完結できるので、APIの呼び出し方に制限はかからずアプリ側での
初期化/終了処理も不要にできますね
#ちなみに、今のBonDriver_Proxyも(COMを使う目的ではありませんが)似たような実装になっています
- 308 :名無しさん@編集中:2015/09/17(木) 01:38:04.41 ID:UxTbU+TO.net
- >>303-304
COINIT_MULTITHREADEDにするって事はCOM呼びだしのスレッド同期処理は全部自前でやるって事だけど
>>301で書いてるみたいに自前でスレッド起こして無い以上、どっちみちスレッド同期処理とか不可能だよね。
GetTsStream()やPurgeTsStream()がCriticalSectionでガードされてた所で
COMを呼び出すスレッドが同一スレッドである保証なんてどこにもないよ。
ガードされてても別スレッドからの呼出なら、どこかでCoInitialize()しなきゃいけない。
どっちみち>>301の方法以外では別スレッドからの呼びだしなんて解消出来ない。
COMのスレッド周りに関する話は
ttp://www.kekyo.net/2012/06/16/80
ttp://www.kekyo.net/2013/07/22/382
この辺が参考になるよ
COMのアパートメント(1)〜(6)は全部読んだ方がいい。
- 309 :301:2015/09/17(木) 10:01:23.53 ID:HpsXGkNf.net
- >>302
うわ、完全に勘違いしてました。
確かにそう書いてありますね。
S_FALSEの場合はすぐに CoUnInitializeしてやるのが正解なんですね。
ちなみにRPC_E_CHANGED_MODEが返ってきた場合はどう対処するのが正解なんでしょうか?
(例のソースではこれが返ってきたときのことは想定していません)
COINIT_MULTITHREADEDについては、難しすぎてよく理解できてないんですが、
>>308のとおりBonDriverという立場では使用できないと思ってます。
- 310 :名無しさん@編集中:2015/09/18(金) 00:33:12.57 ID:9PcEUns2.net
- >>305 ioctl()に相当するコードについての解析記録です。
BonDriver_PX_W3U3_T0.dllの中を解析していくために、BonDriverExの直下にBonDriver_PX_W3U3_T0.dllを組み込む設定にし、BonDriverExを起動。WinDBGをアタッチ。TVTestを起動した。
BonDriverExのm_pIBon->OpenTuner()で一時停止。そこからトントントンと数ステップでdllの中にin。そこからステップ実行で進んでみるがシンボルがある所以外は、何の処理なのか、
今どこにいるのかもわからない。そもそもこれを追っていける解析能力が自分にはない。そこで自分にも出来る別のアプローチをとることにした。
まずはDeviceIoControlがシステム上のどこにあるのか突き止めるため、デバイスドライバをオープンして閉じるだけの短いプログラムを作成。
追って行くとKERNELBASE.dll+オフセットAA680に DeviceIoControlが見つかる。
2ステップ程進んだ call KERNELBASE!GetAdjustObjectAttributesForPrivateNamespaceRoutine+0x18でスタック上に値を入れて戻ってきた。
更に2ステップ程進んだところで、C++上のDeviceIoControl()で64bit設定したマイナーファンクションコードが16bitになってcxレジスタ上に0x8d81が入っていた。これがデバイスドライバに送られる模様。
この時点での呼び出し順は プロセス→kernel32.dllのDeviceIoControl→KERNELBASE.dllのDeviceIoControlであった。
次にBonDriver_PX_W3U3_T0.dllからどうDeviceIoControlが呼ばれるのか調べる為にKERNELBASE.dll.DeviceIoControlに網を張ることにする。
WinDBGに bp KERNELBASE!DeviceIoControl+0xF "j cx==0x8d81'';'g'" とcxレジスタが0x8d81の時停止するように入れてみた。
んー停止せずTVTestが映ってしまった。 ということは@DeviceIoControlが利用されており引数のマイナーファンクションコードがLinuxのドライバと違う、
A別プロセスからドライバに読書されたか、BWindows上の他のシステム関数から読書されたことになりそうだ。
- 311 :名無しさん@編集中:2015/09/18(金) 00:34:44.21 ID:9PcEUns2.net
- 310 続き
DeviceIoControl以外にデバイスドライバの読書をする関数を知らないので、BのWindows上の他のシステム関数からだと厄介だ...。
@のDeviceIoControlの引数が違う点については、別の側面から疑っている。それは
>>296にも書いたが、pestudio.exeというツールでBonDriver_PX_W3U3_T0.dllを見た時にImported symbolsの中にDeviceIoControlが見当たらない。
kumaさんドライバにも同様にDeviceIoControlが見当たらない。対して上記のデバイスドライバをオープンして閉じるだけの短いプログラムにはkernel32.dllのDeviceIoControlを利用していることが表示される。
ということで、このプロセスからはデバイスドライバに対して直接アクセスしてないのではないかと考えている。
ということで>>296にも書いたが、デバイスドライバに対してDirctShowの仕組み、恐らく別プロセスのCOMサーバー上からデバイスドライバにに設定値を送り込んでいるのではないかと考えている。
フィルタグラフを構築する時に、チューニングスペースオブジェクトかMicrosoft DVBT Network Providerフィルタに設定値を送り込む機能があるのではないか、もしくはチューナーフィルタか
キャプチャフィルタにその機能があるのではないかとも考えている。
この推測に基づいてまずは、DirectShowのCOMサーバーの実体プロセスがあるものと考え、それがどれなのかを調べていくとことにする。
---------
別談だが、pestudio.exeでHDTV_PX_W3U3_BDA.sysを調べた時に嫌なImported symbolを見つけた。
srand(乱数)だ。1024byteのデータ、keyという変数が登場する何かの処理、ここから得られたデータをデバイスドライバに対して上記の方法でデバイスドライバに送るので、
これはもしかしたらこれがこちらから送ったkeyを元にどこかで乱数を加え、 MULTI2暗号化されているデータを更にPlex独自の暗号化をHDTV_PX_W3U3_BDA.sysで施し、
キャプチャフィルタから送出されるのではないかと考えている。
そうなると>>296でも書いた2つのデータテーブルの前の謎の1024Byteのデータテーブルが暗号解読に必要なキーではないかと合点がいく。あくまで推測なので定かではない。
- 312 :300:2015/09/18(金) 17:08:37.10 ID:molxTCMc.net
- >309
RPC_E_CHANGED_MODEのEはErrorの意味なので、この場合はCoUnInitializeはいらないようです。
スレッドモデルについてですが、もちろん>308に記載の通りにCoInitialize自体を適切なタイミングで行うと仮定して、
まさにwww.kekyo.net/2013/07/22/382を読んでCOINIT_MULTITHREADEDでいいのではないかなと判断しました。
「スレッドで行われる操作が、ウインドウやウインドウメッセージに及ぶ可能性がある場合は、STAとして設定する。」
と書かれているので、単純に、BonDriverにはウインドウは関係ないからMTAでいいかな、と。
- 313 :300:2015/09/18(金) 17:29:01.95 ID:molxTCMc.net
- ただ、それだと乱暴なのでもう少し考えてみると、BonDriverを呼び出すアプリケーションは
以下の2種類に大別されると思います。
1.アプリケーション側でCOMを使うのでBonDriverを呼び出すスレッドですでに初期化している。(TVTest)
2.そもそもCOMを使わないので初期化もしない。(EDCB)
1.の場合は、仮にBonDriver側でCOINIT_MULTITHREADEDで初期化しようとしても、RPC_E_CHANGED_MODEが
返ってくるだけで、なんの処理も行われないので影響はない。
2.の場合はそもそもアプリケーション側でCOMを呼び出すことがないのでBonDriver側でどのスレッドモデルで
初期化しようが関係ない。
また、アプリケーション側は、BonDriver側がリアルタイムにメモリに溜め込んだTSデータを、アプリケーションの
都合のいい時にGetTsで読み出し、PurgeTsで消去処理を呼び出しているだけなので、特別な同期処理も必要ない
(GetTs, PurgeTsはCriticalsectionに入れているとして)。
というわけでCOINIT_MULTITHREADEDで問題ない様な気がしてます。
ただ、BonDriverProxyもCOINIT_APARTMENTTHREADEDなので、できたらこちらの作者のお話もお聞きしてみたいです。
- 314 :名無しさん@編集中:2015/09/18(金) 19:44:58.02 ID:bi0g4EkT.net
- 呼び出し元のスレッドをアパートメントが設定されてるスレッドに固定できるかどうか、って話なのでは?
呼ばれる側からは内部でCOM専用スレッドとか作らない限り固定出来ないでしょ。
COINIT_APARTMENTTHREADEDにしてるってのは呼び出し元は単一スレッドであることを前提に
メインスレッドから呼んでも大丈夫なようにしてるだけなのでは。
現状でCOM呼び出しがパフォーマンスのネックになってるかどうかも不明なのに
汎用のDLLをわざわざ危険側に倒す思想がよくわからない。
- 315 :名無しさん@編集中:2015/09/19(土) 13:14:21.14 ID:fMUe+7h+.net
- >>292 でおしえて頂いた初期化処理についてですが、どうやらIKsPropertySet インターフェイスを
使っているようです。
>>311で考えた”DirectShowのCOMサーバーの実体プロセス”とやり取りをすると考えたのですが、
これは誤りで同一プロセス内のKsproxy.axフィルタを通してやり取りが行われるようです。
以下その解析記録です。
DirectShowのCOMについてこの項目を読んでいると「あっ」と思うキーワードを見つけた。
https://msdn.microsoft.com/ja-jp/library/cc354739.aspx
「Ksproxy」というキーワードである。
これは実はWinDBGで KERNELBASE!DeviceIoControlの辺りで一時停止させた時に何度も見たもので、
KERNELBASE!DeviceIoControlの呼び出し元となっていた。
説明に「TV チューナー、TV オーディオ、アナログ ビデオ クロスバー、および KsProxy の各フィルタは、
IKsPropertySet インターフェイスによってカスタム ドライバのプロパティをサポートする。」とある。
この時はcxレジスタに0x8d81という値は1度も来なかったので、てっきりKsproxyは他の何等かの他のデバイスドライバ
に対して読書しているのだろうと勝手に思い込んでしまった。
しかしこれは間違いで実はBonDriver_PX_W3U3_T0.dllは同一プロセス内に読み込まれているKsproxy経由で
デバイスドライバに対して初期設定を行っているという思いが強くなってきた。
では何故pestudio.exeでBonDriver_PX_W3U3_T0.dllを調べた時にImported symbolの中にDeviceIoControlが
見つからなかったのか。
pestudio.exeではBonDriver_PX_W3U3_T0.dllが直接アクセスする関数しか表示されない。
その証拠に”デバイスドライバをオープンして(”1度アセクスして”が前回の記述で抜けていた)閉じるだけの
短いプログラム”を作成した時に、直接呼び出しているkernel32.dllのDeviceIoControlの表示しかなかった。
kernel32.dllが更に読みだしているKERNELBASE.dll.DeviceIoControlの表示がなかったのである。
ということでKsproxy経由のDeviceIoControlは表示されることがなかったとなる。
- 316 :名無しさん@編集中:2015/09/19(土) 13:16:03.33 ID:fMUe+7h+.net
- 315 続き
もう一つ疑問がある。
WinDBGに bp KERNELBASE!DeviceIoControl+0xF "j cx==0x8d81'';'g'" とcxレジスタが0x8d81の時停止するように
入れた時になぜ停止することがなかったのか。Ksproxy経由でも停止するはずである。
きっとマイナーファンクションコード(IOCTLコード)0x8d81がLinux用のものと違うはずだ。
そもそもマイナーファンクションコードは、デバイスドライバのプログラムソースがC言語で書かれていると仮定して
ユーザー モードアプリケーションにはWinMainとLRESULT CALLBACKがあるように、デバイスドライバには
DriverEntryとディスパッチルーチンがある。
システムやアプリケーションからデバイスドライバが呼び出されるとDriverEntryで登録されたディスパッチルーチンが
呼び出される。
アプリケーションからDeviceIoControlを実行するとディスパッチルーチンが呼び出され、引数から
メジャーファンクションコードを取り出す処理が行われる。
DeviceIoControlを実行の場合のメジャーファンクションコードはIRP_MJ_DEVICE_CONTROLであり、これを元に
switch case で分岐処理が行われ_IoCtlHandlerを呼び出す。
呼び出された_IoCtlHandlerの引数の中にスタックロケーションの構造体の
xxxx->Parameters.DeviceIoControl.IoControlCodeがある。
この値がマイナーファンクションコード(IOCTLコード)であり
これはswitch case で分岐処理に利用される。
switch caseに設定される定数はプログラマーの設定した値でありなんでもありだ。
この分岐処理の定数に0x8d81が存在すると仮定して解析をやってきたが、今では違う値だと考えている。
KERNELBASE!DeviceIoControlの所の調査からやり直すことにした。
Ksproxy経由でKERNELBASE!DeviceIoControlに来た時のcxレジスタの値を調べてみた。
0x0003 0x0008 0x0007 0x0003 0x000f.........
これらのコマンドとデータを送り込めればチューナーが何か反応するのかも。
- 317 :名無しさん@編集中:2015/09/19(土) 13:17:09.02 ID:fMUe+7h+.net
- 316 続き
これらの解析からIKsPropertySetを使って何等かの初期設定を行ってチューナーに起動をかけていると考えていこう。
上記のMSDNに「アプリケーション ベンダーは、IKsPropertySet インターフェイスのメソッドを使って、
ドライバやフィルタが特定のプロパティ セットをサポートしているかどうかを調べ、それらの
プロパティを取得または設定できる。」とある。
PLEXの提供するCLSIDが必要らしい。
そんな資料ない...。先は随分長そうだ。
- 318 : ◆SALrG1ld3mTc :2015/09/19(土) 19:19:11.78 ID:92YkKb/m.net
- >>313
BonDriverProxyの場合は単純に、読み込んだBonDriverがCOMを使っていた場合に、STA/MTAのどっちを想定しているのか
わからないので、安全側に倒すと言う意味でSTAにしています
また、現代のPCの性能ではMTAを使って目に見えてパフォーマンスを上げられるとすれば、まず使用するCOMオブジェクトの
ThreadingModelがFreeかBothであり、かつそのCOMオブジェクトのメソッドをフルスピードで回るループの中から
呼び出しているようなパターンくらいじゃないでしょうか?
BonDriverのAPIのような、昨今のCPUの速度を基準にみるとごく低頻度で呼び出されるだけと言える用途では、
それによる性能改善はほぼ無さそうな気がしますヽ(;´ー`)ノ
- 319 : ◆SALrG1ld3mTc :2015/09/19(土) 19:23:49.63 ID: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さんが行われたこの↓使い方が一番安全なんでしょうけどもヽ(;´ー`)ノ
http://peace.2ch.net/test/read.cgi/avi/1438432913/792n
- 320 : ◆SALrG1ld3mTc :2015/09/19(土) 19:38:24.01 ID: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()してみる感じでどうでしょう?
- 321 :名無しさん@編集中:2015/09/19(土) 23:12:57.82 ID:W5x7rP0N.net
- >>318,319
詳細な解説ありがとうございます。
パフォーマンスの実情を踏まえて安全側にふるのはまさにその通りだと思います。
仰る通り、xtne6f氏がEDCBを改良してくれたのでBondriverのCOM問題は実質解決ですね。
- 322 :名無しさん@編集中:2015/09/20(日) 14:13:51.94 ID:klFkVMgH.net
- >>319
解析おつかれさまです。
詳細な報告、非常に参考になります。
- 323 :名無しさん@編集中:2015/09/21(月) 20:06:23.79 ID:GRggE4EQ.net
- >>320
GIUDとコマンドの件ありがとうございます。
dllからそれを引き出すとは、BonDriverProxyの作者さん、スゴイ解析力ですね!。
とても関心します。
この様に初期化部分を作って http://www1.axfc.net/u/3537512
動かしてみてます。
結果ですが、確かに[0x0c 読出] [0x0d 読出] [0x14 書込] コマンドとして
全てS_OKで返って来るところまで来たのですが、今の所グラフの動作には至っておりません。
pIKsPropertySetの引数についていまいち理解できないので、おおよその検討で引数を入れています。
後、guidPropSet値なんですが、これをHDUS用のソースに入っているものと比較した時に
同じ9E1781E1なので不思議に思って調べていくと、ドライバのinfを見るとコメントの
記述の仕方が同じ。ドライバーsysの中を調べてみるとASICENとの記述が両方ともに。
ASICENとHDUSとPLEXでネットで検索すると、HDUSもPXシリーズも台湾のASICEN社の
製品だと理解しました。
それでHDUSとPLEXのリモコンが完全互換なんだと、納得です。
- 324 : ◆SALrG1ld3mTc :2015/09/22(火) 06:55:06.68 ID:knSVcOol.net
- >>323
スミマセン、良く見たらdwPropID==0x14はデスクランブルさせる場合のオプション用っぽかったので、
本筋には関係無さそうでした
#M2_DECオプションを有効にする場合は0x14でそれ用の初期化を行う、みたいな感じっぽいです
その辺もまとめると、多分こんな感じになるのかなと思いますヽ(;´ー`)ノ
ttp://pastebin.com/KLvqDwir
- 325 :名無しさん@編集中:2015/09/23(水) 01:01:15.12 ID:FbNy3djd.net
- >>324 結果から言いますと、
ついにフィルタグラフにrunが掛かりました。
チューナーに対する初期設定がうまくいったようです。
現状の改変ソースを参考資料としてアップしてみます。
http://www1.axfc.net/u/3538282
一部constがビルドで引っ掛かるとこがありましたので、
constを抜いて、仮にg_M2_Dec = 0を入れて起動させています。
BonDriverProxyの作者さん。モノスゴイ解析力ですねぇ。
コマンドの解釈や、GetKey2の処理をよく新たに見つけ出したものだと驚きます。
一点質問なのですが、M2_DECオプションを有効にした場合
ハード上もしくはドライバ上でデスクランブルすると解釈して
いいのでしょうか?
- 326 : ◆SALrG1ld3mTc :2015/09/24(木) 07:28:51.80 ID:gsOg05yg.net
- >>325
> 一点質問なのですが、M2_DECオプションを有効にした場合
> ハード上もしくはドライバ上でデスクランブルすると解釈して
> いいのでしょうか?
全然調べていませんが、恐らくドライバで行われるんだと思います
linux版のドライバにはまるもさん作の「ARIB STD-B25 仕様確認テストプログラム」が
ほぼそのまま組み込まれているようなので、多分windows版でも同じなんでしょう
#もちろん、内蔵カードリーダにカードを刺しておく事が前提でしょう
- 327 : ◆SALrG1ld3mTc :2015/09/24(木) 07:33:48.18 ID:gsOg05yg.net
- あともうちょっと調べたら、>>320で書いた
> 一応、このIKsPropertySetは他のdwPropIDでSetChannel()やらGetTsStream()の中からも使われているようですが、
はやっぱり使われてるみたいですね
特にGetTsStream()から呼ばれる方はコンテンツの復号(MULTI2ではなく独自のスクランブルの)を行うために必須のようです
適当にですがコードに起こしてみました
ttp://pastebin.com/2cxf0Sb5
SetChannel()の方では、m_pcDShow->SetChFreq( iFreq );の後に、
---
m_pcDShow->SetChannel(BSならtrue CSならfalse, TSID, SID);
---
と言う感じで呼びます
TSIDはそのTSストリームのTSID、SIDは(恐らく)そのTSストリームのサービスの適当なSIDか0で、
これらは(SetChFreq()に渡す周波数とともに)iniファイルから読み出して設定します
なお、この処理はS側のみでT側では必要ありません
GetTsStream()の方では、m_LastBuffにデータを取得した後、
---
m_pcDShow->Decode(m_LastBuff->pbBuff, m_LastBuff->dwSize);
---
と言う感じです
手元にはテストできる環境が無いので、ちゃんと動く可能性はだいぶ低そうですが(;´Д`)
- 328 :名無しさん@編集中:2015/09/24(木) 19:44:37.76 ID:YSiFFSy0.net
- なにこの難解なスレw
- 329 :名無しさん@編集中:2015/09/24(木) 23:27:54.23 ID:cIFUPuu/.net
- >>327 結果からですが。
動きましたーー!。
まだ地上波のみですがTvTestで表示できましたー!
衛星側はまだ作りこまないと何もできませんが、とりあえず地上波側の表示はできました。
>>327 の新しいコードと入れ替えて動かしてみるとTSデータの取得が始まって最初の数秒はパケット数が少ないのですが、
途中からパケットが多くなってそこでエラー停止していたので一時バッファだと思われるバッファをを倍にしてみたところ
動作するようになりました。
このバッファを倍にして他に影響ないのかよく理解していないのですが、とりあえずこれで動きます。
この停止が起きた時に100%ではないのですが、デバイスドライバが離脱することがあることがわかりました。
その辺りの耐久性がないようです。ネットで時々書き込みを見るPLEXチューナーを見失う現象は、
このことではないかと考えています。
このバッファオーバーによるものと思われる対処としては、バッファが溜まり過ぎた時の処理を見直すか、
バッファを増やしてにして他に悪影響ないようであればiniでバッファ量を指定できるようにしようと考えています。
今後はゆっくりですが先に衛星側の作りこみ、チューナーとキャプチャ(現在固定)の選択の仕方変更、
iniでバッファ量を指定、その後TSバッファがらみでメモリコピーを多用しているところがあり、ポインタ処理に
置き換えれば若干パフォーマンスアップを狙えそうな所があるので、その辺りに手を付けるつもりです。
開発資料として現状のソース公開しておきます。
http://www1.axfc.net/u/3539440
BonDriverProxyの作者さん、またまた大感謝です。
これだけのコードを解析から引っ張りだしてくるとは・・・・
今では、何かの実を食べた「能力者」なのではないかと思っていますyo。
- 330 : ◆SALrG1ld3mTc :2015/09/25(金) 07:28:16.61 ID: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()呼び出すたびに毎回つくらなくても良くなりますね
とりあえずそんな感じですよ
- 331 : ◆SALrG1ld3mTc :2015/09/25(金) 07:30:50.13 ID:rOivCOgP.net
- >>328
スミマセン、確かにだいぶスレ違いですね…
過去ソースの無いBonDriverでトラブるパターンが結構多かったもので、
ちゃんとソース付きのが出てきたら良いなと…(;´Д`)
- 332 :名無しさん@編集中:2015/09/25(金) 08:17:51.05 ID:OyXy4mfw.net
- まあPLEX系でソースありになればうれしい
- 333 :名無しさん@編集中:2015/09/25(金) 08:28:42.66 ID:AbX8MWdv.net
- PLEXのbondriver専用スレ立ててやるのがいいかもね
ベースが同じだから旧製品からこれから発売される新製品まで全対応出来るし
- 334 :名無しさん@編集中:2015/09/25(金) 09:58:37.86 ID:d0hb4BNi.net
- 世の中すごい人達がいるもんだ
Proxy系にはいつもお世話になってます。あざーっす
- 335 :名無しさん@編集中:2015/09/25(金) 14:49:59.66 ID:Az6h2rPs.net
- >>331
参考になって楽しいですよ。
- 336 :名無しさん@編集中:2015/09/25(金) 17:21:27.62 ID:O0Vq2wbo.net
- 難解発言した人も悪気は無いと思うよ
俺は何も理解できなけれど、何かが発展して言ってるというのは、飛ばし読みしてても面白い
嫌いなのは出し惜しみだから
- 337 :名無しさん@編集中:2015/09/25(金) 18:02:27.13 ID:L2vPzgGJ.net
- >>333
ASICENじゃないのはまた別に解析が必要そう(GUIDも違う)
- 338 :名無しさん@編集中:2015/09/25(金) 19:09:07.25 ID:eCL+WuMi.net
- 【PLEX】PX-S1UD/BCUD Part4 【ドングル】©2ch.net
http://peace.2ch.net/test/read.cgi/avi/1441037359/
こっちのBCUDの方も頼むわ
必要ならBCUD送るよ
- 339 :名無しさん@編集中:2015/09/25(金) 23:12:53.33 ID:ydjL2w8B.net
- BondriverProxyを使用して1つのチューナーを2つのTVTestから視聴しようと試みています(もちろん同じ番組)
Bondriver_Proxy.dll
Bondriver_Proxy_splitter.dll(splitterを間にかませたもの)
から同時に視聴しようとするとBondrvier_Proxy.exeがクラッシュします(splitterの有無を統一すれば動作)
こういう使い方は無理でしょうか
- 340 :339:2015/09/26(土) 00:53:58.53 ID:ULbc/8bD.net
- 考え直してsplitter有りで統一して運用方法を工夫することにしました
1つのチューナーを別のBondriverでって無茶な使い方ですよね。スレ汚しすみませんでした
- 341 :名無しさん@編集中:2015/09/26(土) 11:12:22.35 ID:GuD/O58I.net
- 新ドライバーでPT2のバグ直ったのかな?
- 342 :名無しさん@編集中:2015/09/26(土) 18:45:35.57 ID:kGGMlB+o.net
- バグとは?
- 343 :名無しさん@編集中:2015/09/26(土) 19:20:36.45 ID:SBq10ySz.net
- 買ったら新しいPCを生やしてしまうバグ
- 344 :名無しさん@編集中:2015/09/26(土) 23:24:33.74 ID:Vrno3hSp.net
- >>342
32bit Windowsでメモリが4GB以上だと0Mbps病が発症する問題かな?
- 345 :名無しさん@編集中:2015/09/27(日) 00:00:03.52 ID:Z/H6YHq8.net
- バグっちゃバグなんだろうけど、どうせ物理アドレス考えれば原理的に使えないんだろうし・・
- 346 :名無しさん@編集中:2015/09/27(日) 18:54:00.64 ID: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内部で管理変数の上書き破壊等が発生する事になります
#https://github.com/u-n-k-n-o-w-n/BonDriverProxy/blob/61460a3caf1eaf6adaa785e58a80e8a9e676050a/ReadMe.txt#L65-L67
#で書いてるのはその様な場合の話です
その状態で処理を続けた場合にどうなるのかはそれぞれのBonDriver次第で、またホストプロセスの構造にもよるとは
思いますが、例えばBonDriverProxyがBonDriver_PTやBonDriver_PT3をこのように使用した場合を考えると、
恐らくBonDriver側で管理されているメモリへのアクセスに関してスレッド間での競合が発生し、落ちる事になるでしょう
#これは、ポインタを返す方のGetTsStream()等は非同期で呼び出される事を(恐らくBonDriverのAPIの仕様として)
#想定していない為、スレッド1に返したメモリ領域をまだスレッド1が使用しているのに、スレッド2が解放してしまう、
#と言う事が起こるからです
ダラダラと書きましたが、要はその形での使用はBonDriverProxy側だけで何とかできる範囲ではないので、できないです、
と言う事になります(;´Д`)
- 347 : ◆SALrG1ld3mTc :2015/09/27(日) 18:56:17.02 ID:w2qquhAH.net
- ズレた(;´Д`)>>346は当方です
- 348 : ◆SALrG1ld3mTc :2015/09/27(日) 19:04:05.28 ID:w2qquhAH.net
- >>338
少し見てみましたが、BonDriverで復号的な事はやっておらず、変わった事やってるのは
SetChannel()とGetSignalLevel()の中くらいにみえますね
その変わった事の内容は
ttp://pastebin.com/qTDSa8pw
な感じです
ttp://www1.axfc.net/u/3506839
のBonDriver_BDASのソースなら、
CBonTuner::LockChannel()の中の
---
pIRequest->put_Locator(pILocator);
---
の後で、
---
CustomSetChannnel((WORD)lTSID);
---
みたいに呼んで使います
CustomGetSignalLevel()の方は、CBonTuner::GetSignalLevel()の頭で呼んで、多分RSSIが2バイト値で
返って来るので、これで得た値を元にfloatのCNRとして計算したのを返してるようです
こちらはBonDriver_BDASが行ってるように、BDA標準の方法でとれるなら使う必要は無いかもしれませんね
どっちにしろ、インタフェースの型が良くわからなかったので関数ポインタ経由で無理やり呼び出しており、
まともに機能するかどうかはわかりませんが(;´Д`)
- 349 :339:2015/09/27(日) 19:27:17.62 ID:AF71QNeR.net
- >>346
レスありがとうございます
今は
TVTest1 - BonDriver_Proxy.dll -|--------||------- BonDriverProxy - BonDriver_Splitter.dll - 対象BonDriver(A)
TVTest2 - BonDriver_Proxy.dll -|
のようにしています。これで録画しながら軽くしたTSを視聴したいという目的は達成できました
運用開始直後に一度だけBonDriverProxyがクラッシュしたのですが(慌ててレポート取り逃した)それ以降は何度試しても正常動作しています
たぶん大丈夫でしょう。お手数をお掛けいたしました。素晴らしいソフトに感謝です
- 350 :338:2015/09/27(日) 23:17:28.55 ID:TgOHQ+jD.net
- >>348
レスありがとうございます
BDASに上げてもらったコード組み込んで試してみます
- 351 :名無しさん@編集中:2015/09/28(月) 00:02:56.68 ID:P8iLFU2e.net
- >>348
教えてもらったコードでTSID指定でBSのチャンネル取れるようになりました
それと動作させるのになんらかの初期化コードが要るようなんですが、わからないですかね?
バイナリで公開されているBondriverでスイッチを入れてからでないと動かないんです
- 352 :名無しさん@編集中:2015/09/28(月) 00:50:07.72 ID:R5uGdt/w.net
- >>351
>>288このあたり以降が関係していないかな?
- 353 :名無しさん@編集中:2015/09/28(月) 02:24:33.40 ID:P8iLFU2e.net
- BonDriver_BDAS Ver.0.03
http://www1.axfc.net/u/3541290
[更新履歴]
Ver. 0.03
・カスタムコード追加によりTSID指定でBSのチャンネルが取れるようになった
これにPLEXチューナーの初期化処理を入れなきゃなんないってことかな?
>>327のやつを組み込めばいいのかな?別のBondriver用みたいだけどね
- 354 : ◆SALrG1ld3mTc :2015/09/28(月) 20:51:07.19 ID:cGa3TeDv.net
- >>350-353
うーん、とりあえずOpenTuner()終わりまでにはW3PEやW3U3でやってるような特殊な処理は
入ってないように見えますね
基本的に普通のBDA系BonDriverと同じで、BonDriver_BDASで言うところの
CBonTuner::LoadAndConnectTunerDevice()内の、
---
string::size_type n = 0;
wstring semName = 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"で固定ですね
- 355 : ◆SALrG1ld3mTc :2015/09/28(月) 20:53:12.62 ID:cGa3TeDv.net
- BonDriver_BSCSをどのタイミングまで使えばBonDriver_BDASが使えるようになるのかわかるでしょうか?
DLLをロードするだけ、CreateBonDriver()まで、OpenTuner()まで、最初のSetChannel()まで、と少しづつ
機能を使っていって、どの段階でBonDriver_BDASが使えるようになるのかがわかれば、どこに鍵になる処理が
あるのかのヒントになりそうです
…CustomSetChannnel()のChannelをtypoしてるのにさっき気付きました(;´Д`)失礼しました
- 356 :名無しさん@編集中:2015/09/28(月) 22:07:14.15 ID:P8iLFU2e.net
- >>355
わかりました
特殊なチューナー初期化コードは必要ないということなんですね
>BonDriver_BSCSをどのタイミングまで使えばBonDriver_BDASが使えるようになるのかわかるでしょうか?
>DLLをロードするだけ、CreateBonDriver()まで、OpenTuner()まで、最初のSetChannel()まで、と少しづつ
うーん…それはVSのデバッガ使って追わないといけないんですよね
今度時間あるときにやってみますね
- 357 :名無しさん@編集中:2015/09/28(月) 22:10:26.52 ID:P8iLFU2e.net
- >>355
必要ならBCUD送ってもいいですけどね
- 358 :名無しさん@編集中:2015/09/28(月) 23:43:04.50 ID:P8iLFU2e.net
- BonDriver_BDAS Ver.0.04
http://www1.axfc.net/u/3541846
Ver. 0.04
・BonDriver_BDAT Ver.1.05 までの更新内容をだいたい取り込んでおいた
・あとはチューナーのスイッチが入るようになれば完成
- 359 :名無しさん@編集中:2015/09/29(火) 01:14:08.78 ID:1EOqt+1D.net
- >>355,356
356さんとは別人ですけど。
OpenTunerを超えれば使えるようになる様です。
- 360 : ◆SALrG1ld3mTc :2015/09/29(火) 19:37:36.41 ID:D0eEl3nI.net
- >>359
おお、ありがとうございます
一応ですが、CreateBonDriver()までやっただけでは使えないと言う事ですよね?
OpenTuner()の処理は一通り追ってみたつもりだったんですが、もう少し眺めてみます…
>>357
まあどうしても気になったら自分で買ってきますw
- 361 :名無しさん@編集中:2015/09/29(火) 20:16:30.10 ID: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
- 362 :名無しさん@編集中:2015/09/29(火) 20:24:58.19 ID:1EOqt+1D.net
- ×BonDriver_BSAS.dll
○BonDriver_BDAS.dll (Ver.0.04) です。
- 363 : ◆SALrG1ld3mTc :2015/09/30(水) 00:03:21.03 ID:Vq8gxJyY.net
- >>361-362
おかげでそれっぽい処理見つけられましたヽ(´ー`)ノ
とりあえずざっとコード化してみました
ttp://pastebin.com/1baKs0Ge
CBonTuner::LoadAndConnectCaptureDevice()の
---
return S_OK;
---
の直前で呼んでみて下さい…
- 364 :名無しさん@編集中:2015/09/30(水) 13:27:46.89 ID:75ir4n1u.net
- >>363
そのコード自分が入れて試してみましたところ、まだ動かないですね
Channnelのtypoは直しときました
- 365 :名無しさん@編集中:2015/09/30(水) 17:25:14.54 ID:75ir4n1u.net
- スカパー!用のBonDriver_BDAのInitializeHookと
同じようなことやってるみたいですねえ
- 366 :名無しさん@編集中:2015/09/30(水) 17:29:36.85 ID:75ir4n1u.net
- -1、-2、-3、-4とかは
E_XXXなどのリターンコードなんでしょうね
- 367 :名無しさん@編集中:2015/09/30(水) 17:46:19.36 ID:75ir4n1u.net
- いやリターンコードじゃないかもですね
よくもまあCOMを逆汗してCコードに書き直しできましたね
- 368 :名無しさん@編集中:2015/09/30(水) 17:58:38.66 ID:75ir4n1u.net
- CheckAndSetTunerDependCode(displayName);←ここでInitializeHook()が実行される
// connect 成功なので、このまま関数を終了する
return S_OK;
ホラ、スカパーBonDriver_BDAと同じですね
- 369 : ◆SALrG1ld3mTc :2015/09/30(水) 18:37:12.96 ID: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))
---
#意味があるかどうかよくわからなかったのでコメント化してましたが、必要なのかもしれないです
- 370 :名無しさん@編集中:2015/09/30(水) 19:20:03.36 ID:75ir4n1u.net
- >>369
すごい!動きました!
- 371 :名無しさん@編集中:2015/09/30(水) 19:36:29.67 ID:vDo9Votk.net
- GJ
BSCSが選択したTSIDが記憶されてるから
その領域の初期化とかしてんのかな
- 372 :名無しさん@編集中:2015/09/30(水) 20:06:45.73 ID:7g+Kag58.net
- コメントありの状態だとエラー -4 で、コメントをはずせば動きました。
信号レベル表示が100.00dbから変化しないのですけど皆さんどうです?
- 373 :名無しさん@編集中:2015/09/30(水) 20:08:09.58 ID:75ir4n1u.net
- なんかチャンネルをマップしたテーブルか構造体をセットするAPIがあった気がする
- 374 :名無しさん@編集中:2015/09/30(水) 20:12:04.53 ID:75ir4n1u.net
- >>372
WORD rssi = CustomGetSignalLevel();
ってところのrssiから算出するらしいけど、計算法がわからなかったんで
まだやってないです
- 375 :名無しさん@編集中:2015/09/30(水) 20:44:13.62 ID:75ir4n1u.net
- >>372
うちでも100.00dbから変化しないです
- 376 :名無しさん@編集中:2015/09/30(水) 20:46:09.45 ID:75ir4n1u.net
- 【PLEX】PX-S1UD/BCUD Part4 【ドングル】©2ch.net
http://peace.2ch.net/test/read.cgi/avi/1441037359/
今後はこちらでやりましょう
- 377 :名無しさん@編集中:2015/09/30(水) 22:53:56.90 ID:5v+HmoLx.net
- BCUDはlinux版のドライバ作ってほしいわ
- 378 :radi_sh ◆w66DTUAjabhm :2015/09/30(水) 23:28:07.35 ID:rEjCCeRa.net
- 横から飛び入り参加で申し訳ないです
PX-W3PE/S3U3系のBonDriverですが、GetSignalLevel()にもカスタム処理が入ってますね
↓みたいな感じで得た値を1/100しているみたいです
http://pastebin.ca/3178992
- 379 :名無しさん@編集中:2015/10/01(木) 00:34:46.86 ID:36rLzu6a.net
- Win8から対話型サービス ダイアログ検出のウインドウって標準で無効になってるのね
Win10でも、細工したらSpinelとかをサービス化してもセッション0に切り替えてウインドウ出るようになったよ、って報告しときます。
- 380 :名無しさん@編集中:2015/10/01(木) 00:51:36.26 ID:MZuoeh7L.net
- >>369
時間のある時で良いので教えて下さい。
ttp://www1.axfc.net/u/3506839 にあるWORD CBonTuner::CustomGetSignalLevel() ですが
・BonDriver_BSCS.dll のオフセット 1590 からで良いですか?
・if (w > 0x0bb8) w = 0x0bb8; (0xbb8 = 3000) は不等号が逆だったりしないでしょうか?
if (w < 0x0bb8) w = 0x0bb8;
- 381 : ◆SALrG1ld3mTc :2015/10/01(木) 09:17:21.48 ID: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の方はドライバからもらった値を小加工して返すだけなのであんまり面倒無いですねヽ(´ー`)ノ
- 382 :名無しさん@編集中:2015/10/01(木) 19:43:14.90 ID:MZuoeh7L.net
- >>381
ありがとうございます。
CNRの計算式まで書いてもらえるとは思ってもいなかったです。
PX-BCUDのCNR計算方法はLinux DVB PT3ドライバと同じですね。
簡単な経緯は以下に。
http://peace.2ch.net/test/read.cgi/avi/1441037359/56
- 383 : ◆SALrG1ld3mTc :2015/10/01(木) 22:31:16.47 ID:FXKDgKxt.net
- >>381
大体完成したようで何よりですヽ(´ー`)ノ
> PX-BCUDのCNR計算方法はLinux DVB PT3ドライバと同じですね。
そうなんですよねー
コードに起こしてからコレなんか見た事あるなと思って、PT3の旧SDKのソース(WinDriverが
使われてるのでSDKが殆どドライバのソースです)見直してみたら同じコードだったので、
もっと早くに気づいてたら慣れない浮動小数点絡みのアセンブラシコシコ読まなくても
済んだのに、と思いましたヽ(;´ー`)ノ
- 384 : ◆SALrG1ld3mTc :2015/10/01(木) 22:33:08.76 ID:FXKDgKxt.net
- >>381 ×
>>382 ○
失礼しました…
- 385 :名無しさん@編集中:2015/10/02(金) 12:22:42.58 ID:3H8JtadY.net
- なんだよおまえら難しい話ばっかりしやがってW3PEユーザーのおれが酒でも奢ってやんよ
- 386 :名無しさん@編集中:2015/10/02(金) 13:41:23.95 ID:r6wj63lv.net
- W3PEのオプソ版Bondriverは完成したの?
なら買ってくるけど
- 387 :名無しさん@編集中:2015/10/02(金) 13:46:35.42 ID:zd63mJaJ.net
- スレみてると導入すげー大変そう
- 388 :名無しさん@編集中:2015/10/02(金) 23:29:06.90 ID:/iOd8IkH.net
- >>386
完成はしたものの、正直微妙な出来のドライバーをBDAでなんとか動かしている感じのPlex製品より、BonDriverを念頭に設計された(といっても過言ではなさそうな)PTシリーズの方が遥かに良い。
PTシリーズは今だにドライバーのアップデートも行ってくれたし。
- 389 :388:2015/10/02(金) 23:29:56.41 ID:/iOd8IkH.net
- >>388
正直微妙というのはPlexのデバイスドライバののと。一応。
- 390 :388:2015/10/02(金) 23:31:30.58 ID:/iOd8IkH.net
- >>389
>デバイスドライバののと。
デバイスドライバのこと。
- 391 :名無しさん@編集中:2015/10/04(日) 18:58:25.55 ID:O5+npm4O.net
- PTのSDKが更新されたから
OPENTUNER_RETURN_DELAY=10
の問題が直ったかと期待したけど放置だった・・・
がっかり
- 392 :名無しさん@編集中:2015/10/04(日) 19:35:58.04 ID:YPXySW80.net
- >>391
マジか!
たしか誰かがearthsoftに報告したよね。
- 393 :名無しさん@編集中:2015/10/04(日) 23:18:22.21 ID: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;
}
}
- 394 :名無しさん@編集中:2015/10/05(月) 17:38:38.17 ID:JzcAbdKy.net
- bondriverproxyは導入難しいの?
環境新しくするから入れてみようかと思ってたんだが
- 395 :名無しさん@編集中:2015/10/05(月) 19:27:58.27 ID:g9FKjFgP.net
- 当人のレベルによるから難しいのかどうか聞かれても困るよね。
やってみればすぐわかること。
- 396 : ◆SALrG1ld3mTc :2015/10/06(火) 07:51:21.09 ID: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()の似た部分はさわる必要ありませんよ
あと、良かったらこちら↓もどうぞ…
http://peace.2ch.net/test/read.cgi/avi/1430828601/114-121n
>>394
>>395さんもおっしゃってますが、ひとまず試してみてわからない点があれば
聞いていただければと思いますヽ(;´ー`)ノ
- 397 :名無しさん@編集中:2015/10/06(火) 17:54:08.01 ID:4DCMKwci.net
- >>396
これってPT3でも同様の問題がありますでしょうか?
- 398 :名無しさん@編集中:2015/10/06(火) 18:09:13.54 ID:gedYKS5x.net
- >>396
ありがとうございます。
やってみます。
- 399 :名無しさん@編集中:2015/10/06(火) 18:09:40.22 ID:gedYKS5x.net
- >>397
ないと思います。
- 400 :名無しさん@編集中:2015/10/08(木) 12:40:52.39 ID:zkaToWlG.net
- >>396
327 名無しさん@編集中 sage 2015/10/08(木) 11:44:06.32 ID:q73TjTj5
>>326
コーティング規約云々以前に必要のないSleepが入っているよ。
あと、72行目のNULLも必要ない。
適当に追加しているようだけど、一度全部追ってからの方がいいよ。
反論する前に聞く耳を持ったほうがいい。
正直、不足。
- 401 :名無しさん@編集中:2015/10/08(木) 13:34:26.82 ID:phdzIbYI.net
- >>400
>>396のは正解のソース。修正が必要なのは別のソース。
- 402 :名無しさん@編集中:2015/10/10(土) 00:35:54.70 ID:ou3/liYg.net
- 出張なさっておられる
- 403 :名無しさん@編集中:2015/10/10(土) 17:04:46.73 ID: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パッチを当てていないオリジナルでは正常です
これって、私だけ?
どなたか教えて
- 404 :名無しさん@編集中:2015/10/10(土) 18:05:54.42 ID: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パッチを当てていないオリジナルでは正常です
これって、私だけ?
どなたか教えて
- 405 :名無しさん@編集中:2015/10/11(日) 09:54:44.44 ID: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でも問題なく動作しています
- 406 :名無しさん@編集中:2015/10/11(日) 13:08:32.13 ID:fJOo/5Y1.net
- 403です
自己解決しました
Proxyのプロパティで文字セットを"設定なし"にしていたためでした
修正して解決です
- 407 :名無しさん@編集中:2015/10/12(月) 17:41:07.90 ID: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
よろしくお願いします
- 408 :名無しさん@編集中:2015/10/12(月) 19:54:12.91 ID:Mg13pJIm.net
- >>15と>>54を揃えればいいんじゃないの?
- 409 :名無しさん@編集中:2015/10/12(月) 20:22:54.91 ID:XuthCV7Z.net
- >>408
そこのソースには「bcas_crypt.c」と「decode_ecm.c」が含まれていなかったんですよ
- 410 :名無しさん@編集中:2015/10/12(月) 20:47:31.29 ID:Mg13pJIm.net
- >>96のパッチを使わなければいいのでは?
うちは>>54を使ったけど。。。
- 411 : ◆SALrG1ld3mTc :2015/10/12(月) 21:37:49.77 ID:ekDVsTpl.net
- 「bcas_crypt.c」と「decode_ecm.c」は、恐らくその名の通りの機能を持つソースなのでしょう
個人での実験用途でならともかく、一般公開はちと憚られるものではないかと思うので、
ご注意ください…ヽ(;´ー`)ノ
- 412 :名無しさん@編集中:2015/10/13(火) 07:44:24.27 ID:FY5Uk1yp.net
- >>409
「bcas_crypt.c」と「decode_ecm.c」は必要ないです
windscard.libのリンクは必要ですが
- 413 :410:2015/10/13(火) 07:51:13.63 ID:FY5Uk1yp.net
- 間違えた
winscard.lib ね
- 414 :名無しさん@編集中:2015/10/13(火) 19:56:40.00 ID: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
デバッグでビルドすると出ません。
デバッグでビルドすべきなのでしょうか?
- 415 :410:2015/10/14(水) 04:12:44.10 ID:B0wywBd5.net
- >>414
winscard.libは最初からあなたのパソコンのどこかにインストールされてます
hoge2014〜ってなに
- 416 :405:2015/10/14(水) 20:10:55.70 ID:xP5vXzMg.net
- ありがとうございます
BDPXのバージョン間違いやら紆余曲折ありましたが、無事目的を達成できました。
- 417 :名無しさん@編集中:2015/10/30(金) 17:41:27.30 ID:Tw4F38xG.net
- BonDriverProxyですが、サーバ、クライアント同じPCで使う時に
127.0.0.1と指定すると接続できません。Spinelは127.0.0.1で繋がります。
127.0.0.1で繋がるようにならないでしょうか。
- 418 :名無しさん@編集中:2015/10/30(金) 17:45:17.56 ID:C+StQ3ym.net
- 昨日からPTCtrl.exeがカーネルにアクセスしてBSoD(STOP: 0x1000008E)になるんだけど、
この解決方法ってある?
PTCtrl.exe ver. 0.1.3013.0
- 419 :名無しさん@編集中:2015/10/30(金) 17:46:33.15 ID:WFkLfkJq.net
- >>417
繋がるよ。設定がミスっている。
ホスト・クライアント両方を
ADDRESS=127.0.0.1
にする。
- 420 :名無しさん@編集中:2015/10/30(金) 18:01:56.43 ID:3a4NyaJ8.net
- B25パッチ、快調ではあるんだが、地元ケーブルテレビの独自放送局だけ復号できない。
TVTest側で復号すると普通に見られるから、B25decoderとlibarib25の処理の違いかな。
エラー数の増え方がゆっくりなので、全パケットの復号に失敗しているわけでもなさそう。
- 421 :名無しさん@編集中:2015/10/31(土) 11:19:10.47 ID:Hy7U6q1J.net
- >>419
ありがとうございます。
たしかにホスト、クライアント両方127.0.0.1にすれば繋がりました。
でもそれだと、他のPCからはIPアドレス指定しても繋がらない。
理想としては、SpinelみたいにホストにはIPアドレス指定は不要
クライアントはホストと同じPCなら127.0.0.1、別PCならホストのIPアドレスを指定すれば繋がることです。
- 422 :名無しさん@編集中:2015/10/31(土) 11:26:55.69 ID:/dPXB+Yb.net
- 127.0.0.1に拘る理由あるの?
- 423 :名無しさん@編集中:2015/10/31(土) 11:29:47.62 ID:Hy7U6q1J.net
- ホストPCを変えるときに設定を変える必要がないためです。
- 424 :名無しさん@編集中:2015/10/31(土) 11:34:19.41 ID:gvl636iE.net
- >>421
ホスト側のIPアドレスが192.168.0.xxxだった場合、ホスト側を
ADDRESS=0.0.0.0
にしておけば、
ローカルマシンからのクライアント側では
ADDRESS=127.0.0.1
リモートマシンからのクライアント側では
ADDRESS=192.168.0.xxx
で繋がるようになるよ
- 425 :名無しさん@編集中:2015/10/31(土) 12:00:34.93 ID:CxHcwrKN.net
- >>421
ホストを0.0.0.0にする
全てのポートで待ちうけするようになるよ。
- 426 :名無しさん@編集中:2015/10/31(土) 12:14:12.23 ID:yz1BrDRt.net
- いいこと知った
横からサンクス
>>424,423
- 427 :名無しさん@編集中:2015/10/31(土) 12:18:32.72 ID:yz1BrDRt.net
- 思ったんだけどspinel同様鯖側に設定項目無くして内部的に0.0.0.0デフォにしておいた方がいいんじゃない?
boncasserverなんかもそうなってるし
- 428 :名無しさん@編集中:2015/10/31(土) 12:19:36.58 ID:g7I8rrai.net
- 最初からガバガバにするのか
- 429 :名無しさん@編集中:2015/10/31(土) 16:20:17.38 ID:AkwBR8D1.net
- >>418
今まで問題無くて、急にそうなったのならメモリが怪しいかと
他には、システムドライブの容量がカツカツだとSTOP:0x1000008Eが起きたりするらしい
あと、もし最近何かのドライバ(あるいはドライバをインストールするソフト)をインストールしたのなら、
それが悪さしてる可能性もあるかも
いかんせん情報不足過ぎるので一般的な事しか言えんね
- 430 :名無しさん@編集中:2015/10/31(土) 20:22:09.10 ID:jL0S9naP.net
- >>427
普段よく目にするアプリは0.0.0.0がデフォルトのが多いと思うけど、
必要最低限のアドレスだけ待ち受けるってポリシーも、セキュリティ面考えれば理解できる話かと。
何も考えずに実装とか設定ファイル共通化してるだけかもしれないけど
- 431 :名無しさん@編集中:2015/10/31(土) 20:32:13.33 ID: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
ナルホド…
正直需要としては相当ニッチな気はしますが、
対応自体は多分簡単なので、ちょっと試してみます
==
- 432 : ◆SALrG1ld3mTc :2015/11/01(日) 17:02:47.79 ID:ajq2rplf.net
- >>427
確か以前にも書いたのですが、>>430さんが書いてる通り、デフォルト0.0.0.0にしてしまうと、そっちにまで
公開するつもりはなかったのに公開してしまっていたと言う場合が出てくる可能性があるので、安全側に倒して
アドレス指定必須にしています
意図しない公開を防ぐには、意図してそうしない限りそうならないようにしておくのが望ましいとの考えからです
>>431
実装方法考えた後コード書くのは良いけどテストめんどくせと思って放置しつつ、
その後IPv6対応とかしてたら忘れてました(;´Д`)
さっきやって更新しときました
今のバージョンならIPv4とIPv6の両方で待てるようになるので、複数インタフェースのマシンでなくても
意味あるかもしれませんね
- 433 :名無しさん@編集中:2015/11/01(日) 21:02:58.23 ID:GhR3WWOx.net
- >>432
更新お疲れ様です。あとで試してみます。
うちはNIC 3枚刺しとかしてるし、
外向けと内向けのNICが違ったりするので役に立ちます。
ありがとうございました。
- 434 :名無しさん@編集中:2015/11/02(月) 03:08:54.06 ID:kPB2HB94.net
- r2って
d555d2bを適用したものなのかな
- 435 : ◆SALrG1ld3mTc :2015/11/02(月) 08:22:49.89 ID:EDr4GnDf.net
- >>433
世の中どんな需要があるかわからないものですね…
お役に立つのなら幸いです
>>434
その通りです
変更内容はコミットログに書いてる通りで、ADDRESSに設定された文字列のパース処理で手抜きしてたのを
気になって考え直しただけなので、実際の機能的には20151101と何も変わっていませんヽ(;´ー`)ノ
- 436 :名無しさん@編集中:2015/11/03(火) 15:03:35.83 ID:0X4Ryq3s.net
- いつもb25パッチを上げてくださってる方、
どうか今回の1.1.6.4のパッチもお願いします。
出来れば「bcas_crypt.c」と「decode_ecm.c」を使わない方で・・・
お願いします
- 437 :名無しさん@編集中:2015/11/03(火) 15:21:44.81 ID:vvw1XQx9.net
- 手パッチだけでは無理だったの?
- 438 :名無しさん@編集中:2015/11/03(火) 16:16:35.15 ID:lJC1fMLW.net
- 指パッチン
- 439 :名無しさん@編集中:2015/11/03(火) 21:19:37.28 ID:+v9gKDM3.net
- gitで過去バージョンにパッチ当てたブランチ作っておいてバージョン上がるたびにmasterからマージしていった方が楽だよ
- 440 :名無しさん@編集中:2015/11/03(火) 21:30:02.88 ID:aKgWKYzr.net
- >>439
SourceTreeマジおぬぬめ
- 441 :名無しさん@編集中:2015/11/03(火) 21:42:22.16 ID:FKd2v58T.net
- ローカルの少量パッチならgit rebaseのが楽かな
マージコミットが積み重なるの汚いし
- 442 :名無しさん@編集中:2015/11/04(水) 00:20:21.85 ID:RTRG9PT8.net
- SourceTreeとかどれだけ速いマシン使ってもクソ重くて使ってらんない
- 443 :名無しさん@編集中:2015/11/04(水) 19:55:22.08 ID:eQpgC4Eq.net
- 手パッチでいけました
- 444 :名無しさん@編集中:2015/11/04(水) 19:55:59.27 ID:eQpgC4Eq.net
- あID変わった
441=434です
- 445 :名無しさん@編集中:2015/11/05(木) 06:46:02.28 ID:+TIn4Bnh.net
- >>420ですが、これ調べてみたらVPIDとPCRのPIDが同一だった。PCRのパケットはアダプテーションフィールドだけなのにスクランブル制御のビットがたってるから、TVTestからは100msごとに復号漏れがあるように見える。libarib25を修正して解決しました。
- 446 : ◆SALrG1ld3mTc :2015/11/05(木) 12:38:16.76 ID:E/GbanQ9.net
- >>445
確かにlibarib25はアダプテーションフィールドだけのパケットは無条件で通常パケット扱いしてますね
実際復号は不要なので、単にスクランブルフラグを下げるかどうかだけの話だったと…
いろんな放送機器があるもんですねー
対応的には、flush_arib_std_b25()とproc_arib_std_b25()の2箇所にある
https://github.com/epgdatacapbon/libarib25/blob/7f75f30f3559a87f99746fdc9ee3c481346d01bd/src/arib_std_b25.c#L614-L640
の部分を
---
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;
}
---
に変更する感じでしょうかヽ(´ー`)ノ
- 447 :名無しさん@編集中:2015/11/05(木) 15:20:25.93 ID:cqmDVdVn.net
- >>446
古いバージョンを弄ってない?
すでに修正されていると思う。
公開されていた最終リポは
arib_std_b25_5401e3c7f503 150924
だったはず。
- 448 :名無しさん@編集中:2015/11/05(木) 18:21:28.22 ID:x2ZSuawc.net
- >>446
if((crypt != 0)&&(hdr.adaptation_field_control == 0x02)) curr[3] &= 0x3f;
を加えるだけの修正で済ませてますが、やってることはそのとおりです。
ノンスクランブルの無料放送はVPIDとPCRPIDが同じことが多いみたいですが、この放送ももともとCATV加入者向け無料放送で、その放送にスクランブルをかけて地デジのパススルーにも乗せているようです。
>>447
修正済みのリポがあったんですね。今も入手可能ですか?
- 449 : ◆SALrG1ld3mTc :2015/11/05(木) 20:59:27.70 ID:E/GbanQ9.net
- >>447
知りませんでしたヽ(;´ー`)ノ
githubでは管理されてないか、github管理でもstz2012版からのforkではないって事かな…
>>448
そもそも映像とPCRのPIDを同じにするのって、ずっとTSの容量削減目的だろうと思ってたのですが、
PCRだけ別パケットで飛ばすのならその効果は無いですし、どのような意図なんでしょうね(;´Д`)
ところで
https://github.com/epgdatacapbon/libarib25/
にさっそく取り込んでいただけたんですね…が、ちと変更ミスされてるようですヽ(;´ー`)ノ
インデントが消されてしまっていてわかりにくいのですが、>>446に書いた変更ではネストが一段
深くなっていて、if(hdr.adaptation_field_control & 0x01)のelseの処理が丸々増えてますよー
- 450 :名無しさん@編集中:2015/11/05(木) 21:25:24.99 ID:Cd0G+oLt.net
- >>449
わざわざありがとうございます。
よくわからず取りあえず直してしまったもので。
もしよかったら該当ファイルをどこかに上げて頂けませんでしょうか。
- 451 : ◆SALrG1ld3mTc :2015/11/05(木) 22:04:47.77 ID:E/GbanQ9.net
- >>450
7f75f30のarib_std_b25.cへのdiffでなら
ttp://pastebin.com/CCD8YTbG
みたいな感じですよー
- 452 :名無しさん@編集中:2015/11/06(金) 08:31:10.86 ID:8AKT/cM8.net
- >>451
ありがとうございます。
さっそく修正します。
- 453 :名無しさん@編集中:2015/11/06(金) 14:09:35.60 ID:LyPICKAk.net
- >>452
まだおかしくね?
- 454 :名無しさん@編集中:2015/11/06(金) 14:22:22.94 ID:hzYckf09.net
- それのb1とcamelliaバージョン欲しい
- 455 :名無しさん@編集中:2015/11/06(金) 14:47:37.02 ID:LyPICKAk.net
- ああ、Commit時間みたらこれまだ修正前か
失礼した
- 456 :名無しさん@編集中:2015/11/06(金) 15:33:47.04 ID:r5Wpbb99.net
- >>447
Tor版のリポにあった奴でしょ?
クローズの環境で公開されていたか知らない人が多いんじゃないかな?
それと、>>445の問題あ修正されていないと思う。
arib_std_b25_5401e3c7f503 150924
持っているけどUpしていいのか?
途中の更新内容が理解できるのか・・・
- 457 :名無しさん@編集中:2015/11/06(金) 17:56:48.48 ID:yW7ynefz.net
- >>456
お願いします
- 458 :名無しさん@編集中:2015/11/06(金) 19:00:14.35 ID:I2/hatU2.net
- >>449
Razor Lemon HG が Tor板でTortoiseHg使って公開していました。
すでに閉じてしまっています。
- 459 :名無しさん@編集中:2015/11/06(金) 20:42:36.43 ID:JSX/1got.net
- >>420 = >>445 = >>448ですが、
https://github.com/epgdatacapbon/libarib25/
の動作も確認しましたので報告しておきますね。
反映ありがとうこざいます。
- 460 :450:2015/11/06(金) 21:33:09.90 ID:cZNrdeKp.net
- >459
動作確認ありがとうございます。
- 461 : ◆SALrG1ld3mTc :2015/11/07(土) 11:38:28.24 ID:dpSpores.net
- >>456
>>458
あー、あっちのリポでしたかヽ(;´ー`)ノ
となると、もしかしたらアレ気な改造が行われてるかもしれないので、全ての変更内容を十分理解した上で、公開しても
大丈夫だなと判断できる場合以外は、下手に公開してしまうと危険かもしれません、ご注意ください…
#単にb25関連だから慎重に…と言うのとは別の次元の話で危ないかもしれないので(;´Д`)
- 462 :名無しさん@編集中:2015/11/07(土) 12:21:17.46 ID:yj/l/pzf.net
- この辺りの話題自体よしたほうがいいね。
- 463 :名無しさん@編集中:2015/11/08(日) 07:24:36.31 ID:4DnvESKT.net
- B25 patch for BDPex 1.1.6.4 (VS2015用)
http://pastebin.com/sV3pvJ8P
- 464 :名無しさん@編集中:2015/11/08(日) 17:42:29.15 ID:62/NqMkE.net
- 手パッチでもなんだが通常のは問題ないが
サービス版だとサービス開始できないって怒られるんだよな…
- 465 :名無しさん@編集中:2015/11/08(日) 23:18:32.03 ID:4DnvESKT.net
- >464
普通にサービスで使えてるけど。Windows10。
- 466 :名無しさん@編集中:2015/11/11(水) 22:47:19.47 ID:AFgS20fy.net
- 458と461で複合漏れと複合されたけど見られないTS吐き出しが一回ずつ
- 467 :名無しさん@編集中:2015/11/12(木) 18:48:52.21 ID:377dLB28.net
- >>466
とりあえずどっちが問題なのか気になるな。
- 468 :名無しさん@編集中:2015/11/14(土) 00:41:49.47 ID:Sp71HzFt.net
- splitterを通してEDCBを使うと録画に失敗する(再生できない小さいファイルができる)ことがあるんですが、うちだけかな?
splitterを介してBonDriverProxyEXを動かす構成にしていて、BonDriver_ProxyでEDCBとTVTestを使っています。
splitterを介さなければ安定なんだけど、EDCBに優先的にチューナを割り当てることと、TVTestで見るときに帯域を節約することの両立を図りたいんです。
- 469 :名無しさん@編集中:2015/11/14(土) 23:13:40.59 ID:Sp71HzFt.net
- >>468だけど、単にEDCBのChSet4とChSet5がおかしかっただけで、作り直したら解決しました。スレ汚し申し訳ない。
- 470 :名無しさん@編集中:2015/11/18(水) 20:42:51.40 ID:ioZ5HYxg.net
- 余計なコードが入っていたので上げ直し。
B25 patch for BDPex 1.1.6.4 (VS2015用)
http://pastebin.com/U37ZPLMj
- 471 :名無しさん@編集中:2015/11/18(水) 20:44:13.95 ID:ioZ5HYxg.net
- 余計なコードが入っていたので上げ直し。
B25 patch for BDPex 1.1.6.4 (VS2015用)
http://pastebin.com/U37ZPLMj
- 472 :名無しさん@編集中:2015/11/19(木) 16:50:53.12 ID:BBrGLq4u.net
- >>471
ありがとうございます
- 473 : ◆SALrG1ld3mTc :2015/11/19(木) 20:08:47.93 ID: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()として実装しています
https://github.com/epgdatacapbon/libarib25/tree/b8ae14182e4ed52c4488118ef6aa7d7668ab14d2
へのパッチなら
ttp://pastebin.com/JpDJFE3c
と言う感じですね
#まず問題にはならない地味なバグ修正や、ECMやEMMをカードへ送るのに失敗した場合のリトライ方法及び
#回数の変更なども含んでいます
- 474 : ◆SALrG1ld3mTc :2015/11/19(木) 20:16:23.08 ID:T7X9SZk4.net
- 使う側の実装は
ttp://pastebin.com/sTAGcBy8
みたいな感じです
これを通して録画しながらカードリーダからカードを抜いてみて、録画ファイルにドロップが
発生しないのを期待通りの動作の確認としています
このクラスをEDCBからも使うためにdll使用前提になってたりdecode()のインタフェースが
ちょっと違ってたりしますが、ご参考までにヽ(´ー`)ノ
- 475 :名無しさん@編集中:2015/11/20(金) 17:09:13.34 ID:N+B16m/Q.net
- >473,474
いつもありがとうございます。
早速アップデートさせて頂きます。
- 476 :名無しさん@編集中:2015/11/20(金) 22:53:39.00 ID:J202ybZY.net
- 質問させてください。
Windows7からWindows10にアップグレードしてPT3周り安定してたからクリーンインストールしてみたんですが
BonDriverProxyExサービス開始時にiniファイル読み込んでくれなくなりました。
サービス再起動すればiniファイル読み込まれるようです…
サービス再起動せずにiniファイルを読み込ませるにはどうしたらいいでしょか・・・?
Windows10 Pro TH2 x64
BonDriverProxyEx サービス版x64 コミットd555d2b
- 477 :474:2015/11/20(金) 23:31:25.65 ID:J202ybZY.net
- >BonDriverProxyEx サービス版x64 コミットd555d2b
ではなく
BonDriverProxyEx サービス版x64 コミットe4ea3e8でした
- 478 : ◆SALrG1ld3mTc :2015/11/21(土) 09:07:38.08 ID:r0GrdxpX.net
- >>474の実装例ですが、よく考えたら_bcasオブジェクトは個別の送受信バッファを持っていて、
ライブラリ内部では特に排他処理が行われてるわけでもないので、そのまま複数のクライアントで
共用するのはまずいですね(;´Д`)
かと言ってアプリ側で_b25->put()を排他にするのはロックの粒度が粗すぎてイマイチだと思うので、
わざわざ参照カウントのような事はやらずに、>>471さん方式で、素直に全部のクライアント用に
ちゃんと_bcasオブジェクトをつくる方が正しそうです…
ttp://pastebin.com/NWz7B7pY
失礼しました(;´Д`)
ついでと言っては何ですが、一旦パススルー動作にフォールバックしてもクラス使用側は気にせずに
decode()を呼び続ければ、一定時間毎にカード初期化から再チャレンジするようにしてみました
- 479 : ◆SALrG1ld3mTc :2015/11/21(土) 09:11:42.16 ID:r0GrdxpX.net
- >476-477
えと、win7の頃は問題無かったと言う事でしょうか?
その辺りのコードは以前から何も変更していないので、何だろう…
既に試されたかもしれませんが、一旦サービス登録から削除して、再度登録してみるとかくらいしか
思い付きません…
クリーンインストールなら関係ないかもしれませんが、サービスとしてインストールした時と
実行ファイルの設置パスが変わっており、かつ前のパスにも設定ファイルが残っていたりすると、
一応そんな感じの挙動になりそうな気はします(;´Д`)
- 480 :名無しさん@編集中:2015/11/21(土) 10:55:53.02 ID:Iv/hpT+a.net
- >>479
>えと、win7の頃は問題無かったと言う事でしょうか?
Win7の頃とWin7→Win10アップグレード後は問題はなく、Win10クリーンインストールで問題発生です
>一旦サービス登録から削除して、再度登録してみるとかくらいしか
何度もやってみましたがダメでした…
>サービスとしてインストールした時と実行ファイルの設置パスが変わっており
パスは変わってないです…
今のところわかってるのは以下の2つです
・サービスのスタートアップの種類が"自動"だとiniファイル読み込んでくれず、要サービス再起動
・サービスのスタートアップの種類が"自動(遅延起動)"だと問題なくiniファイル読み込んでくれる
遅延起動だと起動遅すぎるので一時しのぎとしてバッチファイルでサービス再起動させています><
- 481 :名無しさん@編集中:2015/11/21(土) 12:45:24.68 ID:V4jOlrKX.net
- パスってどこに置いてるのか
- 482 :474:2015/11/21(土) 13:25:10.42 ID:Iv/hpT+a.net
- >>481
こちらです
C:\app\TV\BonDriverProxy(x64)\BonDriverProxyEx.exe
C:\app\TV\BonDriverProxy(x64)\BonDriverProxyEx.ini
サービスのパスも同じです
- 483 :名無しさん@編集中:2015/11/21(土) 14:00:36.08 ID:qUF3CjVU.net
- >>480
予想だけど、自動のタイミングのときに読み込むファイルが多すぎてiniの読み込みがタイムアウト
になってるとか?
- 484 : ◆SALrG1ld3mTc :2015/11/21(土) 22:49:27.55 ID:r0GrdxpX.net
- >>480
なるほど、サービスの起動がタイムアウトしちゃってる可能性はありますね
https://support.microsoft.com/ja-jp/kb/839803
とかを参考に猶予時間を延ばしてみるとか…
そもそもBDPEX自体の起動には時間はかからないはずなので、それでもダメなら多分別の理由だろうと思います
例えばBDPEXのプログラムからはサービスインストール時に他のサービスに対する依存関係は設定していないので、
(そんな事があるのかどうかはわかりませんが)もしTCP/IPドライバより先に起動しようとしたりしてたら
起動がコケる可能性があるのかもしれません
サービスとしてインストールした場合はレジストリの「HKLM\SYSTEM\CurrentControlSet\Services」に
「BonDriverProxyEx」キーがあると思うので、そこに「DependOnService」をREG_MULTI_SZでつくって、
内容を
---
Tdx
---
にすると(TCP/IPドライバに依存している)「NetIO レガシ TDI サポート ドライバー」に依存するように
なると思うので、その状態でどうなるか試してみるとかでしょうかヽ(;´ー`)ノ
- 485 :474:2015/11/22(日) 14:03:49.32 ID:TXrgjJRm.net
- >>484,481
タイムアウトになってた場合、イベントログ等に出力されますか?
一応ServicesPipeTimeout 60000とDependOnService Tdxやってみましたが変わらずini読み込まれないですね…
もう一度クリーンインストールしてみてもダメだったので諦めてバッチ走らせるとします…orz
お騒がせしました
- 486 : ◆SALrG1ld3mTc :2015/11/22(日) 22:13:19.25 ID:Lh0ow5zj.net
- >>485
> タイムアウトになってた場合、イベントログ等に出力されますか?
BDPEX側からは特に何もやっていませんが、サービスをコントロールしている側が出力したりするみたいですね
ただ、実際にそうなってるのを見た事が無いので良くわからないです(;´Д`)
サービスの良くわからない挙動と言えば、当方の環境の各マシンの内、録画機だけでW32Time(NTPクライアント)が
自動起動に設定しているのに起動しないのですが、もしかしたら同種の問題なのかな…
- 487 : ◆SALrG1ld3mTc :2015/11/22(日) 23:59:29.23 ID:Lh0ow5zj.net
- > 録画機だけでW32Time(NTPクライアント)が自動起動に設定しているのに起動しないのですが
書いてたら気になってきたのでちゃんと調べてみたら、なんかトリガーが設定されてて
ドメインに参加してないと勝手に止まるようになってました(;´Д`)
トリガー条件を変更したらちゃんと起動するようになりました
その過程でサービスのトリガー起動のやり方を知ったので、メモ
---
// 「IPアドレスが使えるようになったら起動、使えなくなったら停止」に設定する
sc triggerinfo BonDriverProxyEx start/networkon stop/networkoff
#もちろん管理者コマンドプロンプトから
#また、無印BDPの場合は"BonDriverProxyEx"ではなく"BonDriverProxy"で
// トリガーの状態を確認
sc qtriggerinfo BonDriverProxyEx
---
- 488 :名無しさん@編集中:2015/11/23(月) 14:55:33.09 ID:jvupSM+K.net
- 解決しました…
ini読み込まれないなんて勘違いで
BonDriverProxyEx.iniでADDRESS=192.168.0.xxxにしてたのが原因でした
↑だとシステム起動時のサービス起動ではポートLISTENされないのですね
ADDRESS=127.0.0.1指定したら無事LISTENされました
ini読み込まれなかったらサービス版は起動しないし、通常版はダイアログがでるのですね…
お騒がせして失礼しました。付き合ってくれてありがとうございました
- 489 : ◆SALrG1ld3mTc :2015/11/24(火) 07:57:30.92 ID:ctNcGRe6.net
- >>488
>>488さんの用途(ローカルマシンからしかアクセスしないとかでしょうか?)では解決したようなので
とりあえずは良かったですが、ADDRESSが127.0.0.1でないとlistenされないと言うのは他のマシンから
アクセスできないと言う事なので、完全な解決ではないですね
サービス起動の種類を手動にして、>>487の様にトリガーを追加すると大丈夫になったりしないでしょうか?
- 490 :474:2015/11/24(火) 10:05:49.52 ID:UpTxL1wG.net
- >>489
書き忘れましたが0.0.0.0でもLISTENされます
>sc triggerinfo BonDriverProxyEx start/networkon stop/networkoff
↑を追加し、サービス手動にしてみましたが192.168.0.xxxでLISTENされませんでした;;;
- 491 : ◆SALrG1ld3mTc :2015/11/25(水) 07:40:09.57 ID:N1DFUkwz.net
- >>490
> 書き忘れましたが0.0.0.0でもLISTENされます
ああ、それならとりあえず大抵の環境では大丈夫そうですね
インタフェースのアドレス指定した場合、トリガーでもダメなのはどうしてでしょうね
start/networkonは「IPアドレスが使えるようになったら」らしいので、
127.0.0.1が使える状態になったけど192.168.0.xxxはまだ使えないタイミングで
トリガーが発行されてる、とかでしょうか…
- 492 :名無しさん@編集中:2015/11/26(木) 22:57:58.46 ID:tp24eFiM.net
- スレチですが以前、作者さんがTS初心者スレに投下したテレビ東京.tsを修正するtx.zip
オンラインストレージに上げ直してはいかがでしょうか?
斧に置いたままだとファイルが壊れることがあるので・・・
- 493 : ◆SALrG1ld3mTc :2015/11/27(金) 08:20:39.54 ID:3UKOvEI0.net
- >>492
あら、懐かしい話題が…
あのツールはまだテレ東問題の原因を特定してなかった段階でやっつけでつくったものなので、
とりあえずPMTの並べ替えをするだけのツールですが、
https://github.com/u-n-k-n-o-w-n/BonDriverProxy_Linux/blob/master/util/splitter.cpp
の-mオプション("PMT defrag")で目的としては大体同じ事ができるので、
それでどうでしょうヽ(´ー`)ノ
#linux用のツールとして置いてますが、winでもコンパイルして使えるようになってます
- 494 :490:2015/11/27(金) 22:19:28.11 ID:qnBpp6jl.net
- >>493
別のツールに統合されてたんですね
失礼しました
- 495 :名無しさん@編集中:2015/11/28(土) 23:10:29.52 ID:aEwCrqLm.net
- B25 patch for BDPex 1.1.6.4 (VS2015用、withdraw対応)
http://pastebin.com/3cXNSV4V
- 496 :名無しさん@編集中:2015/11/29(日) 14:48:11.87 ID:Vp+UapF6.net
- >>495
B25Decoder.hの修正を入れ忘れてるような…
- 497 :名無しさん@編集中:2015/11/29(日) 15:20:17.32 ID:6hVcFykj.net
- >>495
願わくばXPにもご対応を >>66状態
- 498 :名無しさん@編集中:2015/11/29(日) 15:45:29.82 ID:b96W2ySx.net
- >>496
ライブラリの方に統合されてます。
- 499 :名無しさん@編集中:2015/11/29(日) 16:14:26.53 ID:hfr6Ootn.net
- XPなんかさっさと捨てろよ
- 500 :名無しさん@編集中:2015/11/29(日) 17:57:57.74 ID:Vp+UapF6.net
- >>498
おお、ライブラリが更新されてたのね。ありがとうございます。
- 501 :名無しさん@編集中:2015/11/29(日) 18:05:22.62 ID:sAacl7VY.net
- >>497
XPの32bit版の話で良いなら、>>495のパッチの48〜56行目の辺りのコメント化されてる部分を
元に戻してから、Win32版のプラットフォームツールセットをv140_xpにしてビルド
- 502 :名無しさん@編集中:2015/11/29(日) 18:46:39.87 ID:6hVcFykj.net
- >>501
想定内のことだったようで失礼しました
大変ありがとうございます
バッチリです。
- 503 :名無しさん@編集中:2015/11/29(日) 19:57:12.41 ID:D1CJrDbA.net
- パッチがだいぶコンパクトになったようでよいですね
- 504 :名無しさん@編集中:2015/12/06(日) 07:02:32.73 ID: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)
↓
ABonDriverProxyEx.exe
(PT-ST=BonDriver_Splitter_ST0.dll;....;BonDriver_Splitter_STx.dll)) ⇒ クライアントに配信
クライアントへの配信用にBonDriver_Splitterをかけるため上記の様にして運用をしています。
ですが問題が1つ
クライアント側のCHANNEL_LOCK値は当然AのBonDriverProxyEx.exeに効くのですが、
運用上は@にも効いてほしいのです。(むしろ@のほうが問題)
BonDriver_ProxyやBonDriver_Splitterなどの仮想のBonDriverに接続している場合、
CHANNEL_LOCK値を透過する等、対応検討していただけないでしょうか?
- 505 :名無しさん@編集中:2015/12/06(日) 09:05:16.29 ID:Qar4zoNB.net
- >>504
意味がわからんな。少なくとも
@BonDriverProxyEx.exe
(PT-T=物理T0〜物理Tn,PT-S=物理S0〜物理Sn)
↓
BonDriver_Proxy_PT-S.dll,BonDriver_Proxy_PT-T.dll
⇒ サーバー側の録画ソフト等
だろ。
- 506 :名無しさん@編集中:2015/12/06(日) 13:16:28.66 ID:HqWJ6gdA.net
- > 当方的には、
> ・サーバ側で使う場合はスプリッタ機能を有効にして読み込むBonDriverとは一対一の関係に
> .・クライアント側で使う場合はスプリッタ機能は使わない
> ・読み込むBonDriverをまとめるのは視聴用のアプリに使う時だけ
> 辺りが無難な使い方かなと思ってます
のとおりにして、必要なボンドラ選択肢の数ぶん、サーバのBDPEX.iniに書き込めばいいだけでは
- 507 :名無しさん@編集中:2015/12/06(日) 14:00:21.03 ID:KEQVp3g0.net
- >>504と似た使い方してるが
AのSplitter.dllを複数用意しなくても@が余ってる限り自動で処理してくれれば最高
- 508 :名無しさん@編集中:2015/12/06(日) 14:07:24.78 ID:HqWJ6gdA.net
- 書き込んだあと気付きましたが、当方でも例えば、
EDCBにてプロキシ経由、スプリッタ経由無しぼんどら単独(例えばS0.dll)、ロックあり設定で録画中に
TvTestにてプロキシ、スプリッタ経由有り、ぼんどら複数まとめ、ロック無し設定でアクセスすると、空いてるぼんどらS1.dllをよまずに映像出ません。(スプリッタ経由しないと空きを選んで映像出る)
- 509 :名無しさん@編集中:2015/12/06(日) 15:23:43.13 ID:9qKX4C4y.net
- いまだにスプリッターの使い方がようわからんので上の何言ってるんかさっぱりだわ
- 510 : ◆SALrG1ld3mTc :2015/12/06(日) 17:51:19.58 ID:14qZP+hH.net
- >>504
現状サーバがロードしたBonDriverに現在のクライアントのCHANNEL_LOCK値を渡す手段は存在しておらず、
また、そのロードしたBonDriverがBonDriver_Proxy.dllだった時に、それが複数のクライアントから
共有されている場合は、CHANNEL_LOCK値をどのタイミングでどう変化させるかも考慮する必要がありそうなので、
若干変更点が多くなりそうです…
ちょっとやり方を考えてみますが、こりゃ無理だわとなるかもしれません(;´Д`)あまり期待しない方向でお願いします
- 511 : ◆SALrG1ld3mTc :2015/12/06(日) 17:55:04.87 ID: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に接続
---
続く
- 512 : ◆SALrG1ld3mTc :2015/12/06(日) 18:03:29.46 ID: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でのネットワークトラフィック削減効果が若干落ちる)点もありますね
この辺のネガな点が無視できるかどうかは、個人の録画環境や運用スタイル次第でしょうね
- 513 : ◆SALrG1ld3mTc :2015/12/06(日) 18:21:02.09 ID:14qZP+hH.net
- >>508
おお、なんだろう
クライアント側でBonDriver_Splitterでまとめても、結局はBonDriver_Proxyがサーバ側に
例えばPT-Sの空きをよこせ、と言う形でアクセスするはずなので、その辺は違いはないはずなんですが…
今手元でEDCBの代わりにTVTestを使って簡易的に試してみましたが、一応期待通りの動作をしているようです
詳しい設定内容を書いてもらえると何かわかるかもしれませんヽ(;´ー`)ノ
- 514 :名無しさん@編集中:2015/12/06(日) 19:48:21.51 ID: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に設定して試してみました。同様の状態になります
- 515 : ◆SALrG1ld3mTc :2015/12/06(日) 21:35:05.09 ID:14qZP+hH.net
- >>514
ああ、なるほど…
BDPEXは別のグループに設定されたBonDriverは互いに関係が無いと言う前提で動作しているので、
>>514の設定で言うと、PT-S0を誰かが使っている時に別の誰かがPT-Sをリクエストしてきた場合、
まずはBonDriver_PT-S0.dllを使おうとするでしょう
この場合どうなるかはBonDriverの種類によりますが、基本的にこの状態は避けるようにして下さい…
https://github.com/u-n-k-n-o-w-n/BonDriverProxy/blob/d555d2b88540aa0217512bb023c19fc1ad82b219/ReadMe.txt#L62-L67
↑は無印BDPでの注意書きですが、BDPEXでも同じです
仮に現在それで動いているようにみえても、その状態は多分危険です
具体的には、EDCBもPT-SやPT-Tを使うようにして、EDCBの設定でそれらのチューナ数を2にするなどの方法で
対処する感じになると思います
- 516 : ◆SALrG1ld3mTc :2015/12/06(日) 21:39:27.12 ID: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を送信すると言う事はできないと言う、
かゆいところに手が届かない仕様となっております(;´Д`)
- 517 :502:2015/12/06(日) 22:12:08.25 ID:QLIN6an7.net
- >>510
あくまで主は録画動作で、
クライアントへの配信がちょっと便利になるといいなって程度なので
検討いただけるだけで感謝です。
よろしくお願いします。
- 518 : ◆SALrG1ld3mTc :2015/12/06(日) 22:55:36.78 ID: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を使うと言う感じの使い方を想定しています
これならすぐ対応できそうですが、どんなもんでしょうか?
- 519 :512:2015/12/06(日) 23:13:13.92 ID:HqWJ6gdA.net
- >>515
詳細な説明いたみいります
>>339 レスあたりのことしちゃってますね(;´Д`)
ReadMeは読んでましたが理解していませんでした(;´Д`)
(特にインスタンスの共有)
当方ではSplitterで削るメリットが優先なので
>>346 どおりにクライアント側Splitterでガリガリする運用設定
にしてみます。ありがとうございました
- 520 :名無しさん@編集中:2015/12/07(月) 00:29:06.24 ID:zv9y8XdK.net
- >>518
できればローカルの録画側はシンプルな構成がいいので、
BonDriver_Splitterを挟みたくないですね。
理想を言えば
従来のBonDriverProxyEx.exeのチャンネル割り当て後、
クライアント側のBonDriver_Proxy.dllにSplitしてくれという設定がされていれば、
配信前にBonDriverProxyEx.exe内でSplitして送信してもらえると
複数のBonDriver_Splitter.dllやBonDriverProxyEx.exeが2つ
いらずシンプルに構成できていいかなと思います。
- 521 : ◆SALrG1ld3mTc :2015/12/07(月) 07:33:21.24 ID:UGep1o/i.net
- >>520
> クライアント側のBonDriver_Proxy.dllにSplitしてくれという設定がされていれば、
> 配信前にBonDriverProxyEx.exe内でSplitして送信
現在の実装の都合的にこれはちと難しいです(;´Д`)
クライアントがTS分離を要求していたとして、あるBonDriverのあるスペース/チャンネルに
チャンネル変更した際に、クライアントにどのサービスを送信すれば良いのか、現状BDPサーバ側では
知る手段がありません
一応、BDPクライアントの設定項目を大幅に追加/変更し、BDPの通信プロトコルも一部変更すれば
そこはクリアできる可能性も出てきますが、次のハードルとして、クライアントAとクライアントBが
同じBonDriverを要求していて、かつAはTS分離を要求、Bはそのままを要求している場合、
クライアントAのチャンネルnとクライアントBのチャンネルnは対象BonDriverに対しては異なる
チャンネルになる場合が出てくる為、チャンネル共有を行うにはBDPサーバ内部でかなりごちゃごちゃと
対応とる必要が出てくる感じです
BDPのアーキテクチャ的にも、そもそもその名の通りクライアント側からサーバ側のBonDriverへ
なるべく透過的にプロキシ接続すると言うのがモットーなので、BDPサーバ内部であれこれやるのは
できれば避けたいところなのですヽ(;´ー`)ノ
- 522 :名無しさん@編集中:2015/12/07(月) 08:06:51.44 ID:WEXhPXgZ.net
- まあこれは正直しょうがないとおもう
- 523 : ◆SALrG1ld3mTc :2015/12/07(月) 19:21:10.75 ID:UGep1o/i.net
- とりあえず>>518に関しては、それができて困る事は無さそうなのでBonDriver_Splitterを更新しておきました
USESERVICEIDが[OPTION]での設定から各スペース毎での設定に移動しています
今までのバージョンからこのバージョンに乗り換える場合は、すみませんが現在ご使用のiniの内容変更をお願いします
スペース定義でUSESERVICEIDが設定されていない場合のデフォルト値は1なので、今までの物をUSESERVICEID=0で
使っていた人は特にご注意ください…
なお、サンプルのiniの設定は難視聴を削除したバージョンのBonDriver_PT-S.ChSet.txtに
あわせて更新しておりますので、こちらについてもご注意くださいヽ(;´ー`)ノ
- 524 :名無しさん@編集中:2015/12/07(月) 19:52:34.49 ID:uKLmWuWD.net
- エエー
めんどくさw
- 525 : ◆SALrG1ld3mTc :2015/12/07(月) 20:59:07.60 ID:UGep1o/i.net
- スミマセン(;´Д`)
一応、機能的には>>518ができるようになっただけの違いなので、こういう使い方が不要な方は
必ずしも乗り換える必要はありません
なお、iniの内容変更はUSESERVICEIDの行を各スペース定義に機械的に追加するだけですので、
多分30秒くらいあれば終わる作業かと思います…
- 526 :名無しさん@編集中:2015/12/07(月) 22:02:40.05 ID:1tpwsUgy.net
- もしかして結果的に>>339ができるようになったのかな(ゴクリ
- 527 :名無しさん@編集中:2015/12/07(月) 22:05:32.67 ID:2gWgEEkj.net
- これは大歓迎。ありがたいです。
- 528 :名無しさん@編集中:2015/12/07(月) 23:13:17.00 ID: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]
こんなの出て停止する...
- 529 :名無しさん@編集中:2015/12/08(火) 00:50:18.50 ID:u8Wl3AlJ.net
- >>528
それ多分標準出力に出力されてる
sampleのファイルへの保存オプションは-oだよ
./sample -b /home/chinachu/BonDriverProxy_Linux/BonDriver_Proxy-T.so -s 0 -c 15 -t 5 -o test.ts
- 530 :名無しさん@編集中:2015/12/08(火) 00:54:31.69 ID:JbbtGHow.net
- 標準出力にバイナリ垂れ流すって、普段Windows使う上であまり遭遇しないからねぇ
- 531 :名無しさん@編集中:2015/12/08(火) 01:06:00.20 ID:XjLk9OUQ.net
- >>529
ありがとうございますm(_ _)m
- 532 : ◆SALrG1ld3mTc :2015/12/08(火) 22:12:23.14 ID:p7sWjTEt.net
- >>526
BonDriver_Splitterを噛ませる必要がありますが、クライアントが録画ソフトの場合は生TSを、
視聴用ソフトの場合はサービス指定されたTSを送る事ができる、と言う感じですね
ただしもちろん、視聴用ソフトがチャンネルロックせずに視聴中に録画ソフトがチャンネルを持って行った場合、
視聴用ソフト側にも生TSが送られるようになります
要は単に、生TSが流れるチャンネルとサービス指定されたTSが流れるチャンネルとが別々に存在している状態に
できると言うだけですヽ(;´ー`)ノ
- 533 :名無しさん@編集中:2015/12/08(火) 23:32:16.40 ID:r118EW6i.net
- 同時に違う内容のTSを流せるわけではないということですね
- 534 :名無しさん@編集中:2015/12/13(日) 09:55:46.22 ID:jLMqAbND.net
- >>315
>>320
もうすでに解決済みかもしれませんが。
libusbで制御する形でPX-BCUDをLinuxで使えないか調査しているのですが
同じ様にTSが化けて、0x47が出てこないで0xffの塊が周期的に出てくる様な
状態だったのですが、em28178のレジスタ0x5fをLSB=1にするのではく0x81を
出力した所TSが出てきました。
理由は資料が見つけられていないのでわかりませんが、recfsusb2nのソース
だとLSB=1だったのとBonDriver_BSCS.dllのキャプチャ結果だと0x5fを読んで
0x80でLSB=1にして0x81を出力しています。それで、LSB=1だと考えたのですが、
0x80にも意味が有るようです。
ttp://pastebin.com/Ni6a1CwQ
USBに対する入出力結果を貼っておきます。
まだ、BS1を30秒録画してTSが出てきたというだけの段階です。理解できずに
やっている箇所が多いので必要なことをやっていなかったり余計なことを
やっていると思いますが、何かの参考になれば。
DVBドライバ期待しています。
- 535 :名無しさん@編集中:2015/12/13(日) 09:56:40.41 ID:jLMqAbND.net
- あああ。間違えた。
- 536 :名前:名無しさん@編集中:2015/12/13(日) 12:35:21.36 ID:UuAvMx/x.net
- >>535
なんだとぉー、適切に謝罪しろ
- 537 :名無しさん@そうだ選挙に行こう:2015/12/14(月) 12:20:32.21 ID:jLiqrzD/.net
- __、
,r´⌒ヽ,⌒ヽ,ヽ
(⌒)、 .人 λ\、 .NHK___
\. \ 、 ヽ./ ー ー\
|\ \ ヽ./ ( ●) ( ●)
| \ \ / (__人__) \ はいはい、どーもすみませんでした
|. \ | ` ⌒´ |
. |. |.\_ノ\ /
. |. | | \______/
. | ) .| . . ̄ ̄
. | | .|
| |.| .|
. | | .| .|
/ / / ヽ,
(__ノ ヽ、__つ
- 538 :名無しさん@編集中:2015/12/15(火) 09:35:02.37 ID:ri5RDlwB.net
- NASベースのにUSB接続のBSCSチューナーをつける方向から
いかにPCIeを引き出してPT3付けるかという方向に倒れてしまった。
けど、USBチューナーのドライバ作ってる人頑張って。
- 539 :名無しさん@編集中:2016/01/16(土) 16:34:58.95 ID:Eo5lDrqX.net
- BonDriverProxyで他PCのクライアントに配信している時に
サーバー側のWindowsで設定したスリープ移行時間になると
他PCへ配信中にもかかわらずサーバー側がスリープに入ってしまうのですが
配信中にスリープを抑制するにはどうすればいいでしょう?
- 540 :名無しさん@編集中:2016/01/17(日) 01:51:52.84 ID:d/YGes89.net
- >>539
ttp://www.vector.co.jp/magazine/softnews/120905/n1209051.html
こういうソフトで上手く動いてるときにだけ抑制出来るようにするとか?
確実に連携したいならソフトでの対応だろうけど
一度スリープしてしまうと、他のPCから新規に繋げなくなるし難しいところだね
- 541 :537:2016/01/17(日) 12:18:19.24 ID:5DrQmEj7.net
- >>540
ありがとうございます
やはり他のソフトを使わないと難しい感じですかね
他PCからのスリープ状態からの起動はWOLがあるのでなんとかなるとは思います
- 542 :名無しさん@編集中:2016/01/17(日) 13:31:51.91 ID:d/YGes89.net
- んじゃあまあ、作者待ちってことでね
- 543 :名無しさん@編集中:2016/01/17(日) 19:42:08.23 ID:bVAMDGP2.net
- さすが作者さん速いね。
https://github.com/u-n-k-n-o-w-n/BonDriverProxy/tree/master/BonDriverProxy
- 544 : ◆SALrG1ld3mTc :2016/01/17(日) 20:11:01.03 ID:0A8sOHX/.net
- おや、既に書いてもらってましたか
さっきバイナリも更新しておきました
ただwin8.1環境でのテストしかできていないので、ちゃんと動かねーよ的な場合は
ご報告いただけると助かります
確かに配信中なのにスリープに入ってしまうのは不便ですよね
当方普段はptTimerを使っており、BonDriver_ptmrを使う限りこの辺りの挙動はptTimer本体が
良きにはからってくれてたので気付いてませんでしたヽ(;´ー`)ノ失礼しました
- 545 :名無しさん@編集中:2016/01/17(日) 20:19:39.65 ID:kbpSPJF1.net
- 何を使ってもvlcがエラーを吐いてエンコを止めてしまう環境の俺には関係無かった。w
グハァッ
- 546 :名無しさん@編集中:2016/01/17(日) 20:20:12.06 ID:kbpSPJF1.net
- ごめん、スレ間違えた。
ヽ(;´Д`)ノ
- 547 :537:2016/01/17(日) 21:06:10.12 ID:5DrQmEj7.net
- >>544
おお!早速の実装ありがとうございます!
滅茶苦茶嬉しいです!
- 548 :名無しさん@編集中:2016/01/20(水) 20:06:11.15 ID:1UIy46ve.net
- EDCBのネットワークTV使ってごまかしてたけど、これで気軽にTVTestから使える
嬉しいわー
- 549 :名無しさん@編集中:2016/02/11(木) 13:51:03.36 ID:SncJ23/p.net
- これ凡に見えるの、俺だけじゃないよなw
http://av.watch.impress.co.jp/docs/news/20160210_743096.html
- 550 :名無しさん@編集中:2016/02/11(木) 14:01:40.48 ID:OEbG9ylZ.net
- マンマンに見える
- 551 :名無しさん@編集中:2016/02/11(木) 15:10:51.00 ID:RXHyJtmW.net
- 同時代を共有した感が湧いてくると同時に、
こいつムサビのアレと同じで無能じゃねって思う
- 552 :名無しさん@編集中:2016/02/15(月) 16:32:45.51 ID:JM/KucHa.net
- PT2の場合は、SDKのバグがあるので、
OPENTUNER_RETURN_DELAY=0
を
OPENTUNER_RETURN_DELAY=10
にしないとダメだったのかww
- 553 :名無しさん@編集中:2016/02/20(土) 17:01:52.29 ID: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
---------------------------
ってメッセージが出る。
何だかよくわからん。
- 554 :551:2016/02/20(土) 17:02:31.65 ID:zf9uE+KI.net
- ごめん。
スレ間違えた。
- 555 :名無しさん@編集中:2016/03/02(水) 12:55:52.81 ID:cXspTCix.net
- BonDriverProxy.iniに設定するアドレスってサーバー側のアドレスと思うんだけど、これはどんな仕組みなの?
許可するクライアントのアドレスだと思い込んでて設定にはまってた
- 556 :名無しさん@編集中:2016/03/02(水) 13:09:40.35 ID:jXHtiEjE.net
- >>555
サーバー側のは公開するネットワークインターフェースのIPアドレス
- 557 :名無しさん@編集中:2016/03/02(水) 13:43:40.81 ID: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に接続してるネットワークからのアクセスのみ応答するとか出来る。
そうしないと、予期せぬネットワークからアクセスされる恐れがあるから。
- 558 :名無しさん@編集中:2016/03/02(水) 15:53:15.72 ID:vAe1oFfg.net
- BondriverProxy_Linux 待ち受けるアドレスnat越しでも動くようにして欲しい
ホストでポートフォワードして、ホストと同じネットワークにあるマシンからアクセスできるようにしても、
ipが違うからアクセス出来ない
- 559 :553:2016/03/02(水) 19:08:12.54 ID:cXspTCix.net
- >>556-557
そういうことか、すっきりした
ありがとう
- 560 : ◆SALrG1ld3mTc :2016/03/03(木) 22:31:18.15 ID:YM/9CK66.net
- >>558
bdpが使うのは(wolパケット以外は)サーバ向きの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
とやれば繋がるんじゃないでしょうか
- 561 : ◆SALrG1ld3mTc :2016/03/03(木) 22:33:57.50 ID:YM/9CK66.net
- なお、natルータに直接bdpサーバのポートに向けて穴開けしないのは、sshに認証と通信の暗号化を行わせるのが目的です
#そうしておけば万が一にも公衆送信だと言われずに済みますヽ(;´ー`)ノ
あと、sshdではパスワード認証は無効にして、natルータが外部公開するポートも22以外に変えておくのがお勧めですよ
もちろんルータにVPN機能があるのならそれ使うのも良いですね
もっともどうやるにしろ通信量が凄い事になると思うので、NGN網内折り返しだとか以外では、WANからの使用はなるべく
避けた方が良いのではないかと思いますヽ(;´ー`)ノ
- 562 :名無しさん@編集中:2016/03/04(金) 00:26:31.06 ID: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で試してもらうと分かりやすいとは思います
- 563 :名無しさん@編集中:2016/03/04(金) 00:58:14.06 ID: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
こんな感じでどうでしょう?
- 564 : ◆SALrG1ld3mTc :2016/03/04(金) 08:02:30.51 ID:KfUuLiII.net
- >>562
なるほど、dockerでしたか
そう言えばdockerは普通にコンテナ起動したら、コンテナ自身のeth0に割り当てられるアドレスは制御できないんでしたね
そう考えると確かにコンテナ内でbdpサーバを動かす際のアドレス指定は迷ってしまいそうですね…
ただ、コンテナ内で使う場合は変な場所からのアクセスは考えなくても良いと思うので、>>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"
みたいな感じで起動しないとコンテナが即終了してしまうかもしれませんヽ(;´ー`)ノ
- 565 :名無しさん@編集中:2016/03/04(金) 13:23:50.16 ID: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 待受で解決できました、
いろいろと教えて頂きありがとうございました
- 566 :名無しさん@編集中:2016/03/04(金) 13:47:15.39 ID:kuOKz1lo.net
- ちょっと上読めば0.0.0.0については書いてあるのに・・・…
- 567 :名無しさん@編集中:2016/03/07(月) 18:30:21.56 ID:FDfvLRDA.net
- ちょっと上なんて読まないしなw
- 568 :名無しさん@編集中:2016/03/07(月) 20:27:03.48 ID:zfW2NTKW.net
- すごい上を読めば解決!
- 569 :名無しさん@編集中:2016/04/02(土) 08:55:48.44 ID:L0qQWffX.net
- BonDriver_Splitter使ってるの忘れて、CSの設定変更ハマった。
- 570 :名無しさん@編集中:2016/04/16(土) 14:58:14.95 ID:g6ux6f4K.net
- 止まってるな
- 571 :名無しさん@編集中:2016/04/16(土) 19:10:38.49 ID:8rO1+82p.net
- BonDriverProxy_Linuxの作者様
便利に使わせて頂いてます。ありがとうございます。
ところで要望なのですが、Linuxでの、Windows版Splitterのようなものをご作成いただけませんでしょうか。
現在、Linuxでもコマンド版のSplitterは作成されているのですが、これだと
Linuxマシンにチューナーを積んで、ネットワーク越しに視聴・録画するような用途では
使うことができません。
また、チャンネルやチューナー空間も自由に設定できる方が便利かと思います。
BonDriver_LinuxPT,DVBには同等の機能が盛り込まれているので、
これらを使う場合には問題はありませんが、実はDigibest用のBonDriverを
作成しようと思っておりまして。
ご検討いただけましたら幸いです。
- 572 :名無しさん@編集中:2016/04/17(日) 12:38:35.73 ID:Qu3iUyuy.net
- よくわかんないけどGUI版のTSSplitterなら
wineで完動するよ。
- 573 :名無しさん@編集中:2016/04/17(日) 14:32:51.86 ID:pE7aYc1r.net
- いやそうじゃなくてLAN/WANの通信量を減らしたいから根元でどうにかしてくれって話でしょ
いまの状態じゃBondriverが対応していないとダメだし柔軟性が無いからサーバーあたりに組み込んでくれって事じゃないかな
Bondriver仕様を拡張してクライアント側からどのストリームを抽出するか選択できるようになれば
CSのように1つのチューナーで複数のチャンネルが受信できる場合なら多クライアント側からはそれぞれ別チャンネルを受け取ることが出来る
- 574 :名無しさん@編集中:2016/04/17(日) 19:20:12.99 ID:U1FXDpvc.net
- pid filterか
- 575 : ◆SALrG1ld3mTc :2016/04/18(月) 07:06:11.00 ID:cCvnzIk1.net
- >>571
なるほど、了解です
設定ファイルのフォーマットをちょっと検討する必要がありそうですが、とりあえず考えてみます
少々お待ちください…
- 576 :569:2016/04/18(月) 19:57:36.32 ID:CiToYPMc.net
- >>575
お忙しいところありがとうございます。
Windows版のBonDriverではBS/CSが別のチューナ空間になっていることが多く、またその方が使いやすいと思うのですが、BonDriver_DVB、LinuxPTともにBS/CSが同一空間になっているということも、Splitterがあれば自由に調整できて便利だと思っています。
- 577 :名無しさん@編集中:2016/04/19(火) 20:09:35.97 ID:D5CdDSkB.net
- >>571
Linuxの方に書いたのですが自分は別のアプローチとしてBondriver_Popenを
作ってLinuxでの視聴用途に使っています。とりあえず的なBonDriverですが。
http://hayabusa6.2ch.net/test/read.cgi/linux/1447412254/644
US-3POUT(Digibest)用のrecfsusb2nはBSチャンネルがサービスIDで指定でき
ないので少し面倒ですが設定ファイルを適切に書けば動きます。ひとまず、
手元で視聴に使っているものをコミットしておきました。
自分の持っているものはそうだったというだけですがLinuxだと改造しなくても
動作したのでお手軽です。US-3POUT用recfsusb2nの作者さんに感謝です。
TS SplitterはrecbondでもBonDriver_Popenのどちらでも出来ます。B25は
recfsusb2n、recbondのお好きな方で。
コマンドはシェル経由で実行するので、ffmpegでH264TSに変換するスクリプトを
パイプで挟んでも動いたりします。実用性は?ですけど。
プログラミングに関する特に深い知識はありませんのでおかしなことをやって
いたら教えてもらえるとありがたいです。後、TVTestはほとんど使っていない
のでWindowsをクライアントにしたテストはザル状態です。
US-3POUT用のLinux版BonDriver期待しています。
- 578 :名無しさん@編集中:2016/04/20(水) 08:32:34.10 ID:Df1PHRVO.net
- >>577
向こうのスレも見てPopenも知ってはいたのですが、やはりネイティブが好ましいと思ったので、実はBonDriver_3POUTとしてすでに作ってコミットしてたりします。(recfsusb2nの作者さんに感謝です)
そこで、#DELと#USESERVICEIDを組み込もうと考えたのですが意外に難しいかった次第です。
あと、recfsusb2nもそうなのですが、tsデータの読み込みバッファに対する排他制御が行われていないようで、このあたりを直さないといけないと思ってます。
- 579 :名無しさん@編集中:2016/04/20(水) 08:45:09.90 ID:Df1PHRVO.net
- 本当は3POUTのDVBドライバを作れば解決するのですが、その知識はありませんでした…
- 580 : ◆SALrG1ld3mTc :2016/04/20(水) 19:51:04.74 ID:dTU3HJxB.net
- >>576
とりあえず追加しておきました
確認してみてくださいヽ(´ー`)ノ
- 581 :名無しさん@編集中:2016/04/21(木) 20:38:29.34 ID:3dKz0q4r.net
- >>578
おお、素晴らしいです。
さっそくmakeしてみたのですが、-fPIC付けろと言ってきます。
Ubuntu14.04です。
sample -b ./BonDriver_3POUT.so -s 1 -c 0 -t 10 -o bs151.ts
こんな感じで実行してみたのですが残念ながらファイルサイズゼロでした。
ファームウェアを書き換えていないのでダメなのでしょうかね。
- 582 :名無しさん@編集中:2016/04/22(金) 08:37:39.91 ID:vO59UJ/d.net
- >>581
私のは改造済みですがソースの主要部分はrecfsusbからそのまま持ってきているので、本家で改造なしで動くのならこっちも動くはずです。
ただ、1つ心当たりがあるのでテスト版アップします。
あとfPICは必要と思われるとこにはつけてますが、どこにつける必要がアリそうですか?
Makefile修正しようと思うので。
- 583 :名無しさん@編集中:2016/04/22(金) 08:40:54.56 ID:vO59UJ/d.net
- >>581
あとBonDriver_3POUT.so .confは同じフォルダに入れてますよね?
BonDriverProxyをかませてWindowsのTVTestで少なくともチューニングスペースは3つ(地デジ、BS、CS)は見えてるか確認してもらえたらうれしいです。
- 584 :名無しさん@編集中:2016/04/22(金) 23:50:53.07 ID:Vc59Tb50.net
- >>582
/usr/bin/ld: message.o: 再配置 R_X86_64_32 (`.rodata.str1.1' に対する)
は共有オブジェクト作成時には使用できません。-fPIC を付けて再コンパイルしてください。
message.o以外も出るみたいなのでCFLAGSに-fPIC付けてmake流しました。
CFLAGS = -O2 -Wall -fPIC
>あとBonDriver_3POUT.so .confは同じフォルダに入れてますよね?
とりあえずmakeしたディレクトリ内で実行してますので同じフォルダ内にあります。
オープンは出来ている様です。
$ strace -odebug.txt sample -b ./BonDriver_3POUT.so -s 1 -c 0 -t 10 -o bs151.ts
$ grep BonDriver_3POUT.so.conf debug.txt
open("./BonDriver_3POUT.so.conf", O_RDONLY) = 4
>BonDriverProxyをかませてWindowsのTVTestで少なくともチューニングスペースは3つ
>(地デジ、BS、CS)は見えてるか確認してもらえたらうれしいです。
TVTestでマウス右クリック、表示されるメニューからチューニング空間/ドライバ(T)
以下の様な表示で3つ見えていると思います。こういう確認の仕方で良いのでしょうか?
A:すべて
0:地デジ
1:BS
2:CS
後、目につく所としてはrecfsusb2nを実行するとTS encrypt detected!が1回
表示されるのですがBonDriver_3POUTは2回表示されることでしょうか。
- 585 :名無しさん@編集中:2016/04/23(土) 14:13:57.29 ID:WvKXk50U.net
- 今気がついたんだけど、BonDriverのバイナリってチャンネルごとに少しずつ違うんだっけ?
BonDriver_PX_Q3PE_S0.dll
BonDriver_PX_Q3PE_S1.dll
BonDriver_PX_Q3PE_S2.dll
BonDriver_PX_Q3PE_S3.dll
BonDriver_PX_Q3PE_T0.dll
BonDriver_PX_Q3PE_T1.dll
BonDriver_PX_Q3PE_T2.dll
BonDriver_PX_Q3PE_T3.dll
って、あるんだけど、それぞれちょっとづつ違うんだけど。
- 586 :名無しさん@編集中:2016/04/23(土) 14:20:25.93 ID:S8pvETTF.net
- 全部同じ
- 587 :名無しさん@編集中:2016/04/23(土) 14:24:13.34 ID:whEYDDXF.net
- せやな
- 588 :名無しさん@編集中:2016/04/23(土) 17:48:29.22 ID:jkoXiCnL.net
- >584
報告ありがとうございます。
confは正常に読み込めているようですね。心当たりの部分を変更したのでテストしてみてください。
http://www1.axfc.net/u/3655449
- 589 :名無しさん@編集中:2016/04/23(土) 21:13:23.43 ID:WvKXk50U.net
- >>586
やっぱりそうなの?
なんで違っちゃってるんだろう。
ちなみに日付はすべて2013/06/13なんだけど、時刻が13:47から14:32までバラバラなんだけど。
- 590 :名無しさん@編集中:2016/04/23(土) 21:21:53.77 ID:whEYDDXF.net
- >>589
なぜちがうって、それは中身がそれぞれ違うチューナー開くように書かれているからでしょ
設定別で単にコピーすればいいように書かれているものは同じでいいけどそれは違うってことだよ
- 591 :名無しさん@編集中:2016/04/24(日) 15:38:25.24 ID:NTutpUfs.net
- >>588
動きました。ありがとうございます。
$ sample -b ./BonDriver_3POUT.so -s 1 -c 0 -t 30 -o bs151.ts
$ splitter -i bs151.ts
0: ServiceID = 151 ( 0x97 ) / PID of PMT = 0x0101
1: ServiceID = 152 ( 0x98 ) / PID of PMT = 0x0201
2: ServiceID = 153 ( 0x99 ) / PID of PMT = 0x0203
$ tsselect bs151.ts
pid=0x0000, total= 300, d= 0, e= 0, scrambling=0, offset=106784
...
pid=0x0140, total= 370918, d= 0, e= 0, scrambling=370918, offset=0
...
$ recbond --space 1 --driver /usr/local/lib/BonDriver/BonDriver_3POUT.so 151 10 151.ts
BonDriver_3POUT.soのBS(CS)をrecbondで使うにはチューニングスペース(--space)
指定が必要でチャンネルをサービスID(101とか)で指定するにはBonDriver_3POUT.so.confも
修正する必要がありますね。recbond側のチャンネルとBonDriverのチャンネルの
対応を設定ファイルで指定できるようにしたいと思っていたのですが、すでにfork
したrecbondで修正済みなのですね。さっそく使わせて頂きます。
- 592 :名無しさん@編集中:2016/04/24(日) 21:11:21.60 ID:Ryn+mPl4.net
- >>591
動いたようでなによりです。
まだ他につめているところがあるので、一段落したらgitを更新する予定です。
recbond改、よく見つけましたね。
recbondでは基本的にBxでチャンネル指定をすべきだと思うのですが、chinachuだとBSのチャンネルを指定する際はSIDで指定しないとEPGを正しく処理してくれないので改造しました。
- 593 :名無しさん@編集中:2016/04/24(日) 21:15:19.71 ID:Ryn+mPl4.net
- >>580
ありがとうございます。Linxにチュー ナーを搭載し
LinuxのBonDriver.so -> BonDriver_Splitter.so -> BonDriverProxyEx ->
WindowsのBonDriver_Proxy.dll -> TvTest
の環境でテストさせて頂きました。
Linuxマシンを再起動し、TVTestを最初に起動した際のCreateBonDriverが失敗します。
TVTestで再度BonDriverとチャンネルを指定し直すと、それ以降は正常に映ります。
しかし、BonDriver_Splitter.soをrecbondから直接指定して録画しようとすると
CreateBonDriver error: tdata->pIBon[(nil)] tdata->pIBon2[(nil)]
となってしまいます。
- 594 :名無しさん@編集中:2016/04/26(火) 20:58:23.95 ID:eOamFKV8.net
- >>593
ひとつ情報が抜けてました。チューナ側のドライバは
https://github.com/epgdatacapbon/BonDriver_3POUT
です。
別のチューナーをつないでBonDriver_DVB.soでも試してみます。
- 595 : ◆SALrG1ld3mTc :2016/04/27(水) 05:19:53.78 ID:Rhipmb4u.net
- >>593-594
そのエラーはrecbondが出してるやつですよね?
つまり、BonDriver_SplitterのCreateBonDriverに失敗してると言う事なんでしょう
他に何かエラーは出てないでしょうか?初期化に失敗した場合は基本的にstderrにエラー書くようにしてるのですが…
何も出てない場合は、もしかしたら
ttps://github.com/u-n-k-n-o-w-n/BonDriverProxy_Linux/blob/e85176b29f6c920e739120093c4f3e6d19dffad6/BonDriver_Splitter.cpp#L319-L321
でエラーになってるのかもしれません
でも、soモジュールのパスに「/」が入らないパターンってあるかな…?
ただ、当方の環境ではBonDriver_DVB(PT3)->BonDriver_Splitter->bdplでの確認しかしていないので、何か見落としがあるのかもしれません(;´Д`)
- 596 :名無しさん@編集中:2016/04/28(木) 05:27:05.83 ID:Ns5T3AyL.net
- >>595
仰る通りrecbondのエラーです。他にエラーはありません。
BonDriverExを介してアクセスすると最初は失敗するものの、次は成功するというのが不可解です。
もちろんBonDriver_3POUTの不具合も考えられると思います。
教えて頂いたコード部分を含めて見直します。
- 597 :594:2016/04/28(木) 23:27:51.23 ID:Ns5T3AyL.net
- >>595
大変失礼しました。エラーメッセージを見逃していて、よく見たら単純なSplitter.so.confのミスでした。
チューナー空間を0とするところ、途中1つだけ1にしてたことによるエラーでした。
お手数かけてすみません。
- 598 : ◆SALrG1ld3mTc :2016/04/30(土) 20:22:41.08 ID:NMwVpnWz.net
- >>597
動いたようで良かったですヽ(´ー`)ノ
- 599 :名無しさん@編集中:2016/05/09(月) 07:49:35.34 ID:yoripq9s.net
- arib_std_b25
WOWOWやスター・チャンネルでノンスクランブル放送を跨ぐと後続のスクランブル放送でECMを拾えなくなるのを修正
/* unref_stream()の副作用で次のように成ってしまうのが原因 */
prv->map[ecm_pid].type = PID_MAP_TYPE_UNKNOWN; /*PID_MAP_TYPE_ECM*/
--- a/src/arib_std_b25.c
+++ b/src/arib_std_b25.c
@@ -1578,6 +1578,13 @@ static int proc_pmt(ARIB_STD_B25_PRIVATE
TS_STREAM_ELEM *strm;
+ /* unref old stream entries */
+ while ((strm = get_stream_list_head(&(pgrm->old_strm))) != NULL) {
+ unref_stream(prv, strm->pid);
+ memset(strm, 0, sizeof(TS_STREAM_ELEM));
+ put_stream_list_tail(&(prv->strm_pool), strm);
+ }
+
r = 0;
dec[0] = NULL;
memset(§, 0, sizeof(sect));
@@ -1620,14 +1627,6 @@ static int proc_pmt(ARIB_STD_B25_PRIVATE
}
head += length;
-
- /* unref old stream entries */
- while( (strm = get_stream_list_head(&(pgrm->old_strm))) != NULL ){
- unref_stream(prv, strm->pid);
- memset(strm, 0, sizeof(TS_STREAM_ELEM));
- put_stream_list_tail(&(prv->strm_pool), strm);
- }
-
/* save current streams */
memcpy(&(pgrm->old_strm), &(pgrm->streams), sizeof(TS_STREAM_LIST));
memset(&(pgrm->streams), 0, sizeof(TS_STREAM_LIST));
- 600 :594:2016/05/09(月) 08:31:42.61 ID:nZOWB/uS.net
- >>599
ありがとうございます。
- 601 : ◆SALrG1ld3mTc :2016/05/11(水) 07:09:31.42 ID:tX1ss39h.net
- >>599
なるほど、ECMのPIDがXXXの状態から、PMT更新でECMが無くなり(あるいはECMのPIDが他の値に変わり)、更なるPMT更新で
ECMのPIDがXXXに戻る場合、XXXにset_decryptor()したけどまだ参照カウントを増やす前のタイミングで、前々回のPMTの
PIDリストからXXXをunref_stream()してしまっているせいで、XXXがECMだとみなされなくなってしまうわけですね
これは再現条件の特定大変だったんじゃないでしょうか…ご苦労様です
個人的な好みで言えば、前々回のPMTのPIDリストをunref_stream()するコードブロックを逆にadd_ecm_stream()の
後に持って行くか、あるいはprv->map[ecm_pid].refの増加をadd_ecm_stream()の中からset_decryptor()の戻り値が
NULLで無かったと判定できたタイミングに移動するかの方が好きですヽ(;´ー`)ノ
- 602 :名無しさん@編集中:2016/05/11(水) 09:39:07.55 ID:nvP85pXZ.net
- >>601
詳細な解説いたみいります。
すこし気になったのですが、
>前々回のPMTのPIDリストをunref_stream()するコードブロックを逆にadd_ecm_stream()の
>後に持って行く
この方法ですと、ver. 0.1.5で入った修正が無効化されそうですがいかがでしょうか?
http://www.marumo.ne.jp/db2008_2.htm#12
- 603 : ◆SALrG1ld3mTc :2016/05/11(水) 19:17:30.07 ID:tX1ss39h.net
- >>602
もちろんunref_stream()するのは前のPMTのPIDリストではなく2つ前のPMTのPIDリストである必要があるので、
単純にコードの順番を入れ替えるだけではなく、pgrm->old_strmは一旦保存する形になりますね
具体的には、
---
TS_STREAM_LIST tmp_old_strm;
...
head += len;
/* save old streams */
memcpy(&tmp_old_strm, &(pgrm->old_strm), sizeof(TS_STREAM_LIST));
/* save current streams */
memcpy(&(pgrm->old_strm), &(pgrm->streams), sizeof(TS_STREAM_LIST));
memset(&(pgrm->streams), 0, sizeof(TS_STREAM_LIST));
/* add current stream entries */
if( (ecm_pid != 0) && (ecm_pid != 0x1fff) ){
if(!add_ecm_stream(prv, &(pgrm->streams), ecm_pid)){
r = ARIB_STD_B25_ERROR_NO_ENOUGH_MEMORY;
goto LAST;
}
}
/* unref old stream entries */
while( (strm = get_stream_list_head(&tmp_old_strm)) != NULL ){
unref_stream(prv, strm->pid);
memset(strm, 0, sizeof(TS_STREAM_ELEM));
put_stream_list_tail(&(prv->strm_pool), strm);
}
---
みたいな感じです
proc_pmt()がエラーなく終わった後の状態は、>>599さんのパッチを当てた状態と大体同じで、
違いは問題のパターンのPMT更新があっても、新しいdecryptorを作成して各PIDから参照されてる
旧decryptorと入れ替えると言う処理が発生しなくなる事くらいかなーと思ってます
当方が変な勘違いをしていなければですがヽ(;´ー`)ノ
- 604 :名無しさん@編集中:2016/05/11(水) 19:57:15.09 ID:nvP85pXZ.net
- >>603
なるほど、old_strmは一旦保存すれば問題無いですね。納得しました。
ありがとうございます。
あと釈迦に説法&重箱の隅ですが…
/* save old streams */
tmp_old_strm = pgrm->old_strm; /* memcpy(&tmp_old_strm, &(pgrm->old_strm), sizeof(TS_STREAM_LIST)); */
/* save current streams */
pgrm->old_strm = pgrm->streams; /* memcpy(&(pgrm->old_strm), &(pgrm->streams), sizeof(TS_STREAM_LIST)); */
memset(&(pgrm->streams), 0, sizeof(TS_STREAM_LIST));
- 605 : ◆SALrG1ld3mTc :2016/05/12(木) 07:40:43.49 ID:jM0CbusM.net
- >>604
> tmp_old_strm = pgrm->old_strm; /* memcpy(&tmp_old_strm, &(pgrm->old_strm), sizeof(TS_STREAM_LIST)); */
> pgrm->old_strm = pgrm->streams; /* memcpy(&(pgrm->old_strm), &(pgrm->streams), sizeof(TS_STREAM_LIST)); */
あ、確かに普通の代入で問題無いですねヽ(;´ー`)ノ
まるもさんの元ソースがmemcpy()使ってたので、追加部分でも特に何も考えずにmemcpy()使いましたが…
しかしまあこの辺は、今時のコンパイラで最適化かけたら結局同じバイナリになる可能性も高いと思うので、
自分のやってる事がわかっている限りは、プログラマの好みで良いと思ってますw
- 606 :名無しさん@編集中:2016/05/12(木) 13:22:06.17 ID:lHh3x1oS.net
- こちらで大丈夫でしょうか。
Windows
https://github.com/epgdatacapbon/libaribb25/commit/a0bb16af95ea26b140a64d4408002c667084db66
Linux
https://github.com/epgdatacapbon/libaribb25_Linux/commit/294af6774bf21292a11b41ca705ab51b7f25ed08
- 607 :名無しさん@編集中:2016/05/12(木) 14:39:54.03 ID:dP82cHm1.net
- こちらにも適用しておきました。
https://github.com/stz2012/libarib25/commit/09770e334837f6c67268c41c1c15784373d35e5b
- 608 : ◆SALrG1ld3mTc :2016/05/12(木) 21:09:39.86 ID:jM0CbusM.net
- >>606
大丈夫だと思います
なお、問題が起きるのはスクランブル番組の間にノンスクランブル番組が1番組だけ挟まった場合のみだと思うので、
ちゃんと直ってるかテストする時はそのような番組配置の時間帯を探してスクランブル解除せずに生TSを保存し、
そのTSを修正前後のb25に通してみれば確認できると思いますよー
- 609 :604:2016/05/12(木) 21:15:28.87 ID:1LlVhf6U.net
- >>608
了解です。
確認ありがとうございました。
- 610 :名無しさん@編集中:2016/05/12(木) 21:30:54.95 ID:XEXWdBC4.net
- WOWOW、★の番組宣伝中はノンスクランブルだから、それを跨ぐように生TS保存すればおっけー
- 611 :名無しさん@編集中:2016/05/15(日) 05:43:43.47 ID:1t8Ywxaf.net
- >588
Linux用のUS-3POUTのBonDriverを更新しようと思うので、
改造していないUS-3POUTで動作検証をお願いできますでしょうか。
http://www1.axfc.net/u/3665043
排他制御(atomicアクセス)を組み込みました。
- 612 :名無しさん@編集中:2016/05/15(日) 20:07:50.91 ID:jlleoRl/.net
- >>611
$ make
gcc -Wall -O2 -fPIC -DLINUX -DNDEBUG -c -o tsthread.o tsthread.c
tsthread.c:14:23: fatal error: stdatomic.h: そのようなファイルやディレクトリはありません
#include <stdatomic.h>
$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4
stdatomic.hがgcc-4.8だと存在しない様なのでgcc-4.9を追加します。
http://stackoverflow.com/questions/20326604/stdatomic-h-in-gcc-4-8
Ubuntu14.04だとgcc-4.9は標準のパッケージにはないみたいなので。
http://qiita.com/aKenjiKato/items/e9011e02feb131c4526e
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install g++-4.9
再度makeして簡単なテストを実行。地上波も同様に。
$ make clean
$ make CC=gcc-4.9 CXX=g++-4.9
$ sample -b ./BonDriver_3POUT.so -s 1 -c 0 -t 30 -o 151.ts
$ tsselect 151.ts
$ b25 151.ts 151a.ts
$ vlc 151a.ts
特に問題ないですね。
- 613 :名無しさん@編集中:2016/05/25(水) 01:12:56.03 ID:/wMhxbnR.net
- PT3などが刺さっているパソコン以外でTVを見たいです。
すべてWindowsという前提で。
PT3等→(対応する)BonDriver→BonDriver_Splitter→BonDriverProxy(Ex).exe |ネットワークの壁| BonDriver_Proxy.dll→TvTest.exe
であってますか?
デコードは、カードリーダーがサーバ側にしかないので、そちらで
やりたいわけですが、BonDriverProxy.exeをどうにかする、
という認識で合っていますか?
- 614 :名無しさん@編集中:2016/05/25(水) 08:07:24.55 ID:Ony1YI5X.net
- >>613
俺はこれ使ってる
http://aviutl.info/spinel/
- 615 :名無しさん@編集中:2016/05/25(水) 11:13:23.84 ID:oe3g+AOA.net
- >>613
あってるよ(BonDriver_Splitterは別に必須じゃないけど)
BonDriverProxy(Ex)でのスクランブル解除についてはb25パッチと言われてるものを当ててビルドすればいいだけ
例えばBonDriverProxyExの1.1.6.5なら、ちゃんとしたpatchコマンド使えば
http://pastebin.com/3cXNSV4V
がそのまま適用できるはず
パッチ適用後に追加で必要になるソースは、
https://github.com/epgdatacapbon/libaribb25
から持ってくるのが簡単
- 616 :名無しさん@編集中:2016/05/25(水) 22:45:22.49 ID:/wMhxbnR.net
- >>614-615
ありがとうございます。
spinelもちょっと考えたのですがBonDriver_Splitterの不要部分を削る機能が
良さそうなので、そちらをベースで考えてます。難しくて手に負えないかも
しれませんがw
- 617 :名無しさん@編集中:2016/05/26(木) 04:05:17.26 ID:4/8BUOgI.net
- patchコマンドの使い方がよく分からなかったので手パッチで対応したけど
TvTestの S の数値がどんどん増えるだけorz
パッチを当て直してみたりビルドし直してみたり無駄なあがきをした結果、
リモートデスクトップを使ってサーバ側の設定をしていたというオチでした。
こんなくだらない罠にはまってしまうとはorz
Splitterは明日にしよう...
- 618 :名無しさん@編集中:2016/05/26(木) 12:33:03.35 ID:4/8BUOgI.net
- 皆様ご想像の通り、寝坊したので、会社をサボりました。
BonDriver_Splitter_Sample.iniの中身そのままで行こうとすると
地上波は映りますが衛星放送はBS朝日とBS-TBSしか映りません。
よく見たらスペース定義が実態と合ってないような感じがしたので
次のように変更したら映りました(無料放送だけ。CSも不明)。
<変更前>
000=NHK-BS1 0 0 17 101
001=NHK-BSプ 0 0 18 103
002=BS日テレ 0 0 15 141
003=BS朝日 0 0 0 151
004=BS-TBS 0 0 1 161
005=BSジャパン 0 0 3 171
006=BSフジ 0 0 16 181
013=BS11 0 0 9 211
014=TwellV 0 0 11 222
015=放送大学BS1 0 0 14 231
016=放送大学BS2 0 0 14 232
017=放送大学BS3 0 0 14 233
030=D-Life 0 0 27 258
<変更後>
000=NHK-BS1 0 0 9 101
001=NHK-BSプ 0 0 10 103
002=BS日テレ 0 0 7 141
003=BS朝日 0 0 0 151
004=BS-TBS 0 0 1 161
005=BSジャパン 0 0 3 171
006=BSフジ 0 0 8 181
007=BS11 0 0 4 211
008=TwellV 0 0 6 222
009=放送大学BS1 0 0 19 231
010=放送大学BS2 0 0 19 232
011=放送大学BS3 0 0 19 233
012=D-Life 0 0 29 258
どなたかの役に立てば、サボった甲斐があるというものですw
- 619 :名無しさん@編集中:2016/05/26(木) 22:27:59.49 ID:8TE58BKT.net
- 4時まで起きてちゃあかんですわ
- 620 :名無しさん@編集中:2016/05/27(金) 00:52:06.15 ID:B6sKiW8i.net
- >>618
BonDriver_Splitter_Sample.iniの内容は
http://echo.2ch.net/test/read.cgi/avi/1460535887/5
のBonDriver_PT-S.ChSet.txtとBonDriver_PT-T.ChSet.txtをそのまま使ってる場合の設定になってる
PT以外のチューナーを使ってる場合はもちろん、PTを使ってる場合でも、これらのファイルを自分で編集してたり、
適当なサイトから設定をコピペして使ってたりすると、それに合わせて設定し直す必要が出てくるよ
- 621 :名無しさん@編集中:2016/06/07(火) 12:16:37.52 ID:lP7TbbGD.net
- BondriverProxyがいま流行りの
「このファイルはウィルスに感染しています
感染したファイルをダウンロードできるのはオーナーだけです。」
チェッカーにかかって落とせなくなってますな
ぐーぐるさんころころ変わるので数日ででなくなるかもだけど
- 622 : ◆SALrG1ld3mTc :2016/06/09(木) 07:11:21.05 ID:vt97DTqc.net
- >>621
ありゃ、ほんとだ(;´Д`)
x86版のバイナリだけが一部アンチウイルスソフトに誤検知されてるみたいですね
うーん、どうしたものか…
しかしやってる事はfor-ptTimerの方がはるかにうさんくさいのにそっちはスルーで、
ごく普通のアプリの方を誤検知ですか…
- 623 :名無しさん@編集中:2016/06/09(木) 08:52:45.60 ID:4KH56MOp.net
- >>622
日本の深淵に触れたんじゃないの
怖いなぁ
- 624 :名無しさん@編集中:2016/06/09(木) 09:00:12.71 ID:qrBUAnIz.net
- Googleの考え一つに左右される世の中こわい
- 625 :名無しさん@編集中:2016/06/09(木) 11:23:05.19 ID:kearvWAM.net
- Googleの中の人の意思というわけでも、
Googleの中の人達の総意というわけでもなく、
単なるアルゴリズムの間違いだろうというあたり、
余計怖い気がするね。
社長がAIになると、こんな感じなのだろうか。
- 626 :名無しさん@編集中:2016/06/09(木) 12:43:20.46 ID:m3F/8MXt.net
- >>622
作者も気づかない内に汚染されるとは(違
- 627 : ◆SALrG1ld3mTc :2016/06/17(金) 06:10:30.23 ID:sFrHPMZh.net
- >>622の件、ほっといても戻らなさそうなのでzipにパスワードを付けました(;´Д`)a
#中身は全く同じです
- 628 :名無しさん@編集中:2016/06/18(土) 08:59:31.34 ID:0Y93htfp.net
- >>627
ごくろうさまです
- 629 :名無しさん@編集中:2016/06/30(木) 15:45:38.66 ID:9NbsP7HV.net
- 当方Splitter経由でBonDriverProxyExを使用しているのですが、地デジのみ受信できません。
BS、地デジ両者ともにTVTestのch2ファイルを元にチャンネル設定をしています。
iniの文字コードもUTF8で保存されており、完全にお手上げです。
ヒントになるか分かりませんが、BDPEXの情報表示に
space[2147483647]
ch[2147483647]
と、int型の最大値が表示されています。
- 630 : ◆SALrG1ld3mTc :2016/07/02(土) 06:37:43.25 ID:euiKDD5r.net
- >>629
えーと、BonDriver_Splitterをクライアント側で使用している場合の話と言う事で良いでしょうか?
bdpexの方でスペース/チャンネル番号が0x7fffffffのままになると言う事は、接続はされてるけど
チャンネル変更の指示が送られてきていないとか、bdpex側で読み込んだBonDriverに対して
チャンネル変更が失敗したとかの状態だと考えられますが、みえないのは地デジのみと言う事からも、
恐らくBonDriver_Splitterの設定にどこかミスがある可能性が高いのではないかなと…
ひとまずBonDriver_Splitterを使う側のマシンで、DebugView↓
ttps://technet.microsoft.com/ja-jp/sysinternals/debugview.aspx
とかを動かしながらみえないチャンネルへのチャンネル変更操作を行ってみると、何かヒントが
見つかるかもしれませんヽ(;´ー`)ノ
- 631 :名無しさん@編集中:2016/07/02(土) 15:20:57.73 ID:KScAzrbQ.net
- >>630
>>629です
ご指示の通りDebugViewを動かしつつEDCBでチャンネルスキャンしてみたのですが、地デジではデバッグが全く流れてきませんでした。
64bit版の各種ソフトを使用してもダメ。
原因が全く分からないので環境だけ残しておこうと思います...
CPU:Core i3 540
M/B:Valuestar 150/BSのもの
メモリ:4GB
チューナー:PT2
ビルド環境:VS2015
BonDriver:GitHubのものをビルド
OS:Windows10 64bit
以下Splitterのini内容
オプションはDEL含め全てオフ
BonDriverはフルパス指定
チャンネル設定
[SPACE02]
NAME=UHF
USESERVICEID=1
以下TVTestのch2ファイルを元に調整
- 632 :名無しさん@編集中:2016/07/02(土) 16:51:47.68 ID:nXQR3ffSx
- 連投すみません。
先ほどもう一度Debug走らせてみたところ、
[3304] shell\lib\bindctx.cpp(1144)\explorerframe.dll!00007FFDA287186D: (caller: 00007FFDA288DFC2) ReturnHr[PreRelease](82) tid(3c4) 80070057 パラメーターが間違っています。
のようなエラーが出ました。
私では解決できそうにないので諦めます...
- 633 :名無しさん@編集中:2016/07/02(土) 19:02:07.80 ID:KScAzrbQ.net
- 連投すみません。
先ほどもう一度Debug走らせてみたところ、
[3304] shell\lib\bindctx.cpp(1144)\explorerframe.dll!00007FFDA287186D: (caller: 00007FFDA288DFC2) ReturnHr[PreRelease](82) tid(3c4) 80070057 パラメーターが間違っています。
のようなエラーが出ました。
私では解決できそうにないので諦めます...
- 634 : ◆SALrG1ld3mTc :2016/07/02(土) 22:47:34.50 ID:euiKDD5r.net
- >>631
BonDriver_Splitterを通さずに直接(BonDriver_Proxyのみで)bdpexに繋いだ場合は地デジも受信できるのでしょうか?
またそれが可能である場合、差支えなければTVTestのch2ファイルとSplitterのiniファイルをどこかにアップして
もらえれば、何かアドバイスできるかもしれませんヽ(;´ー`)ノ
- 635 :名無しさん@編集中:2016/07/03(日) 00:09:53.76 ID:rOn8NV/s.net
- >>634
わざわざお付き合いいただき本当にありがとうございます...
Splitterを通さない場合は地デジも問題なく視聴できます。
https://drive.google.com/folderview?id=0BxM2ghExhaEEcXdacjMwTjF5cXc&usp=sharing
上記リンクに
ch2ファイル
地デジ用splitterのiniとdllファイル
BS用のiniファイル
をうpしておきました。
ご参考になれば幸いです。
- 636 : ◆SALrG1ld3mTc :2016/07/03(日) 06:16:28.88 ID:/x0HMywA.net
- >>635
ああ、サーバ側で使う場合の話でしたか
この形なら、BonDriver_Splitter_PT-T0.iniの
[SPACE01]
を
[SPACE00]
に変えると行けるんじゃないかと思います
1つのBonDriver_Splitterにスペースは複数定義できますが、必ず0からの連番である必要が
あるのでご注意ください…
- 637 :名無しさん@編集中:2016/07/03(日) 07:45:02.79 ID:rOn8NV/s.net
- >>636
クライアント側で〜の書き込みを読み落としていました...申し訳ない。
ご指示の通り[Space 00]と記載しましたがやっぱりダメですね...
- 638 :名無しさん@編集中:2016/07/03(日) 08:24:26.80 ID:rOn8NV/s.net
- たった今解決したので原因を残しておきます。
ずっとAtomでファイルを開いていたのですが、試しにサクラエディタで開いてみました。
するとチャンネル設定部分の末尾には「^」があることに気付き、ない部分を修正すると無事使用できるようになりました...
こういう落とし穴もあるということで...
- 639 : ◆SALrG1ld3mTc :2016/07/03(日) 23:23:05.48 ID:/x0HMywA.net
- >>638
確かに、あげていただいたスペース定義の009にはチャンネル名とBonDriver番号の間にタブが無いですね
わかりやすいスペース番号のミスに目が行ってそちらを見落としてました(;´Д`)
ともあれ、動くようにできた様で何よりです
蛇足ですが、テキストエディタではタブや全角空白を記号として表示するようにしておくのがお勧めですヽ(´ー`)ノ
- 640 :名無しさん@編集中:2016/07/12(火) 19:01:47.31 ID:uqE2MUv+.net
- 前スレの 802 で BonDriverProxyEx の 1.1.5.1 の対応を行っていただいた者です。
長らく、1.1.5.3 で問題なく使用出来ていたのですが、Windows8.1から Windows10(32bit) にアップグレード(クリアインストール)してから、たまに、落ちるようになりました。
何かのバグかもと思い、先週から 1.1.6.5 を使い始めました。しかし、状況は変わらずです。何かお教えいただければと。
Application Error 1000
障害が発生しているアプリケーション名: BonDriverProxyEx.exe、バージョン: 1.1.6.5、タイム スタンプ: 0x569b6e31
障害が発生しているモジュール名: BonDriverProxyEx.exe、バージョン: 1.1.6.5、タイ
ム スタンプ: 0x569b6e31
例外コード: 0xc0000409
障害オフセット: 0x0000bbf8
障害が発生しているプロセス ID: 0xd20
障害が発生しているアプリケーションの開始時刻: 0x01d1d741780cec36
障害が発生しているアプリケーション パス: C:\Bon\BonDriverProxyEx.exe
障害が発生しているモジュール パス: C:\Bon\BonDriverProxyEx.exe
以前と同じ PX-BCUD です。
チューナが3個あり、
録画中に、別チャンネルの録画を開始したタイミングで落ちます。
1週間程度は落ちずに使えます。同程度の回数を録画すると落ちるような感じです。
メモリリークを疑い、そろそろ落ちるかもと思い、たまたま6時間ほど前に、タスクマネージャでメモリ量を確認したところ、十数MByte でした。
- 641 :名無しさん@編集中:2016/07/12(火) 22:52:25.43 ID:c4D4i8Qq.net
- >>640
https://support.microsoft.com/ja-jp/kb/261007
ぐぐったら出た。ちがってたら知らん。
- 642 : ◆SALrG1ld3mTc :2016/07/15(金) 09:16:27.60 ID:ZQBba6Mc.net
- >>640
0xc0000409と言う事は、コンパイラ組み込みのメモリ破壊のセキュリティチェック(いわゆるStack Canary)に
引っかかってる感じでしょうか…。
通常スタック上の各種変数のサイズや配置はモジュールのコンパイル時に決定され、OSによって変わるわけではないので、
Windows10にしたら発生するようになったと言うのが謎ですね(;´Д`)
使用チューナはPX-BCUDとの事ですが、使用BonDriverは何でしょうか?
もしBonDriver_BSCSならば、とりあえずBonDriver_BDAS(ttp://www1.axfc.net/uploader/so/3635654)辺りにしてみて、
どうなるか様子を見てみると言うのはどうでしょうヽ(;´ー`)ノ
- 643 :名無しさん@編集中:2016/07/16(土) 10:39:50.86 ID:fEQjvw06.net
- >>642
637です。
以前にお世話になった時以来、BonDriver_BSCS を使っています。
BonDriver_BDAS を PLEX板で見かけていたのですが、これを使うと思いつきませんでした。
VC2015のランタイムがないと、何もエラーを出力しないので、原因究明に手間取りました。
クライアントからは、error: pIBon[(nil)] pIBon2[(nil)] になりますが、BonDriverProxyEx は落ちませんでした。
TvTest では、BonDriver_BDAS.dll は存在しません とのエラーでした。
問題なく動作しましたので、これで様子を見てみます。
ありがとうございます。
- 644 :名無しさん@編集中:2016/07/20(水) 11:08:47.50 ID:gxvkH0kq.net
- ここのスレのおかげでZOTAC ZBOX CI323にBonDriverProxy.exeを挟んで、
クライアントHyper-V上のVMにChinachu(Debian jessie)という構成で
録画システムができました。チューナには初代PX-W3U3を使ってます。
メモリも4GB程で動いているので、思ったよりコンパクトに仕上がりました。
recbondからのチャンネル指定やBSのEPG取得でハマりましたが、
スレやコードを追っかけて、やっとテスト運用中です。
Linuxだけで完結したかったのですが、PX-W3U3のドライバは今の所
Windows版が一番安定していたので、こんな構成になってしまいました..
- 645 :名無しさん@編集中:2016/07/20(水) 12:37:04.51 ID:T8p55+Qi.net
- >>644
chibachu なら bondriveproxy ではなく mirakurun の方が良いのでは?
pxw3u3 v2 + mirakurun (windows) 試したことあるけど普通に安定はしてたと思う
- 646 :641:2016/07/20(水) 13:31:14.25 ID:gxvkH0kq.net
- >>645
その構成も安定しているんですね。
Mirakurunは名前だけ聞いて知っているという程度ですが、
次に時間が取れた時に試してみます。
PT3が販売終了になったので他チューナの選定と、
電気代節約のため、今のデスクトップPCから
ACアダプタで稼働できるホストに載せ替えつつ
なるべく既存ソフトウェア構成を変えずに移行することが
今回の目的でしたが、結果的に色々と変わってしまいました。
でもWindows側の省電力機能に気をつけていれば
余ったノートPCでも実用になりそうなのは嬉しい誤算でした。
ホント作者さん達に感謝です。
- 647 :名無しさん@編集中:2016/07/20(水) 18:38:23.12 ID:Sio5yxmN.net
- >>642
637,640です。
BonDriver_BDAS で様子をみましたが、解決しませんでした。
例外コード、および、障害オフセットは、BonDriver_BSCSの時と同じです。
4日程度の動作で、接続(実行)回数は、60回程度でした。
関係ないかもしれませんが、BonDriverProxyEx を、Windows Defender のリアルタイム保護から除外してみました。
Windows8.1 では、BonDriverProxyEx の除外していたかどうかは不明です。
リアルタイム保護は、無駄な負荷になっていると思いましたので。
- 648 : ◆SALrG1ld3mTc :2016/07/21(木) 08:08:05.00 ID:ODd9eJKH.net
- >>647
ダメでしたかー
つまりBonDriverの問題ではない可能性が高いと言う事で、となるとやはり当方のコードの問題か、
あるいはWindows10のなんらかのライブラリの問題か…。
しばらく使ってたら起きると言う事なので、たしかにメモリリークは怪しいですね。
一応、win8.1とlinux環境ではあれこれやってもリークしない事は確認済みなのですが…。
とりあえず、手元のwin10環境で再現できるかどうかやってみます。
リアルタイム保護が関係してる可能性は低いんじゃないかとは思いますが、保護する意味もないと思うので、
除外設定しておく事によるネガな点は無いと思いますヽ(;´ー`)ノ
- 649 : ◆SALrG1ld3mTc :2016/07/21(木) 08:12:14.58 ID:ODd9eJKH.net
- 他に>>640さんと同じ問題が起きてる方はいらっしゃらないでしょうか?
もしおられたら、環境や発生状況を教えていただけると助かります。
- 650 :名無しさん@編集中:2016/07/21(木) 08:31:05.58 ID:/2FlwCh8.net
- Win10+PT3・PT2使ってる自分は1ヶ月くらい常時起動して録画しまくっても
一度もないな
- 651 :名無しさん@編集中:2016/07/21(木) 09:59:06.23 ID:Mlkn65dp.net
- 637です。
状況をもう少し詳細に報告します。
時間帯が連続する番組を、連続して録画する場合に発生します。
オーバーラップが30秒程度。
CHA ----->
CHB ----->
CHB で OpenTuner error となり、BonDriverProxyEx が、異常終了します。また、
CHA ----->
CHA -----> (1)
CHB -----> (2)
(1)と(2)は、ほぼ同時に実行する。
(1)は開始するが、数MByte 受信後、BonDriverProxyEx 異常終了のため、クライアントフリーズ。
(2)はクライアントで 即時OpenTuner error 。
同一チャンネルの連続録画には、問題が出ない可能性あり。
上記と同じ連続録画の状況においても、BonDriverProxyEx 起動後、数日間は発生しません。
- 652 :名無しさん@編集中:2016/07/21(木) 11:21:31.67 ID:Mlkn65dp.net
- 637です。
2chに書き込むと連続スペース(空白)が1つにまとめられるされるのですね。
再度書き込みます。すみません。
時間帯が連続する番組を、連続して録画する場合に発生します。
オーバーラップが30秒程度。
ChA ------>
ChB _ _ _----->
ChB で OpenTuner error となり、BonDriverProxyEx が、異常終了します。また、
ChA ------>
ChA _ _ _-----> (1)
ChB _ _ _-----> (2)
(1)と(2)は、ほぼ同時に実行する。
(1)は開始するが、数MByte 受信後、BonDriverProxyEx 異常終了のため、クライアントフリーズ。
(2)はクライアントで 即時OpenTuner error 。
同一チャンネルの連続録画には、問題が出ない可能性あり。
上記と同じ連続録画の状況においても、BonDriverProxyEx 起動後、数日間は発生しません。
- 653 :名無しさん@編集中:2016/07/21(木) 11:30:49.26 ID:pH4VwMCx.net
- 今更だし、Readmeに書いてあるけど、
LinuxがBonDriverProxyクライアントの場合、
$ ./test -b ./BonDriverProxy.so | ./b25 -p 0 -v 0 /dev/stdin /devstdout | vlc /dev/stdin
とすれば見れますよ。
昔、WineでTvTestを動かして頑張ってる人がいたもので。
b25をおいしくするかどうかはご勝手に。
- 654 :名無しさん@編集中:2016/07/27(水) 18:13:58.96 ID:jeHTVRP0.net
- 637,644です。
リアルタイム保護は、関係なかったです。やはり落ちました。
起動してからのメモリ使用量を、日々記録しました。
タスクマネージャでの値ですが、次の通り、多少増加傾向です。
07/21 10:07 1.7MByte
07/22 10:32 2.1MByte
07/23 12:46 2.5MByte
07/24 11:09 2.8MByte
07/25 09:45 3.1MByte
07/26 09:52 3.3MByte
07/27 09:22 3.6MByte
07/27 17:59 落ちる
- 655 :名無しさん@編集中:2016/07/27(水) 20:03:39.08 ID:OqjzIDDZ.net
- 最初に無があった
無は有を生んだ
これが全ての真理
- 656 :名無しさん@編集中:2016/07/28(木) 03:28:23.96 ID:lnZreZOo.net
- 色即是空空即是色
- 657 :名無しさん@編集中:2016/07/28(木) 05:30:31.35 ID:8wHf56kY.net
- 深いね不思議だね
- 658 :名無しさん@編集中:2016/07/28(木) 14:08:42.57 ID:rTws3Oux.net
- 637,644,651です。 BonDriverProxy作者さんへ、
BonDriverProxyEx が落ちる件ですが、こちらで次のとおりテストしました。
・20秒程度の録画
・オーバラップするよう2チャンネル同時
・100回程度継続
とくに落ちることなく、終了しました。
タスクマネージャでののメモリ使用量は、1.7MByte から 7.9MByte 増加していました。
このテストで落ちないので、こちらの環境に問題があるような気がします。
とりあえず、DISABLE_UNLOAD_BONDRIVER=1 で、様子をみます。
また、マシンの再起動、WindowsUpdate などで状況に変化がないか確認します。
- 659 :名無しさん@編集中:2016/07/28(木) 15:29:20.71 ID:kejpXARo.net
- 無印でだけど反応が鈍いBonDriver相手に長時間稼働させると不安定になる気がする。おま環すぎるけど
- 660 :名無しさん@編集中:2016/07/28(木) 15:54:46.92 ID:xpjkDgdJ.net
- うちはもう1年以上bondriverproxyex使ってるけど不安定もメモリリークもないけどなあ
@8.1x64
- 661 :名無しさん@編集中:2016/07/28(木) 16:10:44.20 ID:hVIQUQKU.net
- サービス登録したのに再起動後proxy起動してない事があったくらい
その時は手動で起動して安定
- 662 :あ:2016/07/28(木) 18:05:32.63 ID:M9ddNxjR.net
- 確かに安定かもしれないな
https://www.youtube.com/watch?v=A3UkzQGqpqA
- 663 :名無しさん@編集中:2016/07/28(木) 19:25:19.35 ID:DSrhL2+r.net
- >>662
グロ
- 664 :名無しさん@編集中:2016/08/01(月) 01:50:44.08 ID:TX44GMFQ.net
- BonDriverProxy_Linux には Win版BonDriverProxy のような利用状況を表示するような機能はないんでしょうか?
- 665 : ◆SALrG1ld3mTc :2016/08/04(木) 07:17:50.02 ID:ApPn56kT.net
- >>658
予備機のwin10pro+PT3で>>652の形になるようにある程度試してみたのですが、再現に至らずでした(;´Д`)
毎度ながら手元で再現できないのはツライ…。
また追加情報等があれば教えていただけると助かります。
>>664
はい、今のところ用意してないです。
基本的に録画機等で動かして放置する使い方が多いだろうと勝手に思ってるからなのですが…。
ただ、選択チャンネル等まで確認したい状況もありそうなので(接続状況だけならnetstatで十分かとは思うのですが)、
サーバ側に接続クライアントの情報を返すコマンドを追加して、それを使うツールでも追加する事を考えてみます。
- 666 :661:2016/08/05(金) 01:43:50.52 ID:qGRrcRbN.net
- >>665
おおお、ご検討ありがとうございます。
個人的にdrop等を後追い調査するためにどの番組がどのチューナで録画されていたかを記録していたんですが BonDriverProxy だとどうにも判別できなくて。
どのクライアント接続がどのチャンネルをどのチューナ(BonDriver)で利用していたのかわかるようなものだととても助かります。
- 667 :名無しさん@編集中:2016/08/05(金) 10:02:57.32 ID:gYiV+dHD.net
- syslogに出力しておけば済む話のような気がしないでもない
- 668 :名無しさん@編集中:2016/08/05(金) 20:11:12.81 ID:uQPaSLQU.net
- >>666
BonDriverProxyLinuxをsystemdで起動しているからだと思いますが
BonDriverがstderrに出力した内容がsyslogにも出てきますね。
ですので、BonDriver_LinuxPTやDVBに選択したチャンネルをstderrに
出力する様にfprintfを追加しておけば良いのではないかと。
chinacnuなら録画ファイル名にチューナー名も入るので必要ないですが。
- 669 : ◆SALrG1ld3mTc :2016/08/08(月) 06:48:06.17 ID:JadZ5m/O.net
- >>666
とりあえずwin版で確認できるのと同じ情報をテキストとして得られるようにしてみましたヽ(´ー`)ノ
- 670 :661:2016/08/08(月) 12:36:35.55 ID:PuoLyq+N.net
- >>669
おおお、ありがとうございます!
動作確認できました!
俺得機能みたいなのに実装していただいてありがとうございます。
自分も syslog 等への出力は考えたんですが、自分の環境がチューナと録画でサーバが分かれてまして
サーバ側だけでなくクライアントからも確認できるのはとてもうれしいです。
録画サーバ側からもチューナの状況が知りたいなと思っていました。
- 671 :名無しさん@編集中:2016/08/08(月) 22:48:54.63 ID:8I/LyKmx.net
- もう何らかの実装されたんだね。
その前にふと思ったことがあるんだけど
クロスプラットフォーム考えると、HTTP接続でGUIを見れるようにすると便利そうだね
別に実装してくれとかいうわけじゃなくて、思いついただけ
- 672 :名無しさん@編集中:2016/08/08(月) 23:01:28.61 ID:7+MhoQnC.net
- bondriver使って視聴する専用アプリがlinux側にないからなあ
- 673 :名無しさん@編集中:2016/08/09(火) 20:45:40.93 ID:IUE0Ngys.net
- >>672
recbond | vlc で良くね?
- 674 :名無しさん@編集中:2016/08/10(水) 00:04:13.92 ID:eSCI8Y85.net
- 録画と同時にドロップがわかるといいんだけどな。
Linuxだと録画が終わってからツール使うしかないからね。
- 675 :名無しさん@編集中:2016/08/16(火) 18:32:13.44 ID:gPoq8SNQ.net
- >>665
655です。BonDriverProxyEx が落ちる件の状況の報告です。
DISABLE_UNLOAD_BONDRIVER=1 でも、マシンの再起動でも解決できませんでした。
WindowsUpdate は6月末以降、実施していません。
何が原因か究明出来なさそうなので、BonDriverProxyEx をサービス起動するようにし、録画予約が無い時に、定期的に restart するようにしました。
録画失敗への対策になりますが、原因は迷宮入りになってしまいます。すみません。
サービス起動出来るおかげで、この手順が簡素に実装できました。感謝です。
- 676 :名無しさん@編集中:2016/08/22(月) 12:12:46.13 ID:Wf0APpG7.net
- nhkのリオの閉会式、予約してたけど
取り損ねてたよ。これって、回避方法ないの?
- 677 :名無しさん@編集中:2016/08/22(月) 12:13:56.73 ID:Wf0APpG7.net
- >>676
スレ違いだた、ごめんなさい。
- 678 :名無しさん@編集中:2016/08/23(火) 17:32:27.47 ID:XQmDp74G.net
- >> 671
録画中ではなく終了時にということなら、録画コマンドの出力を stdout にして、
recHoge 24 30 - | tee hoge.ts | tsselect -
のようにすれば、出来ると思うけど。
- 679 :名無しさん@編集中:2016/08/24(水) 08:01:13.23 ID:GPjMOYak.net
- >>678
あ、なるほどですね。
- 680 :名無しさん@編集中:2016/09/05(月) 13:13:44.12 ID:KQOQhw9P.net
- BonDriverProxy作者さま
Win10x64にてx86版しかないfriio公式Bon_Driver3.1へ接続、
TVTest0.9.0上での視聴確認できました
自分でBonDriverx64x86変換串ドライバでも書かないといけないかと思ってました
ありがとうございました
- 681 :名無しさん@編集中:2016/09/06(火) 04:11:31.97 ID:3oHI6PdW.net
- なるほどそういう使い方もあるのか
しかし視聴アプリやBonDriver周りをx64化してもメリットほとんど無さそう
- 682 :名無しさん@編集中:2016/09/06(火) 09:11:30.03 ID:oZ/2CZSv.net
- Friio公式Bonは複数台使用時に難がありすぎて使いづらいから人気なかったなw
- 683 :名無しさん@編集中:2016/09/06(火) 19:37:47.70 ID:eF3uY6xI.net
- BonDriverProxyExにTVTest2台から接続してたら、2台終了させても、
2台とも繋がったままの認識になってて、終了できなかった。
こんなときはどうすればいいの?
- 684 : ◆SALrG1ld3mTc :2016/09/09(金) 08:46:49.21 ID:as5TZzYX.net
- >>683
おお、なんだろう。通常のクライアント終了時はもちろん、ネットワークが切断された場合もそのクライアントは
終了した物として扱うようにして、リソースのつかみっぱなしにはならないようにしているつもりなのですが、
何らかの理由でそれが上手く機能しない場合があると言う事でしょうか…。
再現条件がもしわかるなら、教えていただけると助かりますヽ(;´ー`)ノ
- 685 :名無しさん@編集中:2016/09/10(土) 06:53:15.14 ID:BBJucjcj.net
- Spinel急に使えなくなったりするんだが…
- 686 :名無しさん@編集中:2016/09/10(土) 13:45:12.16 ID:a2luCVUw.net
- >>685
うちは快調
おま環
- 687 :名無しさん@編集中:2016/09/10(土) 23:58:20.65 ID:h2C167UY.net
- >>685
もうちょっと環境かかないと。
使ってるボードとデバイスドライバとBonDriverとOSくらいは。
うちはヘビーに使ってるけど全然おちないから
何か安定する環境はあると思うよ
- 688 :名無しさん@編集中:2016/09/11(日) 11:25:47.66 ID:vKzIf+Eu.net
- BonDriverProxyExですが、地デジと衛星の混在したドライバって指定できないのですか?
PT3→Spinel→BonDriverProxyEx で、01に地デジ、02に衛星、03に地デジと衛星のドライバを指定したのですが、
TvTestで03用のDLLを指定すると地デジしか認識してくれません。
- 689 :名無しさん@編集中:2016/09/11(日) 12:23:04.54 ID:4iXJyKTN.net
- >>688
spinelなんで挟んでるの?
- 690 :名無しさん@編集中:2016/09/11(日) 12:39:05.15 ID:r31HP/pY.net
- 挟まなければ混在できると思うけどねえ。
- 691 :名無しさん@編集中:2016/09/11(日) 16:35:39.28 ID:vKzIf+Eu.net
- >>689
TvTest側でスクランブル解除させないため
>>690
試してみます
- 692 :名無しさん@編集中:2016/09/11(日) 23:19:33.48 ID:P/3G6QSk.net
- Exっていうのは、RDCTみたいなもん?
- 693 :名無しさん@編集中:2016/09/12(月) 07:27:49.34 ID:rHeSqzP0.net
- >>690
ダメでした。
BonDriver_PT3-S0.dll/BonDriver_PT3-T0.dll を指定し、TvTestでスキャンしようとしたのですが
地デジしか認識していませんでした。
- 694 :名無しさん@編集中:2016/09/12(月) 07:59:50.89 ID:nUK564XJ.net
- BonDriverProxyEx + BonDriver_Splitter か Spinel + BonDriver_RDCT で運用すればいいじゃん
- 695 :名無しさん@編集中:2016/09/12(月) 09:25:08.92 ID:xC12bisD.net
- >>693
https://github.com/u-n-k-n-o-w-n/BonDriverProxyEx/blob/master/ReadMe.txt#L11
”チューナ空間とチャンネルの対応が同一のBonDriverを「;」区切りで並べます”
SとTの凡ドラじゃチャンネルの対応は確実に違うんだから、それを一緒に並べてもダメだよ
TVTestから三波チューナーみたいに扱いたいなら、BonDriver_Splitterを挟んで、そこからBonDriver_Proxy経由で
BonDriverProxyExに設定したSとTを使う形にするのが簡単
具体的にはそれぞれの設定を
--------------------------------------------------------------------------------
・BonDriverProxyEx.ini
00=PT-T;BonDriver_PT3-T0.dll;BonDriver_PT3-T1.dll
01=PT-S;BonDriver_PT3-S0.dll;BonDriver_PT3-S1.dll
・BonDriver_Proxy-T.ini
BONDRIVER=PT-T
・BonDriver_Proxy-S.ini
BONDRIVER=PT-S
・BonDriver_Splitter.ini
00=BonDriver_Proxy-T.dll
01=BonDriver_Proxy-S.dll
--------------------------------------------------------------------------------
大体こんな感じにしておけば、TVTestからはBonDriver_Splitterが三波チューナーにみえるようになる
- 696 :名無しさん@編集中:2016/09/12(月) 11:00:35.48 ID:rHeSqzP0.net
- >>695
情報ありがとう。
splitterって何に使うのか解らなかったから無視してた。
いま会社だから、帰ったら試してみる。
- 697 :名無しさん@編集中:2016/09/14(水) 17:53:06.03 ID:g9fZTQ8g.net
- >>695
横からだけど、情報サンクス
Splitterってこういう風に使うのか
おかげで使いやすくなった
- 698 :名無しさん@編集中:2016/09/14(水) 18:53:23.14 ID:sU3YX0qC.net
- わいRDCTで地デジ、BS/110CS、プレミアムをproxyで纏めてたけどsplitterでも出来たの知らなかった
特に不都合無いけど同じ作者製で纏めた方が何となく良さそうに思えるから移行してみるわ
- 699 :名無しさん@編集中:2016/09/19(月) 16:22:04.97 ID:wHncjcKo.net
- 2台のKTV-FSPCIEでBonDriverProxyExを使ってて、
フォルダ分けした2つのTVTest 0.9.0で繋いでみたら、同じチャンネルを見ているとき
00:[127.0.0.1]:[53195] / [FSUSB2N][BonDrive_FSUSB2N_0.dll] / space[0]ch[11]
01:[127.0.0.1]:[53196] / [FSUSB2N][BonDrive_FSUSB2N_0.dll] / space[0]ch[11]
片方のチャンネルを変えれば、
00:[127.0.0.1]:[53195] / [FSUSB2N][BonDrive_FSUSB2N_0.dll] / space[0]ch[11]
01:[127.0.0.1]:[53196] / [FSUSB2N][BonDrive_FSUSB2N_1.dll] / space[0]ch[0]
で、おなじチャンネルを見ているときは、同じチューナを使ってるみたい。
BonDriverProxyExを経由しないで直にBonDriverで、もうひとつTVTestで見れるし。
iniの書き方がまずいのかな?
[BONDRIVER]
00=FSUSB2N;BonDriver_FSUSB2N_0.dll;BonDriver_FSUSB2N_1.dll
- 700 :名無しさん@編集中:2016/09/19(月) 16:24:27.16 ID:wHncjcKo.net
- >>699は別々のチューナに接続できる方法を知りたい。ということです。
- 701 :名無しさん@編集中:2016/09/19(月) 20:16:43.77 ID:lixK/oOz.net
- そもそもExってそういうものなんだけど。
使うBonDriver選びたいならExじゃないほう使えばいい。
- 702 : ◆SALrG1ld3mTc :2016/09/19(月) 20:30:47.35 ID:xLucseRX.net
- >>699
>>701さんが書かれてる通り、それはBonDriverProxyExが意図して行っている動作です。
共有できるBonDriverは出来るだけ共有して、なるべく少ない数しか使わないようにしようとしています。
一応、
ttps://github.com/u-n-k-n-o-w-n/BonDriverProxyEx/blob/fad2c88080231131190c5f63a195d1c22c8577a7/ReadMe.txt#L29-L30
ttps://github.com/u-n-k-n-o-w-n/BonDriverProxyEx/blob/fad2c88080231131190c5f63a195d1c22c8577a7/ReadMe.txt#L53-L54
辺りに書いてるのがそうですね。
自分でどのクライアントがどのBonDriverを使うのかを制御したい場合は、当方もBonDriverProxyの方を使う方がシンプルかと思います。
ただ、一応BonDriverProxyExでも、
---
[BONDRIVER]
00=FSUSB2N0;BonDriver_FSUSB2N_0.dll
01=FSUSB2N1;BonDriver_FSUSB2N_1.dll
---
のように、各グループに含まれるBonDriverを一つだけにすれば、クライアント側と一対一で使う事も可能ではありますヽ(;´ー`)ノ
- 703 :名無しさん@編集中:2016/09/19(月) 20:59:26.78 ID:wHncjcKo.net
- なるほど、そういうものだったんですね。
こっちでやってみます。
[BONDRIVER]
00=FSUSB2N0;BonDriver_FSUSB2N_0.dll
01=FSUSB2N1;BonDriver_FSUSB2N_1.dll
- 704 :名無しさん@編集中:2016/09/19(月) 23:04:22.87 ID:wHncjcKo.net
- >>703のやりかただと、
後からEDCBで録画しようとすると、「チューナーを開けませんでした」と出るので、
素直に、BonDriverProxyでやることにしました。
- 705 :名無しさん@編集中:2016/09/20(火) 01:39:51.18 ID:PSsqU9xf.net
- Spinelで度々これでて録画も視聴もできなくなる…
Spinel再起動するとなおるんだが…原因教えてください…
http://i.imgur.com/y8jaWDa.jpg
- 706 :名無しさん@編集中:2016/09/20(火) 07:26:32.72 ID:prH5oTPo.net
- >>705
ハードがおかしいんじゃね
ボード抜いて、電気接点洗浄剤で端子を拭いて、
つけ直す
- 707 :名無しさん@編集中:2016/09/20(火) 09:40:18.01 ID:prH5oTPo.net
- >>705
あとは汎ドラがおかしいか、
グレーソフトを潰すウィルス対策ソフトが入っている
- 708 :名無しさん@編集中:2016/09/20(火) 09:49:58.83 ID:YFnbtACT.net
- >>705
USB接続でしょ? 不安定なのは当たり前ではないかと思う
- 709 :名無しさん@編集中:2016/09/20(火) 09:53:20.29 ID:prH5oTPo.net
- USBか・・・
インテルとかルネサスだったらUSBのドライバドライバアップデートでなんとかなるんじゃね?
- 710 :名無しさん@編集中:2016/09/20(火) 09:57:07.30 ID:soZcdNrk.net
- PT3->Spinel->BonDriverProxy->TvTest で正常動作しているのですが、RecTaskでチューナーが開けない状態です。
PT3->Spinel->RecTask なら正常に動作します。
なにか考えられる原因とかわかるエスパーさんいますでしょうか?
- 711 :名無しさん@編集中:2016/09/20(火) 10:20:01.89 ID:H6BHC5KW.net
- SpinelとBonDriverProxy組み合わせる利点て何?
- 712 :名無しさん@編集中:2016/09/20(火) 10:29:05.29 ID:soZcdNrk.net
- >>711
スクランブル解除をSpnelにやらせることで、TvTestや録画アプリでは解除をする必要がなくなります。
複数のPCそれぞれにICカードリーダを挿すのが面倒なので・・・
- 713 :名無しさん@編集中:2016/09/20(火) 10:30:48.77 ID:soZcdNrk.net
- 今気づきました。>>710のBonDriverProxyはBonDriverProxyExの間違いです。
- 714 :名無しさん@編集中:2016/09/20(火) 10:58:34.79 ID:H6BHC5KW.net
- Spinelと組み合わせるならBonDriver_RDCTの方がいいと思うけど・・・
或いはVirtualPT使った方がいいんじゃないの?
- 715 :名無しさん@編集中:2016/09/20(火) 12:24:18.24 ID:1G9LPwwQ.net
- もっと基本的な話で、BonDriverSpinel使えよ
だったりして
- 716 :名無しさん@編集中:2016/09/20(火) 13:47:48.52 ID:soZcdNrk.net
- >>714
VirtualPTを使っていましたが、なぜかBCASを挿しているカードリーダのドライバが認識してくれなくなって、変更を余儀なくされています。
BonDriver_RDCTを使ってみましたが、TvTestでチャンネルスキャンすると同じチャンネルが4つづつ・・・(PT3x2)
BonDriver_RDCT.ch2を編集して1つづつにすると、今度はチャンネル変更に数十秒かかるようになってしまいました。
>>715
同じタイプ(?)のチューナーはまとめたいんですよ。
排他制御云々はなるべく1箇所で管理したいので・・・
- 717 :名無しさん@編集中:2016/09/20(火) 14:27:45.29 ID:GkwFh2bK.net
- ちゃんと設定すれば、同じチャンネルが複数個になんてならないようにできるけど、
どう制御したいのかにもよるし、iniとreadmeちゃんと読んで色々試してみてね
- 718 :名無しさん@編集中:2016/09/20(火) 15:28:19.77 ID:AU6DQCrx.net
- >>704
BonDriverProxyでやる事に何も異論はないんだけど、>>703の方法でエラーになる事については、
多分設定ミスがあるからだと思うよ
- 719 :名無しさん@編集中:2016/09/20(火) 15:29:31.79 ID:AU6DQCrx.net
- >>712
多分BonDriverProxyExにb25パッチを当てて使うのが一番幸せになれると思う
- 720 :名無しさん@編集中:2016/09/20(火) 16:46:36.39 ID:soZcdNrk.net
- >>719
情報ありがとうございます。
おかげさまでSpinelを外すことが出来ましたが、最初の問題(RecTaskでチューナーが開けない)は解決していなかったり(汗
- 721 :名無しさん@編集中:2016/09/20(火) 19:08:57.89 ID:yLkvLPKu.net
- >>718
> 多分設定ミスがあるからだと思うよ
たぶんそうとは思いますけど、さっぱりわからなかったのでorz・・・
- 722 :名無しさん@編集中:2016/09/20(火) 20:54:21.38 ID:+GVhS5sV.net
- うちではBDPEx & RecTaskで正常に動いてますよ
- 723 :名無しさん@編集中:2016/09/20(火) 20:57:44.37 ID:q6sbvrb3.net
- 問題起きた時は、再設定面倒でもフォルダの作成から何から何まで全部やり直しがお勧め
- 724 : ◆SALrG1ld3mTc :2016/09/20(火) 22:31:40.68 ID:9DDtrnB9.net
- >>720
うーん、なんだろう。
当方でも今手元でTSTaskを使って試してみたのですが、特に問題無く使える感じですヽ(;´ー`)ノ
>>721
こちらもなんでしょうね。
ありそうかなと思うのは、EDCBから使うBonDriver_Proxy.dllのiniのBONDRIVERの値の変更し忘れくらいでしょうか…。
- 725 :707:2016/09/21(水) 22:47:04.99 ID:uz8eTjax.net
- >>724
作者の方ですか。使わせてもらってます。
RecTask側のログはこんなになってます。
2016/09/20 17:30:29 BonDriverロードメッセージを受信しました。
2016/09/20 17:30:29 BonDrvier(C:\DTV\RecTask64\BonDriver_Proxy_S.dll)をロードします。
2016/09/20 17:30:29 チャンネルファイル "C:\DTV\RecTask64\BonDriver_Proxy_S.ch2" を読み込みました。
2016/09/20 17:30:29 チューナーオープンのメッセージを受信しました。
2016/09/20 17:30:29 チューナーを開きます。
2016/09/20 17:30:39 パイプ(\\.\pipe\RecTask_Server_Pipe_1)の応答の書き出しができません。(0xe8)
2016/09/20 17:30:39 BonDriver解放メッセージを受信しました。
2016/09/20 17:30:39 チューナーを閉じます。
2016/09/20 17:30:40 BonDrvierをアンロードします。
2016/09/20 17:30:40 サービス取得のメッセージを受信しました。
2016/09/20 17:30:40 サービス取得のメッセージを受信しました。
2016/09/20 17:30:40 サービス取得のメッセージを受信しました。
2016/09/20 17:30:40 サービス取得のメッセージを受信しました。
2016/09/20 17:30:41 サービス取得のメッセージを受信しました。
2016/09/20 17:30:51 タスク終了メッセージを受信しました。
2016/09/20 17:30:51 統計情報更新スレッドを終了します。
2016/09/20 17:30:51 イベントハンドラ(00000000010FF718)が登録されていません。
なにか分かりますでしょうか。
- 726 :名無しさん@編集中:2016/09/21(水) 23:28:59.85 ID:uz8eTjax.net
- >>724
直接の原因がわかりました。
単に反応が遅くてタイムアウトしているようです。
TSTask をそのままビルドしたものではエラーになりましたが、
タイムアウトを10秒から30秒にすると読み込めました。
TvTestでもそうですが、起動してから映像が出るまで10秒ちょっとかかります。
環境のせいだと思いますが、遅い原因の確認のやりかたをご存じの方いらっしゃいませんでしょうか。
- 727 :名無しさん@編集中:2016/09/21(水) 23:39:36.60 ID:uz8eTjax.net
- 連投ごめん。でも自己解決しました。
クライアント側のiniでADDRESSをマシン名にしていると遅いようです。
(DNS検索に手間取っている?)
IPにするとすぐ反応します。
- 728 :名無しさん@編集中:2016/09/22(木) 08:25:39.93 ID:1Ys0aEvH.net
- 名前解決遅いのはおま環だからなぁ
すでに書いてるがIP直打ちとかで対処療法するしかない
- 729 :名無しさん@編集中:2016/09/23(金) 08:57:04.12 ID:JF1u73Sm.net
- BonDriver_Splitter.dllで地デジ、BS/CSをまとめようとしているのですが、
サンプルの設定のまま、TvTestでCSのチャネルスキャンをすると同じ名前の
局が複数登録されてしまいます。
また、複数の中で有効なのは1つだけのようです。
今回は有効なもの以外を非表示にしましたが、想定している動作なのでしょうか。
BonDriver_Proxy_S.dllを指定した時と同じように、設定でスキャン結果に手を加えな
くても良いように出来るのでしょうか。
- 730 :名無しさん@編集中:2016/09/23(金) 09:17:18.69 ID:kfZR3J1p.net
- >>729
手動で選択したよ
- 731 :名無しさん@編集中:2016/09/23(金) 19:28:43.66 ID:RmtelH3Y.net
- >>729
Splitterの説明書きくらい読みなよ
- 732 :名無しさん@編集中:2016/09/23(金) 19:56:33.38 ID:JF1u73Sm.net
- >>731
githubにありました?
他にサポートページ等があるのでしたら教えてください。
- 733 : ◆SALrG1ld3mTc :2016/09/23(金) 23:10:29.57 ID:z2ci+inW.net
- >>729
一応以前このスレでは書いたのですが(>>30)、USESERVICEID=1で使う場合は、現状その挙動が仕様となっております。
USESERVICEIDを0で使えば、普通のスキャン結果にできるはずです。
BonDriver_Splitterは元々linuxの方のに組み込んでた機能を切り出してやっつけでつくったものだったので、
ドキュメント関係はいいかげんなまま放置してしまっております(;´Д`)スミマセン
この挙動に関しては、近いうちにサンプルの設定ファイルにでも追記しておきますね。
>>731
と言う事なので、>>729さんは悪くないです(;´Д`)
- 734 :名無しさん@編集中:2016/09/23(金) 23:29:33.43 ID:6nrOa3CS.net
- BonDriver_Splitter、ありがとう
- 735 :名無しさん@編集中:2016/09/24(土) 09:59:53.65 ID:PQgLJCD/.net
- BonDriver_Splitter.ini内の10月以降のスペース定義(MONDO TV)知りたい
AXNもそのままだし。
- 736 :名無しさん@編集中:2016/09/24(土) 14:39:16.62 ID:USXYKYD2.net
- とりあえず単純なチャンネル入れ替えだし、サンプルのiniそのままだとこれだけで済むんじゃないのか?
ちなみに半年前の更新でありサンプルにAXNミステリーは反映済みのようだが
053=旅チャンネル 0 1 11 362
↓
053=MONDOTV 0 1 11 295
- 737 :名無しさん@編集中:2016/09/24(土) 16:57:15.72 ID:kaSh8wOp.net
- >>719から>>720の流れで、たったの一時間ちょっとでパッチ当ててビルドしたのか・・・
- 738 :名無しさん@編集中:2016/09/24(土) 18:39:37.54 ID:uOEYV4x2.net
- 旅チャンネルって不人気で終わるの?
- 739 : ◆SALrG1ld3mTc :2016/09/24(土) 19:22:46.86 ID:xHVKFvzH.net
- >>735
ほぼ間違いなく>>736さんの書かれてるので大丈夫だと思います。
githubの方は10/1以降、実際に確認できてから更新すれば良いかなと考えてますヽ(;´ー`)ノ
- 740 :名無しさん@編集中:2016/09/24(土) 20:46:46.74 ID:YnfQVOyP.net
- 旅番長なくなるのか
- 741 :名無しさん@編集中:2016/09/24(土) 21:15:04.17 ID:PQgLJCD/.net
- >>736 >>739
ありがとうございます
Splitterはさむとチャンネル設定が大変で。
- 742 :名無しさん@編集中:2016/09/27(火) 22:19:02.92 ID:oOQcQoAd.net
- SDTにはもう流れてますね
"MONDO TV", // name
295, // service_id
0x7180, // transport_stream_id
- 743 :名無しさん@編集中:2016/09/30(金) 12:35:20.60 ID:EeP1+6xm.net
- BonDriver_ProxyとBonDriver_Splitterのおかげで幸せになりました
ノートPCとタブレット2台で快適に視聴できております
ありがとうございました
今回は鯖でBDPを2つ動かしてます
Splitterの民法CHの設定に時間がかかりましたが充実した1日となりました
次はモバイル視聴に挑戦してみます
ちなみに局ロゴを反映させる方法などあるのでしょうか
BDPは鯖のEpgDataCap_Bonに仕込んでます
- 744 :名無しさん@編集中:2016/10/01(土) 00:45:02.90 ID:L3zYbfD9.net
- >>615のパッチをBonDriverProxyEx.cpp 1.1.6.6に当てる時、
@@ -1913,11 +1926,11 @@
{
// IPv4
SOCKADDR_IN *p4 = (SOCKADDR_IN *)&ss;
-#ifdef _WIN64
+//#ifdef _WIN64
これに似たのが1029行目、20251029行目から始まってるけど、
同じような感じでコメントアウトすればOKですよね?
それで、ビルドして、一応、動いてはいる感なんですが。
- 745 : ◆SALrG1ld3mTc :2016/10/01(土) 09:04:51.96 ID:we0ZDYtq.net
- >>743
局ロゴは地上波の場合はSDTとCDTを、BS/110CSの場合はSDTTとデータカルーセル(BonDriver_Splitterの指定で言うとTYPED)を使用して
送られてくる事になっていたと思うので、BonDriver_Splitter経由でTSを受け取るソフト(TVTest等)で局ロゴを受信したい場合には、
これらを削除せずにそのソフトにTSストリームを流す必要がありますね。
- 746 : ◆SALrG1ld3mTc :2016/10/01(土) 09:12:49.26 ID:we0ZDYtq.net
- >>744
できたバイナリがちゃんと起動できる限りは、そこはコメントアウトしてもしなくても大した違いは無いです。
元のソースではXP等のinet_ntop()が無い環境用にしょうがなくinet_ntop()相当の処理を書いて、x86アプリとして
ビルドする場合にはそちらを使うようにしてあります。
#つまり、BDPEXが行おうとする事はどちらにせよ同じです
リンク先のパッチのようにその分岐部分をコメントアウトすると、XP環境では起動できなくなりますが、
x86アプリとしてビルドした場合でもinet_ntop()を使うようになる、と言う事ですね。
- 747 :名無しさん@編集中:2016/10/01(土) 10:49:46.36 ID:L3zYbfD9.net
- >>746
詳しい説明ありがとうございます。XPで動かしたくなったときの参考になります。
- 748 :名無しさん@編集中:2016/10/01(土) 18:05:09.08 ID:WEfU+J1x.net
- >>745
アドバイスありがとうございます
視聴始めたところものすごい勢いでLogoDataが降ってきました
今日作業してよかった!
BonDriver_Splitter使用している都合上チャンネルスキャンではたくさん重複ができましたが
サービスIDで選択できるのでBS CS UHF全て設定できました
普段はDEL=CAT,M-EIT,L-EIT,SDTT,BIT,CDT, EMM,TYPEDで運用していきます
他のPCのTVTestにはBonDriver_Proxy.ch2を移植するだけでしたので
思ったより短い時間で終えることができました
ここの住人の皆さんはBDProxy鯖をサービスに登録なされていらっしゃるようですが
自分はスタートアップにショートカットという手段です
やはりサービスへの登録の方がメリットが多いのでしょうか
何はともあれ本当にありがとうございました!
- 749 :名無しさん@編集中:2016/10/07(金) 09:08:53.09 ID:dbqeV4Y/.net
- 他スレでTVTestの起動オプションについての話題が出ていたのだが
BDPとBDS使用してCH指定起動できるCHとできないCHがある(おま環であってほしい)
ちなみに「DEL=」は何も指定しないでテストしてみた
BSアニマ(OK) /chspace 0 /tsid 18033 /sid 236
CSATX(NG) /chspace 1 /tsid 28928 /sid 333
正しい設定・方法があれば教えてほしい
- 750 :名無しさん@編集中:2016/10/07(金) 09:32:01.89 ID:0uSp2eyy.net
- /d BonDriver_Splitter_TS1.dll /sid 333
正常に起動するが・・・
- 751 : ◆SALrG1ld3mTc :2016/10/07(金) 20:06:47.70 ID:0Q/EWYSC.net
- >>749
TVTestはコマンドラインからのチャンネル指定の際に、ユーザの指定に適合するチャンネルを見つけた場合、
そのチャンネルが有効であるかどうかのチェックを行っていないようですね。
この為、BonDriver_Splitterの1チャンネル1サービスモードを経由した場合のch2ファイルのように、
一つのサービスに対して有効になっている物と無効になっている物との両方の設定データが存在する場合、
無効に設定されているデータを選んでしまう場合がある、と言う事のようです。
これを防ぐには、ch2ファイルから当該チャンネルの無効になっている行(行の末尾が「0」の行)を全て削除して
有効な物だけにする、あるいは根本的な対処として、TVTestのソースの、
https://github.com/DBCTRADO/TVTest/blob/d9f99d2b4c45eef6ee16531bf0afb712246e75ac/src/AppCore.cpp#L572
と
https://github.com/DBCTRADO/TVTest/blob/d9f99d2b4c45eef6ee16531bf0afb712246e75ac/src/AppCore.cpp#L599
を、
---
if ((pCmdLine->m_Channel==0
---
から
---
if (pChannelInfo->IsEnabled()
&& (pCmdLine->m_Channel == 0
---
に変更してビルドする、のどちらかを行えば大丈夫になるだろうと思いますヽ(;´ー`)ノ
- 752 :名無しさん@編集中:2016/10/08(土) 01:02:46.33 ID:Fw5IhMuD.net
- >>751
ありがたいです
腹痛酷いので日がのぼったら試してみます
- 753 :名無しさん@編集中:2016/10/08(土) 10:03:27.91 ID:Fw5IhMuD.net
- >>751
ch2ファイルの「0の行削除」方法で無事にch指定できました
ビルドの方は未だ試しておりませんが
とりあえずこれで運用していきたいと思います
ありがとうございました!
- 754 :!id:ignore:2016/10/09(日) 17:07:54.08 ID:PlnuOcZL.net
- BonDriver_Splitter.dllが32bit、64bit共に読み込めません
今月から導入テストをはじめ、iniが出来上がりつつあるときに
dll自体読み込まなくなりました
10月6日に配信されたKB3197356をアンインストールしても失敗します
BonDriver_Proxy.dllはTVTest、EpgDataCap_Bon共に動作しています
Visual C++ ランタイム2015と.NET Framework3.5はインストール済みです
エラーコード: 0x45a
Windowsのエラーメッセージ :
ダイナミック リンク ライブラリ (DLL) 初期化ルーチンの実行に失敗しました。
バージョン:20160807
実行プログラム:TVTest0.9.0-develop_x86,x64
- 755 :名無しさん@編集中:2016/10/09(日) 17:50:54.71 ID:6sn1aox6.net
- 最初から導入し直してみたら?
- 756 :名無しさん@編集中:2016/10/09(日) 18:45:37.92 ID:PlnuOcZL.net
- >>755
書き忘れましたが試しています
- 757 :名無しさん@編集中:2016/10/09(日) 19:07:52.15 ID:5+V1jUT8.net
- iniが間違ってるんじゃねーの
- 758 :名無しさん@編集中:2016/10/10(月) 11:49:02.36 ID:0km5JboM.net
- 俺環でproxyはos再起動後サービスの再起動も必要な場合がある
- 759 :名無しさん@編集中:2016/10/10(月) 13:51:11.02 ID:ZwaB28+W.net
- スペース定義構文エラーでした
読み込みに失敗したので他を疑って回り道しました
とりあえず動いたのですがパススルーモードがイマイチよく分かりません
>>518に録画に利用する記述がありますが
同じチャンネル番号
(TBSチャンネル1、テレ朝チャンネル1、テレ朝チャンネル2)の場合
1チューナーで同時録画できるという事なのでしょうか
- 760 : ◆SALrG1ld3mTc :2016/10/10(月) 20:04:12.23 ID:fSzQDNuB.net
- >>759
第1の目的としては、ローカルでBonDriverをまとめて3波チューナみたいに使いたいだけで、データ削減とかは
行う必要が無い場合用に、ですね。
第2の目的は、おっしゃる通りです。
でもメジャーな録画管理ソフトでそれができるのは多分EDCBだけなので、EDCBを使ってない場合はあんまり
関係ないです。
具体的には、EDCBでは、例えばTBSチャンネル1とテレ朝チャンネル1の時間がカブッている番組をチューナ1つで
録画できますが、その為にはBonDriverのあるチャンネルから、両方のサービスのデータを含んだTSを受け取る
必要があるので、BonDriver_Splitterを1チャンネル1サービスモードで使っていると、それができなくなります。
#そもそもBonDriver_SplitterとEDCBの実装上、その他にも問題は出てきそうですが…
パススルーモードを用意しておけば、リモートからの視聴用には1チャンネル1サービスモードでデータを削減して
配信しつつ、EDCBから録画する時はパススルーモードを使わせるようにすれば、それぞれの良いとこどりができる、
と言う事ですね。
ただ、この様な環境をちゃんと設定するには単純にチャンネルスキャンするだけで完了、と言うわけにはいかず、
BonDriver_Splitterのiniファイルを変更しながら、EDCB側の*.ChSet4.txt、もしくはTVTest側のch2ファイルを
手で編集する必要が出てくると思うので、若干面倒だろうなーとは思ってますヽ(;´ー`)ノ
- 761 :名無しさん@編集中:2016/10/10(月) 21:08:44.32 ID:FJXhHtru.net
- >>760
どういうこと?
例えば、今日の21時からの
NHKのニュースウオッチ9と
裏番組のEテレのきょうの料理とを
1チューナーで録画できるってこと?
- 762 :名無しさん@編集中:2016/10/10(月) 23:26:30.79 ID:154H+I2z.net
- >>761
CS
- 763 :名無しさん@編集中:2016/10/10(月) 23:46:52.46 ID:9ehFCFO3.net
- >>761
ソフトが対応していれば同じTSIDの複数の放送を1つのチューナで視聴・録画可能
たとえばNHK総合1とNHK総合2のマルチ編成放送は同じTSIDなので1つの地デジチューナで視聴・録画ができる
NHK総合1とNHK総合2は同一TSIDでサービスID(SID)が違う
だけどNHK総合とEテレはTSIDが違うのでニュースウォッチ9ときょうの料理を同時録画するには2つの地デジチューナが必要
衛星放送は1つのTSIDで複数の事業者の放送を行ってたりする
>>759>>760の例にあるように「TBSチャンネル1」、「テレ朝チャンネル1」、「テレ朝チャンネル2」は同じTSIDなので1つの衛星放送
チューナで同時受信できる
大まかに言えばこんな感じ
デジタルテレビ放送では1つの周波数で複数の番組を放送できる 周波数≒TSID
番組を選ぶのがサービスID(SID)
BonDriver_SplitterはこのデータをサービスID(SID)ごとに分けて必要なものだけを視聴・録画ソフトに流すことができる
それだけでなくデータ放送や字幕などのデータを省いて流すこともできる
BonDriver_Splitterの設定でチューナを接続したPCからネットワークを介して視聴するクライアントへの転送データ量を大幅に減らすことができる
逆に、同一のTSIDならSIDが違っても1チューナで視聴・録画できることを考慮して作られているEDCBのようなソフトはBonDriver_Splitterの
「1チャンネル1サービスモード」が要らぬお節介になってしまうのでSIDごとに分けない「パススルーモード」が用意されている
あってるかな?違ってたら修正おねがい
- 764 :名無しさん@編集中:2016/10/11(火) 01:12:40.41 ID:uaZ8EX6m.net
- 納得サンクスだぜ
- 765 :名無しさん@編集中:2016/10/11(火) 05:00:37.85 ID:bOtTvUND.net
- BondriverProxyExで
ふと情報画面を見てたら、謎の接続が残ったままだった。
1日前、ノートパソコンが不調でフリーズしてたりしたのでそのせいかな
優先度0なtvtestでチューナーを埋めてやったら
1回目はチャンネルを取られて変えれず、
2回目のチャンネル変更で主導権を取れて、そのままtvtestを切ったら
残った接続も消えた。
- 766 : ◆SALrG1ld3mTc :2016/10/11(火) 07:07:49.92 ID:GcfXA/p3.net
- >>763
バッチリですヽ(´ー`)ノありがとうございます
>>765
なるほど、ネットワークの切断を検出したら接続は破棄するようにしているのですが、クライアント側の
PCフリーズ時などに、ネットワークの切断自体を検出できない場合があると言う事でしょうか(;´Д`)
サーバ側からクライアント側へ、一定時間毎に死活監視でもするようにすべきかな…。
- 767 :名無しさん@編集中:2016/10/11(火) 19:08:32.81 ID:OJSOYbAg.net
- TVTest、EDCB共にSplitter導入できました
同チャンネル1チューナー録画はEDCBに元々備わっていた機能だったんですね
テスト中Proxy出しのデータでも同時録画出来てて気づきました
デジタル放送の理解が深まった気がして楽しかったです
- 768 :名無しさん@編集中:2016/10/11(火) 22:44:39.37 ID:WqKm6KsT.net
- 今まで、BonDriverProxyとSpritterのことが全然理解できなくて、
Spinelから移行できるかどうかもわからなかったんだけど、これで合ってる?
◆ Spinel+BonDriverRDCTから移行したい僕が理解した最強設定
0. サーバ側BonDriver_PT3.dll 4種類(T0、T1、S0、S1)
1. サーバ側BonDriverSpritter.dll 4種類(T0=T0、T1=T1、S0=S0、S1=S1)
4つそれぞれ、最小限のパケットに削った1チャンネル1サービスモードの
ネットワーク視聴用チャンネルと録画用のパススルーチャンネルの2つを設定
2. BonDriverProxyExサーバ(T3=T0+T1、S3=S0+S1)
同種チューナのまとめとチューナの空き、ロック、共有管理
3. 録画用BonDriverProxy.dll 2種類(T3r=T3、S3r=S3)
チャンネルロックありに設定
EDCBで使用。EpgTimerでT3r、S3rをそれぞれチューナ数2に設定する
chファイルでパススルーチャンネル以外は削除
4. クライアント側視聴用BonDriverProxy.dll 2種類(T3v=T3、S3v=S3)
チャンネルロックなしに設定
5. クライアント側視聴用BonDriverSpritter.dll 1種類(TS=T3v+S3v)
3波チューナー化設定。パススルーチャンネルは削除(iniファイル)
TVTestから使用
chファイルで重複ゴミチャンネルは削除
- 769 :名無しさん@編集中:2016/10/12(水) 05:39:58.83 ID:gAuLEYG5.net
- >>768
Spinel+BonDriverRDCTと同じ環境の僕の疑問なのですが、
なぜ移行しようと思ったのか聞きたいです。
- 770 :名無しさん@編集中:2016/10/12(水) 08:52:29.32 ID:OL/ao58k.net
- >>769
ぶっちゃけ、なんとなく旬だから使ってみたいw
ソースも公開されてて、作者さんもやる気ある状態だし
あとは、サーバ側の一カ所で同種チューナを束ねて管理するので、
別マシン間でのチューナやチャンネルの競合、共有の動きがわかりやすいかなと
- 771 :名無しさん@編集中:2016/10/12(水) 16:17:09.41 ID:naYg1nqh.net
- 再現率の高いちょっとした問題をみつけました
TVTestでBonDriver_Splitterに
1チャンネル1サービスモードで地デジ(UHF)とCS110をスペース定義している時
"設定\BonDriver設定\初期チャンネル\指定したチューニング空間"をCS110にしないと
初回起動時など、CS110チャンネルを一度も受信していない状態で
"チューナー\すべて"からCS110のチャンネルを受信できない
- 772 :名無しさん@編集中:2016/10/15(土) 13:08:52.04 ID:nh8ItJ5L.net
- BonDriver_Splitterって、パススルーモードでもデータ放送のカットとかはしてくれる?
- 773 :名無しさん@編集中:2016/10/15(土) 23:52:03.50 ID:u7VyEWNI.net
- BonDriverProxyEx1.1.6.6+B25パッチ+EDCBmod版 という環境で、度々スクランブル解除漏れが出るんですが俺環ですかね?
↓がEDCBのログなんですが、こんな感じで起きるときには同時録画中のすべての番組に起きます
2016/10/14 00:23:29 Drop:0 Scramble:8039 Signal: 37.99
2016/10/14 00:23:34 Drop:0 Scramble:56423 Signal: 38.17
2016/10/14 00:23:40 Drop:0 Scramble:95716 Signal: 38.07
2016/10/14 00:23:31 Drop:23 Scramble:53845 Signal: 15.20
2016/10/14 00:23:36 Drop:23 Scramble:116893 Signal: 15.25
2016/10/14 00:23:41 Drop:23 Scramble:126942 Signal: 15.24
- 774 :名無しさん@編集中:2016/10/16(日) 01:08:19.42 ID:0CU5M9jc.net
- 同時に接続しすぎてカスカードの処理落ちしてるんじゃない
- 775 :名無しさん@編集中:2016/10/16(日) 01:44:55.62 ID:k7YKyheg.net
- >>774
書き方が悪かったですが、1番組だけ録画してる時も起きるんですよね…
ちょっと前までSpinel使ってて、その時は無かったんですが
- 776 :名無しさん@編集中:2016/10/19(水) 18:37:22.91 ID:LZSX83op.net
- 俺も、ど素人でBonDriverProxyEx 1.1.6.6 に b25パッチ を当てていたので、テストしてみた。
EDCB tkntrec版 たぶん最新、TVTest 0.9.0 9f08571。チューナー2個。
TVTest 2個起動で繋いで、EDCBで裏表2番組録画。
深夜に録画予約して、ほったらかし。深夜なので短い番組が多かったけど、
23番組の録画でドロップ、解除漏れなかった。
- 777 :名無しさん@編集中:2016/10/19(水) 20:11:07.38 ID:AH3ssYL5.net
- spinel+rdctから、splitter+proxyEx+splitterに乗り換えた
やっぱり、別マシン間でチューナ競合した時の動作に安定感があっていいね
ネットワーク越しのTVTestでの接続もspinelより安定してるかも?
各splitterのiniファイルとEDCBとTVTestのchファイルのチャンネル編集が大変だが
- 778 :名無しさん@編集中:2016/10/19(水) 21:41:29.19 ID:ixjrdIHf.net
- あっしも乗り換えようかな
ところでsplitterをふたつ挟む意味はなにかあるの?
- 779 :名無しさん@編集中:2016/10/19(水) 22:16:52.36 ID:K0/jIXis.net
- >>778
>>768にあるように、BonドラとProxyExの間に挟むサーバ側のSplitterは、
ネットワークを流れるデータの削減用途で見たいチャンネルだけを抽出(データ放送とか1セグとかその他削除)
ProxyExとTVTestの間に挟むクライアント側Splitterは、3波化(地デジとBS/CSを1つのBonドラで扱う)用途で
役割が全く異なる。前者が本来のSplitterの用途というか名前の由来なんだろうね
- 780 :770:2016/10/20(木) 00:53:19.88 ID:ABW+ZL3b.net
- >>776
わざわざありがとうございます。こちらもそんなに頻発するというわけではなく、数日に一度忘れた頃に、という感じです。
やはり俺環でしょうか…。
- 781 :名無しさん@編集中:2016/10/20(木) 02:37:59.80 ID:mv1laelR.net
- >>779
>(データ放送とか1セグとかその他削除)
ProxyExでできるじゃん?
- 782 :名無しさん@編集中:2016/10/20(木) 08:42:18.17 ID:zZ4hiJmL.net
- >>781
そんな機能あったっけ?
- 783 :名無しさん@編集中:2016/10/20(木) 12:52:18.00 ID:rDpxOhTx.net
- タブのヘッポコwifiのせいで帯域低いからCSがプチプチなんだよなぁ
Splitter導入しようかな
- 784 :名無しさん@編集中:2016/10/20(木) 13:02:42.97 ID:HvZh5k8T.net
- >>783
ええで、ええで
- 785 :名無しさん@編集中:2016/10/20(木) 15:00:17.95 ID:ARsthOfs.net
- 背中押された気がしたので導入してみる
取りあえずvsbuild環境用のPC組むところから始める
- 786 :名無しさん@編集中:2016/10/20(木) 15:29:31.24 ID:49M0XQKp.net
- ロケフリでもええんやで
- 787 :名無しさん@編集中:2016/10/20(木) 17:16:15.07 ID:/3kA0mX3.net
- >>779
Splitterってデータ削減と3波化はひとつでできないから挟むのか、なるほど。
うちも乗り換えようかとReadmeさらっと読んでみたんだけど、
単純にデータ削減するだけとはいえ設定ややこしいのね。
地D、BSCSチャンネルの記述ってだけ気が遠くなる、、、
- 788 :名無しさん@編集中:2016/10/20(木) 18:13:01.74 ID:Jg63GFUO.net
- >>787
いや、わかってるかも知れないけど、やろうと思えば、サーバ側に置いたsplitterだけで、
データ削減と3波化は両方できるよ
だけど、それをやると録画ソフト(EDCB)から見た時にチューナの有効活用が
できないのかなと思った。なので、3波化はクライアント側でやることにした
多分、EDCBだと1つのBonドラで、SチューナとTチューナがそれぞれ1つ別々に使えるよって設定できないよね?
1つのBonドラで同種のチューナが複数個使えるよって設定はできるけど
- 789 :名無しさん@編集中:2016/10/21(金) 02:57:19.98 ID:otMDfBQi.net
- オープンに失敗したってEDCBでいわれて試しにSpinel開こうとしたら応答してないんだがこれ環境のせいか?
- 790 :名無しさん@編集中:2016/10/21(金) 03:02:00.90 ID:fNbLI5lc.net
- 応答してないからオープンしてないんだなあ
- 791 :名無しさん@編集中:2016/10/22(土) 13:26:00.57 ID:Sbc8gxA3.net
- ProxyExのB25パッチをSplitterに適用して、パススルー以外のチャンネル時の場合だけ
スクランブル解除するようにしてみた。とりあえず問題なさそう
- 792 :名無しさん@編集中:2016/10/22(土) 16:14:59.29 ID:XE5rE8WU.net
- >>788
なるほどなるほど、そういう意味だったのか詳しい説明ありがとう。
- 793 :770:2016/10/28(金) 14:25:06.60 ID:QcyvxaCF.net
- 770ですが、RDPが原因でした。
サービス起動させておけば問題無いと思ってたんですが、接続した瞬間の10秒ほどだけなぜか認識出来なくなるようです。
- 794 :名無しさん@編集中:2016/11/07(月) 00:28:33.88 ID:7twY7WQY.net
- >>773>>793です。原因が分かったので一応報告しておきます。
どうやら以前EDCBでスクランブル解除していた際に使っていたB25Decoder.dllがカードの制御を奪っていたようで、削除したら解除漏れしなくなりました。
EDCBでは解除しない設定にしていたし、RDP接続した瞬間の10秒だけというのがなぜかは分からないですが、とりあえずなんとかなりました。
お騒がせしました。
- 795 :名無しさん@編集中:2016/11/21(月) 23:42:06.49 ID:t0AsNKAV.net
- >>791
もうひと月も前のレスだが、diffしていただけると助かる
- 796 :名無しさん@編集中:2016/11/22(火) 01:43:33.52 ID:Nckar2Bb.net
- >>795
とりあえず動いてますが、適当にコピペしただけなんで何も保証はできません…
http://pastebin.com/d1H8izQ9
- 797 :名無しさん@編集中:2016/11/23(水) 08:04:59.45 ID:wodr5T2Y.net
- そういやリモートデススクトップのカード使用って、なんかポリシいじる必要あったよね
- 798 :名無しさん@編集中:2016/11/23(水) 12:02:46.17 ID:npgOEpBH.net
- spinel使用からBonDriverProxyに切り替えたんだけどスプリッターの使い方がよくわかりません
次のうちどれかだと思うんですが
1.BonDriverProxyの下流に置いてTVTestなどで使用する
2.Bondriver_splitterそのものがBonDriver_PTと置き替えて使う
3.視聴ソフトにフィルターとして組み込む
ここがわからないんでReadMeや過去ログ読んでもいまいち理解できません
誰か一言御指南お願いします
- 799 :名無しさん@編集中:2016/11/23(水) 13:08:04.68 ID:uVLPO8f2.net
- >>798
主な用途として、2つある。もちろん、2つの用途を同時に満たす使い方ができる
1. 各チャンネルの映像音声以外を削って、更にサービスごとに細切れにする(これがスプリッタという名前の由来?)
これによって、ネットワーク越しの視聴ではネットワークに流れるデータ量が劇的に下がる
この目的を果たすには、当然、サーバ側でBonDriver_Splitterを使う必要があり、
BonDriverProxyサーバが、BonDriver_Splitterを使ってチューナからのデータを受けるようにする
つまり、チューナ用のBonDriverとBonDriverProxyサーバの間にスプリッタを挟む
2. 一つのBonDriverで、地デジとBS/CSを両方扱えるようにする(スプリッタという言葉とは真逆の結合的な機能)
例えば、TVTestでBonDriver_Splitterを一つだけ指定するだけで、3波を視聴できるようになり、
いちいち、使うBonDriverを切り替える必要がなくなる
この用途で使うには、1の用途と同じようにBonDriverProxyサーバがチューナからデータを受ける手前で
3波BonDriver化してもいいし、クライアント側でTVTestがBonDriver_Splitterを使うようにしてもいい
BonDriver_splitterを1と2両方の機能を使うように設定することはできるが、2の機能の3波化機能を
サーバ側で使うと、BonDriver_Splitter単位での選局になってしまうので、BonDriver_Splitter数分しか
同時に異なる番組が見られなくなる(地デジが2つ、BS/CSが2つのチューナでも同時には2つの番組のみになる)
このため、>>768のように、1の機能のみをサーバ側で使い、2の機能のみをクライアント側で使った構成にしたりする
- 800 :名無しさん@編集中:2016/11/23(水) 15:10:06.19 ID:uVLPO8f2.net
- >>796のパッチは、BonDriver_Splitter_orgとBonDriver_Splitter_b25を
BonDriver_Splitterに全置換してから使ってください…
- 801 :名無しさん@編集中:2016/11/23(水) 16:29:38.82 ID:npgOEpBH.net
- >>799
一言どころか詳しい解説ありがとうございます
BonDriverProxyの上流に置くもんなんですね いろいろ考え違いしてたのがわかりました
分波器と分配器だけじゃなく混合器の機能も持ってるとは
解説内容をもとにもう一度readmeと過去スレを読み直してみます
- 802 :792:2016/11/23(水) 18:21:12.35 ID:nA1Im43V.net
- >>800
提供どうもです
ひとまずコンパイルは通りましたのでご報告
- 803 :名無しさん@編集中:2016/11/24(木) 12:22:29.96 ID:+ZZRIvPi.net
- >>799
BonDriverProxyだけ使うこともできる(Splitterなくても)
- 804 :名無しさん@編集中:2016/11/29(火) 20:47:36.20 ID:vz3tM8EB.net
- >>796
Win32のビルドにwinscard.lib必要ですよね?
- 805 :名無しさん@編集中:2016/11/30(水) 06:12:25.37 ID:v3XqPnPF.net
- >>804
確かに。x64しかビルドしてないので、Win32の方は抜けてたかも
- 806 :名無しさん@編集中:2016/12/04(日) 22:40:12.45 ID:GnodJxsh.net
- BonDriverProxyでサーバーのチューナーを別PCで視聴しようとしてますがうまくいきません
以下のiniの設定の間違いをご指摘願います いじったのは[OPTION] だけです
サーバー側 (Win7x64 H77 PT2) ファイル名 BonDriverProxy.ini
ADDRESS=127.0.0.1
PORT=1192
SANDBOXED_RELEASE=0
DISABLE_UNLOAD_BONDRIVER=0
BONDRIVER=
CHANNEL_LOCK=200
CONNECT_TIMEOUT=5
クライアント側 (Win8.1x64 890GX) ファイル名 BonDriver_Proxy_S0.ini
ADDRESS=192.168.0.2
PORT=1192
SANDBOXED_RELEASE=0
DISABLE_UNLOAD_BONDRIVER=0
BONDRIVER=\\SERVER\Win DTV\BonDriverProxy_sav\Bondriver_PT-S0.dll
CHANNEL_LOCK=200
CONNECT_TIMEOUT=5
一週間かかってもだめ...疲れた
- 807 :名無しさん@編集中:2016/12/04(日) 23:02:22.02 ID:6A76ieAF.net
- ADDRESS=127.0.0.1
サーバの待受アドレスが127.0.0.1なので
ループバック接続しか許されておらず
他マシンからの接続はできない。
- 808 :名無しさん@編集中:2016/12/04(日) 23:39:51.98 ID:vHHaXIDh.net
- >>806
>>807が答えだけど、これで一週間も悩むようだと意味が理解できないかもね
とりあえず、サーバ側に、「ADDRESS=0.0.0.0」って書いとけばOK
- 809 :名無しさん@編集中:2016/12/05(月) 03:07:11.37 ID:DBkK5Fpo.net
- 鯖側のx64だと、VirtualPT
SpinelからBonDrvier_RDCT
も同じ動作をするが、手動
VirtualPT
早すぎた
- 810 :803:2016/12/05(月) 18:47:33.39 ID:nzQt8L0A.net
- >>807 >>808
ありがとうございます!!おかげでうまくいきました
ini_info.txtに「待受けアドレス」とあるのを見逃してました....orz
次はスプリッタとBonCasLink_SPHD入れなきゃ......
- 811 :803:2016/12/10(土) 09:26:49.94 ID:mebPIWJ4.net
- スカパーのことなんで「スカパー! プレミアムをPCで視聴」スレで訊いたんですが
レスもらえなかったので戻ってきました よろしくお願いします
スカパープレミアムにBonDriver_Splitter使おうとしてるんですがチャンネル設定で詰まっています
1チャンネル1サービスモードにするにはBondriver_Splitter.ini の書き方はこれで良いんでしょうか?
BonDriver_Splitterを挟まない場合は視聴できてます
[SPACE00]
NAME=SkyPerfecTV
USESERVICEID=1
000=AT−X HD! 0 0 24 33435 10 12327
001=映画・chNECO 0 0 21 33401 10 12324
御指南お願いします
- 812 :名無しさん@編集中:2016/12/10(土) 15:49:59.24 ID:0MOOh8c1.net
- >>811
スカパープレミアムの環境持ってないけど、多分>>41の通りにやれば良いんじゃないかな
- 813 :808:2016/12/11(日) 22:58:09.77 ID:HfQTv/8Z.net
- >>812
やってみましたがチャンネルは切り替わってるみたいだがデータが流れてきません
ini書き換えをいろいろやってたら一回だけ画面が出た
LANの転送量も5分の1になってたけどチャンネル替えたらまた見られなくなってしまいました
今のBondriver_Splitter.iniには
[BONDRIVER]
00=BonDriver_TBS6981A.dll
01=BonDriver_TBS6981B.dll
[SPACE00]
NAME=SkyPerfecTV
USESERVICEID=1
000=AT−X HD! 0 0 24 33435
001=映画・chNECO 0 0 21 33401
[SPACE01]
NAME=SkyPerfecTV
USESERVICEID=1
000=AT−X HD! 1 0 24 33435
001=映画・chNECO 1 0 21 33401
[BONDRIVER]の 00=、01= は[SPACExx]の数字と対応するのだろうか?
ボンドラの番号付けの意味がわからんままやってるからこの辺に間違いがあると
思ってもどう書けばいいのかわからない
どなたかお助けを....
- 814 : ◆SALrG1ld3mTc :2016/12/12(月) 07:13:05.36 ID:HOgozZ5M.net
- >>813
> [BONDRIVER]の 00=、01=
これは、
ttps://github.com/u-n-k-n-o-w-n/BonDriverProxy/blob/0a0c087177690af9034f986f8bfd43333ed2bb8e/BonDriver_Splitter_Sample.ini#L36
の「対象BonDriverNo」に対応します。
なので、>>813さんの設定は(対象サービスIDが正しい値であるなら)間違ってない感じですね。
同じ種類の?BonDriverを1つのSplitterに複数登録している意図は当方には良くわかっていないのですが、それはともかく、
1回だけみえたとの事から考えると、もしかしたらBonDriver_TBS6981は同期したTSが出力されないBonDriverなのかもしれません。
[OPTION]のTSSYNCを1にしてみるとみえるようになったりしないでしょうか?
- 815 :808:2016/12/12(月) 21:34:24.80 ID:S3x+SvZ1.net
- >>814
作者さんですか ありがとうございます
教えていただいたように TSSYNC=1 に直したら動作しました!
これで古い無線LANでもスカパープレミアムをストレス無く視聴できそうです
>同じ種類の?BonDriverを1つのSplitterに複数登録している意図
こうした方が使うチューナーを区別できるかなと思いまして、、、、、
TBSシリーズのチューナーは環境によってドロップが大量に出るときがあるので
どのチューナーを使ったか判るようにしておきたいというのがあったからです
でもこの書き方でチューナーの区別が出来るかどうかは自分にも判ってないです、、、、
もしかしたらBonDriver_SplitterもA、Bと2つに分けなければならないのかな?
- 816 :808:2016/12/12(月) 22:53:47.42 ID:S3x+SvZ1.net
- この書き方ではうまくいきませんでした
[BONDRIVER]
00=BonDriver_TBS6981A.dll
01=BonDriver_TBS6981B.dll
BonDriver_Splitterを6981Aと6981Bに分けてそれぞれ
BonDriver_Splitter_6981A
[BONDRIVER]
00=BonDriver_TBS6981A.dll
[SPACE00]
NAME=SkyPerfecTV
USESERVICEID=1
000=AT−X HD! 0 0 24 33435
001=映画・chNECO 0 0 21 33401
BonDriver_Splitter_6981B
[BONDRIVER]
00=BonDriver_TBS6981B.dll
[SPACE00]
NAME=SkyPerfecTV
USESERVICEID=1
000=AT−X HD! 0 0 24 33435
001=映画・chNECO 0 0 21 33401
これでやってもだめでBonDriverProxyがエラーで落ちました 録画が始まったんでここで休止
Splitterは一つしか使えないんでしょうか?
なんか自分でも変なことやってるなとも思うんですが、、、、
- 817 :名無しさん@編集中:2016/12/13(火) 00:41:28.97 ID:dWEH370Q.net
- 捕まる前に…。。.
- 818 :808:2016/12/13(火) 11:10:47.41 ID:f806HN1f.net
- うまくいった、、、、と思ったらサーバー側のEDCBでスカパープレミアムの録画が始まったとたん
BonDriverProxyが落ちた、、、、、チャンネルロック優先にしてあるんだが
わからん しばらく頭冷やします
- 819 :名無しさん@編集中:2016/12/25(日) 13:43:01.50 ID:qAdGm7mP.net
- RDCT とEDCBって、あんまり相性よくないですか?
予約してもそれぞれに振り分けてくれなくて、まだ空きがあるのに撮れないことがあります。
- 820 :名無しさん@編集中:2016/12/25(日) 13:51:27.01 ID:Ps7T1zcK.net
- >>819
EDCBにRDCT(3波化)使ったら、チューナー有効活用できないの当り前じゃない?
- 821 :名無しさん@編集中:2016/12/25(日) 14:50:06.17 ID:qAdGm7mP.net
- >>820
http://vladi.cocolog-nifty.com/blog/2014/10/iphoneandroidpc.html#LF4-1に
>・本来独立して使える地上波と衛星のチューナーを1個にまとめるのは贅沢に思えるが、実は1個のBonDriver_RDCTで地上波と衛星は独立して操作できる。
ってあるから、有効利用はできると思います。
実際にひとつのRDCT化されたドライバーで地デジ・BS同時に見ることはできました。
- 822 :名無しさん@編集中:2016/12/25(日) 15:01:14.72 ID:E4xllXnw.net
- >>821
同種のチューナーをまとめる使い方でRDCTを使うなら、
EDCB側で1つのBonドラにチューナ2個って設定でうまくいくけど、
1つのBonドラにBS/CS、地上波が各1個なんて設定できたっけ?
できないなら、いくらRDCTがリクエスト受けた時にBS/CSと地上波を使い分けたとしても
EDCB側で事前にスケジューリングできないから有効活用なんてできないじゃん?
- 823 :名無しさん@編集中:2016/12/25(日) 18:25:54.00 ID:qF/h+fh1.net
- そういう使い方する時はEDCBまでRDCTにするのはデメリットしかないわな
俺はTVTESTはRDCTに全て纏めてあるbonドラ1個だけだけど
EDCBは地デジ、BS/110CS、プレミアムそれぞれのチューナー毎に纏めてあるproxyEXにしてる
RDCTに纏めてあるのは勿論EDCBより優先権下げてあるproxyEX
- 824 :名無しさん@編集中:2016/12/26(月) 12:38:24.42 ID:yYR0hpu0.net
- RDCTでProxyExの2本を束ねればいいんじゃね?
- 825 :名無しさん@編集中:2016/12/26(月) 16:49:34.75 ID:yNFPPZVZ.net
- 何言ってるんだお前は馬鹿じゃね
- 826 :名無しさん@編集中:2016/12/26(月) 17:52:36.64 ID:yYR0hpu0.net
- なんで?
>>823だとProxyExが2つ動いてるってことやろ?
録画と視聴が同じチャンネルでもお互いチューナーを確保するやん?
それなら全チューナーをひとつのProxyExで管理して、EDCBからはProxyExを排他モードで直接呼び、tvtestではRDCT経由で低優先度で呼ぶほうがチューナーの有効利用ができると思うけど。
- 827 :名無しさん@編集中:2016/12/27(火) 03:07:31.51 ID:CMxtFsLW.net
- bondriverproxy.exeのb25パッチのあて方を教えて下さい、Exの方はできたんですが…
- 828 :名無しさん@編集中:2016/12/28(水) 19:02:57.92 ID:jVTJGMi2.net
- 作者様
TVTestでBonDriver_ProxyをWoLで起動して使用したとき
初期チャンネル切り替えに失敗します。
その後チャンネルを切り変えれば普通に使えますが、修正できないでしょうか?
- 829 :名無しさん@編集中:2017/01/05(木) 18:09:26.87 ID:XQwckGPL.net
- BonDriverProxyExを使用していて、
TVtestを2個同じチャンネルで起動して
片方をチャンネル変更しても画面が止まるだけで、
もう1回チャンネル変更(計2回変更)しないと映らないのはどちらのせい?
- 830 :名無しさん@編集中:2017/01/05(木) 21:29:30.41 ID:XQwckGPL.net
- OPENTUNER_RETURN_DELAY=10
にしたら解決しました。
- 831 :名無しさん@編集中:2017/01/07(土) 15:54:00.63 ID:l5NBtF7h.net
- すみません、質問させて下さい
Windows7sp1(32bit)環境でremotetunerを動かそうとすると「サイドバイサイド
構成が正しくないため、アプリケーションを開始できませんでした」と言われて
しまいます
Windows7sp1 Enterprise(32bit)のDVDでクリーンインストールした直後の環境に
・VC2005sp1の再頒布可能パッケージインストール
・VC2008sp1の再頒布可能パッケージインストール
・VC2010sp1の再頒布可能パッケージインストール
・MSXML 4.0 SP2 パーサー
を入れました。
他に何か入れなければならないものがあるんでしょうか?
Spinelは全く問題なく使えているのですが、出来ればRemoteTunerをメインにしたい
と思っています
- 832 :名無しさん@編集中:2017/01/08(日) 03:11:04.45 ID:8Pf0kGYP.net
- インストールしたランタイムのバージョンが古いんじゃない?
- 833 :名無しさん@編集中:2017/01/08(日) 03:54:06.03 ID:VRVB++sc.net
- >>831
たぶんだけど、Winをクリーンインストールした直後ってことなら
>VC2005sp1の再頒布可能パッケージインストール
これの後にMFCのセキュリティ更新プログラムのインストールも必要
ttps://www.microsoft.com/ja-jp/download/details.aspx?id=26347
- 834 :名無しさん@編集中:2017/01/08(日) 09:16:23.54 ID:NohB9Svc.net
- BonDriverProxyExの質問なのですが
同一2波なら
サーバー側は、その2波をグル−プで囲む
クライアント側
1、視聴用なら、グル−プを指定する(CHANNEL_LOCK=0)
2、録画用にはグル−プを左右で指定(CHANNEL_LOCK=1)
一番簡素ですよね?
- 835 :828:2017/01/08(日) 15:25:37.88 ID:cZaAAU9+.net
- >>833
ありがとうございます
そのHotfixを入れたら無事remotetunerが起動出来ました
Bondriver_HDUSがどうしても動かないって言う問題が残ったものの、こっちは
WinUSBに変えてBondriver_HDP2にして対処出来たので、これでかねてからの
目標だったWindows Embedded環境のサーバが立てられました
- 836 :名無しさん@編集中:2017/01/14(土) 15:55:43.92 ID:MAX74C2d.net
- NET Framework不要って事でremoteTuner入れてみたけどCPU負荷高い
高すぎる
CoreSolo U1400@1.2GHzで動かしてると常時90%くらい負荷かかってる
処理が間に合わなくて結構な頻度で視聴側(tvtest)でドロップ出る
- 837 :名無しさん@編集中:2017/01/15(日) 19:43:43.85 ID:haKO9UaE.net
- 悪い事は言わんからBonDriverProxy(Ex)にしとけ
総レス数 837
356 KB
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★