【視聴・録画】Linuxでテレビ総合9【デジタル/アナログ】at LINUX
【視聴・録画】Linuxでテレビ総合9【デジタル/アナログ】 - 暇つぶし2ch448:login:Penguin
14/06/29 13:01:42.94 U7BI4yqJ
質問です。

chinachuで深夜3:05-5:05の番組を録画予約しました。
ところが直前のサッカー中継が延長され、見たい番組は録画できませんでした。

質問1: chinachuは延長未対応という認識で合っていますか?

質問2: Linux(debian)で使えるソフトで延長に対応しているものはありますか?

初心者質問で申し訳ありませんが、よろしくお願いします。

449:login:Penguin
14/06/29 13:24:23.63 NiUCYq/U
>>447

URLリンク(www1.axfc.net)

450:login:Penguin
14/06/29 13:50:59.43 NiUCYq/U
>>449
ごめんなさい。コンパイル通らないものをアップロードしました。
こちらをご利用ください。

URLリンク(www1.axfc.net)

451:login:Penguin
14/06/29 14:10:04.59 z6oWkA97
>>445
ついでだから切断後シグナルマスク戻さないからSIGKILLしなきゃならんバグも直してよ

452:login:Penguin
14/06/29 14:11:52.83 Y8Pe/3cq
>450
ありがとうございます~!

453:login:Penguin
14/06/29 14:46:34.55 j+vHdLLp
>>450
修正ありがとうございます。
つまらないことでスルーして貰って結構なんですが、こういうのはdestroyで一緒にやる方が良いんじゃないでしょうか。

454:login:Penguin
14/06/29 16:12:34.97 IV5o2OlC
>>448
まだそういう認識で合ってると思うよ
現状EPG解析はepgdumpでやってるから録画時にリアルタイムで更新できないはず
複数チューナかつ運が良ければ間に合うかもしれないけど。
SI解析も実装する予定でいるらしいが(ポシャった?)
あれをNodeに実用レベルで載せられるかどうか…

455:448
14/06/29 18:31:24.74 U7BI4yqJ
>>454
ありがとうございます。
延長に対応していないのは残念ですがわかりました。

Schedulerログによるとchinachuは1時間ごとに予約を更新しますが、
録画中や深夜1時から朝5時までは更新を休むようです。
(チューナーはPT2×1+PT3×1)

456:login:Penguin
14/06/29 18:49:46.01 ReMJfVhg
放送時間の延長に対応するには、一般的に、
読み取った内容を解析すること(スクランブル解除を含む)の他に
単純な録画している時間を、実行中に変化させることができなければいけない

要は、recpt1ctlに相当する機能をすべてのrecxxxに持たせなければいけないということ
例えば、recfsusb2nctl、といったものを個別に作る必要がある


こういう点を考えれば、インターフェースを統一してすべてを同じ操作で扱える
bondriver形式にもメリットがある
windows上でいろいろ揉まれた結果でもあるし
さらにspinnel的な扱いが出来ればより良いだろうけどね

457:login:Penguin
14/06/29 21:15:30.46 NGSA/MjH
PX-W3PE って Ubuntu 14.04 64bit 3.13.0-30-generic で使えます?
>>441読んで試して見ようと思ったのだけど。

URLリンク(www.plex-net.co.jp)
からドライバダウンロードして readme.txt 読んでみたけどRelease note
のみでインストール方法や対応ディストリの記述はないです。

insmodはダメでした。
sudo insmod ./asv5220_dtv.ko
insmod: ERROR: could not insert module ./asv5220_dtv.ko: Invalid module format

対応カーネルバージョン以下の様です。
modinfo ./asv5220_dtv.ko
vermagic: 2.6.32-279.5.1.el6.x86_64 SMP mod_unload modversions

カーネルバージョンで検索するとCentOS6とか出てくるのでRed Hat系?

458:login:Penguin
14/06/30 00:07:13.47 abQ5XaIy
>>450
パッチをみてみたらepgrecUNAの所で配布してるのと構造が違うので調べてみたらRC4か新本家にRC4をそのまま移植したやつ用か・・・

459:login:Penguin
14/06/30 00:58:16.48 bRxCtVkq
そういえばUNA版は延長対応してなかったっけ?

460:login:Penguin
14/06/30 01:26:08.62 dfg1knvX
もうこんなことは辞めてレコーダー買おう

461:login:Penguin
14/06/30 02:02:33.86 8CwJEBXv
DVB版でも dvb_appsの録画ツール(gstreamer + python)は一応延長対応のはず ( >>39 )

462:login:Penguin
14/06/30 02:10:06.71 6mosU4bC
>>459
録画中の番組の延長は知らんけど、
開始前の予約は録画開始前にEIT[p/f]をチェックして追随するようにはなってる。

463:login:Penguin
14/06/30 03:14:31.39 DwN01oO6
まさかレコーダーを買えないからやってるの?
レコーダーごときを?

464:login:Penguin
14/06/30 03:23:27.43 6mosU4bC
金の話ならレコーダ買う方がよっぽど安上がりだろ

465:login:Penguin
14/06/30 07:17:42.97 7ocuUzw7
>>463
違うからもう来んな

466:login:Penguin
14/06/30 07:19:18.71 dfg1knvX
>>463
じ、じつはそうなんです、、、Orz=3ブッ

467:login:Penguin
14/06/30 09:06:48.10 MA99xvB1
>>457
プレクのドライバはubuntuはダメだったはず
今まで報告されてる使ってみた事例は全部CentOSだと思う

468:login:Penguin
14/06/30 09:22:39.28 ujPq+PnL
>>456
細かいことだけど、EIT見るのにはスクランブル解除は要らんのでは?

469:login:Penguin
14/06/30 11:23:18.73 f61EEGBP
>>463
買ったレコーダーがたまに録画失敗するクソだったんで信用しないことにしました

470:login:Penguin
14/06/30 15:48:14.78 THsPIyp+
放送時間延長とかイベントリレーは対応めんどくさそうだよね

まず最低限、epgrecとかの録画管理ツールからrecpt1とかの実際の録画ツールに録画設定の変更を伝える
しくみが必要で(recpt1に関しては、recpt1ctlが使えるからここはクリアしてるけど)、
その上で録画管理ツールが延長やイベントリレーの監視と、それらに該当すると判断した場合には、
それを録画ツールに指示するなり新たな録画予約を追加するなりする必要がある

さらに、他の録画予約が入っててチューナーに空きが無い場合はどうするかとかの設定ができる必要もあるだろうし、
録画ツール側はともかく、録画管理ツール側でやらなきゃダメな事がかなり多い

正直epgrecいじって対応しようとするくらいなら、EpgTimerSrv移植とかした方が早いかも

471:login:Penguin
14/06/30 18:20:04.56 Z2o/PPr0
>>470
epgrecUNAは録画中でもEPGが更新されれば時間を延長してくれる
まあ中の人にスポーツにたいする愛が無いようなので完全自動ではないし他Chの予約と重複するとやめちゃうみたいだけどw

472:login:Penguin
14/06/30 18:23:12.98 aPcosLFk
>>467

やっぱりUbuntuだとダメなのか。

CentOS6.4での導入事例があったのでCentOSでトライしてみるよ。

URLリンク(www2.filewo.net)

473:login:Penguin
14/06/30 20:47:20.03 THsPIyp+
>>471
見てみた
イベントリレーはまあ置いておくとして、なるほど、延長する可能性のある番組の後番組の頭だけ予約を入れておいて
EPGの更新を確認する、か
少し面倒ではあるけど、全く対応してないのと比べたら全然マシだね

そこが自動化されたらだいぶ使い勝手良くなりそうだけど、対象の番組を録画してるのとは違うチューナーを使って
EPGの更新確認する関係上、難しいかなぁ
録画ツールを改造して、指定録画時間の最後数分になったらEPG更新用に録画とは別ファイルにも出力とかすれば行けそう?

チューナー共有されてる状態なら、普通に番組録画してるチューナーを共有して使えば良いから話は簡単なんだけど・・・
つーかrecpt1をbondriver使えるように改造すればいいのか?

474:login:Penguin
14/06/30 21:12:44.01 DwN01oO6
すみません。
epgrecUNAのログって、リセットすることはできないでしょうか。
誤ってすごくありふれたキーワードを自動録画ワードにしてしまったので、削除したのですが、大量に予約追加と削除のログが残ってしまいました。
ログを開くたびに、数秒くらい待たされてしまうので、なんとかまっさらにしたいのですが。

475:login:Penguin
14/06/30 21:59:03.56 MA99xvB1
>>472
ソースは非公開でCentOS用のバイナリだけしか公開しないんなら、
Linux用じゃなくてCentOS用ってちゃんと書けよって思うよね
modinfoではライセンスGPLって表示されるくせにソースは公開してくれないみたいだし、
会社としていろいろと雑な印象

476:login:Penguin
14/07/01 00:08:54.22 F+DeUV5E
> modinfoではライセンスGPLって表示されるくせにソースは公開してくれない

雑って言うかそれライセンス違反じゃん

477:login:Penguin
14/07/01 01:08:46.62 sI+XcYWl
ソースの請求先がわかりにくくちっさく書いてて
請求しても音沙汰なしっていうケースはよく聞く

478:login:Penguin
14/07/01 02:06:00.44 QUQSWhvI
>>474
TRUNCATE TABLE

479:login:Penguin
14/07/01 10:52:56.19 Zy9veG3Z
>>470
放送が後ろにずれる場合であれば、
録画用のプロセス(recpt1とか)の起動にスクリプトか何かかませて、
EIT見て適当に眠ってくれるコマンド呼んだ後に録画開始するようにすれば、
ってのはだめ?

チューナの管理はまた別に考えないといけないかもしれないけど。

480:login:Penguin
14/07/01 18:39:53.25 e6olk3A5
>>479
単に後ろにずれるだけならそれで良いと思う
確かepgrecUNA版がやってるのもそれだったんじゃないかね

481:login:Penguin
14/07/01 18:41:10.82 Raq5LBsF
お手軽インターフェイスのパッケージをお願いします

482:login:Penguin
14/07/01 20:47:09.14 ezxEUewa
チューナーの空きを意識しつつEPGを更新して録画をやってくれるプログラムがあるといいわけかw。

483:login:Penguin
14/07/02 01:07:53.26 M5XTVbsQ
>>441

下のような構成でPX-W3PEを試してみました。
動作しますね。

・サーバー
CentOS 6.5 64bit (2.6.32-431.20.3.el6.x86_64)
PX-W3PE V1.2 (PX-W3PE_LinuxDriver_ver.1.0.0.zip 64bit asv5220_dtv.ko)
BonDriverProxy + BonDriver_ProxyPT.so (develop branch)

・クライアント
Windows8.1
TVTest + BonDriver_Proxy.dll

ただ、1チューナーに2接続以上すると不安定になる感じです。
TVTestが固まりサーバーでPacket Queue OVERFLOWが多量に出力され
しばらくするとBonDriverProxyが終了してます。
接続クライアント数に応じてFifoやQueueサイズを変更するってことですかね?

484:login:Penguin
14/07/02 09:59:48.42 cRaNnxwL
素人質問で申し訳ないですけど、
このスレでいうLinuxというのは、CentOSと思っていいのですか?
他のデストリビューションでは動きませんか?

485:login:Penguin
14/07/02 10:07:17.03 zT0wTg+q
がんばれば動くと思うけど。
W3PEの場合、CentOSのが動作報告多いってだけ(というか>>472辺りの話?)でね?
Chinachuは一応推奨がUbuntuだったりするし。

486:login:Penguin
14/07/02 10:22:42.31 AO9c6Mvs
>>478
遅ればせながらありがとう。
でも、その他にもいろいろうまく行かないところとかあって、結局DB作成しなおしてしまいました。
みんなはログ膨れ上がったらmysql操作して消してるの?

487:login:Penguin
14/07/02 12:36:53.34 eMEK3G9M
>>485
レスどうもです
しかしLinuxはよく分からんなぁ
動いたり動かなかったりラジバンダリ

488:login:Penguin
14/07/02 12:46:01.85 /3ZW/MrB
>>483
おお、ありがとうございます
3wpeの初期化は、一応はうまく行ってると言う事でしょうか…

> ただ、1チューナーに2接続以上すると不安定になる感じです。
> TVTestが固まりサーバーでPacket Queue OVERFLOWが多量に出力され
> しばらくするとBonDriverProxyが終了してます。
> 接続クライアント数に応じてFifoやQueueサイズを変更するってことですかね?

ありゃ
ウチでUbuntu 14.04 + PT3使って動かしてる分には、キューサイズ等は全部デフォルトのままで1チューナへの
複数接続(チューナ共有)の場合も含めて特に問題なく動いてるので、plexチューナ特有の何かでしょうか…?
ただ、大量の"Packet Queue OVERFLOW"はおそらくサーバからクライアントへのTSストリームを、クライアントが
読み出さない状態が続いた結果だと思うので、その辺を考えると、ネットワーク絡みの何かにも見えますね
#プロセスが終了するのはちとわかりませんが、上記の件の絡みで最終的にメモリ確保に失敗して…とかの線でしょうか

一応の確認ですが、1チューナに2接続以上と言うのは、CentOS上の同じBonDriver_ProxyPT.soをリクエストする
TVTest + BonDriver_Proxy.dllを複数起動したと言う事ですよね?

489:login:Penguin
14/07/02 12:52:18.97 /3ZW/MrB
>>483
あ、それから、もしWindowsでもチューナとそれにアクセスするBonDriverが使用できる状態であれば、良ければ以下を
試してみていただけないでしょうか?
1. WindowsとLinuxでそれぞれBonDriverProxy(サーバプロセス)を動かす
2. Windows上のTVTest + BonDriver_Proxy.dllからLinux側のサーバプロセスに対してBonDriver_Proxy.soをリクエスト
3. Linux上のBonDriver_Proxy.soはWindows側のサーバプロセスに対してチューナにアクセスするBonDriverをリクエスト
つまり、Windowsから一旦Linuxを経由して結局Windowsのチューナを使用しているだけですが、意図としては、
これが問題なく動くかどうかである程度の問題の切り分けができそうかな、と言うものです
#これに関しては、当方ではHyper-V上のCentOS 6.5で特に問題なく動作する事を確認しています

490:login:Penguin
14/07/02 15:14:41.72 OZyIazCq
>>485
epgrecUNA版もdebian系向けだった気がする

491:login:Penguin
14/07/03 00:07:17.50 LQRgd6Tw
>>488

>>483で1チューナーに2接続上と書いたのは、書いたときには正確な個数が
よくわからなかったからでして、動作確認として、TVTestを1個起動し、S0,S1,
T0,T1とBonDriver(チューナー)を切り替えて表示させると特に問題なく表示して
くれたので、嬉しくなってTVTestを1個、2個…と追加で起動していくうちに起こっ
たので何個からか良くわからなかったのです。まあ、最低2接続以上だろうという
ことで書いたのですが…。

(1)ノートPCで無線LAN(>>483の場合)

クライアントはノートPCで無線LANを挟んでいます。

クライアント : ノートPC (Windows + TVTest + BonDriver_Proxy_W3PE_S0.dll)
--- 無線LAN --- ルーター --- 有線LAN ---
サーバー : デスクトップPC (CentOS + BonDriverProxy + BonDriver_LinuxPT_W3PE_S0.so + PX-W3PE)

【ネットワーク絡みの何か】というのであれば見るからに無線LANが飽和しそう
です。それなら、転送量の多いBSをどんどん起動していけばそのうち起きそうです。
実際にやってみた所、BS4個目からTVTestの表示が壊れ始め、Packet Queue OVERFLOWの
メッセージが表示されました。推察どおりネットワークの問題で同一チューナー2接続
以上とか関係なかったです。

(2)デスクトップPCで有線LAN

だったらということで、クライアントをデスクトップPCにしCPUパワーをあげて
かつ有線LANでネットワークを安定させてみたところTVTestを7個程度起動して
もきちんと表示してくれました。ですので、間違いなくネットワークの問題で
PX-W3PEは関係ないです。さらに追加でPT3をサーバーに差して確認してみま
したが同じ結果でした。

492:login:Penguin
14/07/03 01:34:01.24 LQRgd6Tw
>>488

(3)BonDriverProxyプロセスの終了

再度確認したのですが、Packet Queue OVERFLOWのメッセージが
表示された後しばらくするとBonDriverProxyが終了するのではなく、
連続してTVTestを起動すると、最後に起動したTVTestがハングアップ
状態になります。そうするとメッセージが表示されます。ハングアップ
状態のTVTestを除いて、動作していそうなTVTestのうちどれか1個を
終了させると、同時にBonDriverProxyのプロセスが終了するという
挙動でした。

-g オプション付加して再コンパイル gdb上で実行、上の手順でプロ
セスが終了した際の出力です。

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread 0x7fffd35fe700 (LWP 31499)]
0x000000315d00ecdc in send () from /lib64/libpthread.so.0
(gdb) backtrace
#0 0x000000315d00ecdc in send () from /lib64/libpthread.so.0
#1 0x0000000000401db5 in cProxyServer::Sender (pv=0x607b70) at BonDriverProxy.cpp:632
#2 0x000000315d0079d1 in start_thread () from /lib64/libpthread.so.0
#3 0x000000315cce8b5d in clone () from /lib64/libc.so.6

こんな感じの挙動かなあと思ったりはしたのですが。
URLリンク(d.hatena.ne.jp)

>>489は後日確認してみます。

493:login:Penguin
14/07/03 13:18:45.72 a1vOG2RQ
>>491-492
詳しい確認ありがとうございます
どうやらネットワーク側の問題だったと言うところまで確認できたのなら>>489はもう必要なさそうです
w3pe対応に関しては大丈夫そうとの事で、developからmasterにマージしようかと思います

ネットワーク容量に関しては、BonDriverProxyの場合、デフォルトではTSストリームを定常送信している時
188*1024バイト(TSパケットのバッファサイズ)毎に16バイトのオーバヘッドが付く様になっています
なので、トラフィックの殆どがTSストリーム自身の物なのですが、それでもBSでは1TSストリームで24Mbpsとかになるので、
多数のストリームを送信すると無線では厳しくなってしまいますね

サーバプロセスが死ぬ件は、そのログから確かにSIGPIPEを無視してないからのようです
#元々Windows版からの移植なので対応忘れてました(;´Д`)
今グローバルなロック掛けてる処理をBonDriverのインスタンス毎に分ける形に変更してるところなので、
それと一緒に対応する事にしますね

494:login:Penguin
14/07/03 14:36:00.20 PkrsOdjH
Windows⇔Unix移植でシグナル関係はマジで鬼門…

495:login:Penguin
14/07/05 16:11:30.94 W/F+l3Z5
px-q3pe / CentOS 6.5 で 安定動作中。素晴らしいな。

>>441
plex.cpp (´▽`)アリガト!

496:login:Penguin
14/07/05 22:57:47.67 dQ8aHTrO
>>495
おお、plex.cppのq3peでの動作確認していただけたと言う事でしょうか
#recpt1で使用とかでしょうか?
お役に立ったのなら何よりです

なお>>493の件、対応完了しております
URLリンク(github.com)

497:login:Penguin
14/07/09 01:33:08.89 cvRDG/nS
PX-W3PEをwindowsで使っています
Windowsだと内臓ブースターの感度調整ができますが、foltia anime lockerでもできますか?

498:login:Penguin
14/07/09 02:08:23.38 ARuOD0a6
debian系で動かぬとは…

499:login:Penguin
14/07/09 02:18:52.63 xu7Dt0I9
unknownさん
confファイルのPACKET_FIFO_SIZE,TS_FIFO_SIZE,TSPACKET_BUFSIZEを変更すると具体的に何がどんな感じで変わりますか?
URLリンク(github.com)
TS Queue OVERFLOW : size[64]と出力されます。

500:login:Penguin
14/07/09 20:10:01.27 GgPhQLZW
>>499
TSPACKET_BUFSIZEはTSストリームをTSキューに放り込む際の一単位のサイズです
TSストリームをデバイスから読み出して、そのサイズまでバッファリングしてから一つのTSデータ用パケットとして
クライアントモジュールに送信します

PACKET_FIFO_SIZEは上記のTSデータ用パケットを含めた通信プロトコルのコマンドパケットのキューサイズです
#普通の使い方をする限り、定常送信中は全部がTSデータ用パケットになるでしょう

TS_FIFO_SIZEは、クライアントモジュールはTSデータ用パケットを受け取ったらTSキューに放り込んでいきますが、
それがアプリケーションに読み出されるまでの間保持しておくためのキューのサイズです
TSPACKET_BUFSIZE * TS_FIFO_SIZEがクライアント側モジュールでTSデータ用に保持される最大バッファサイズです

501:login:Penguin
14/07/09 20:14:02.70 GgPhQLZW
>>500の続きです

例えばネットワーク速度が安定せず、速くなったり遅くなったりするならPACKET_FIFO_SIZEを大きくするとドロップ
しなくなるかもしれません
しかし、絶対的に速度が足りていない場合は、大きくしてもキューサイズを超えるまでの時間が少し延びるだけでしょう

TS_FIFO_SIZEに関しても同じで、アプリケーション側の読み出し方次第です
新規データはサーバ側でどんどんデバイスから読み出され、クライアントモジュールに送られてTSキューに積まれて
いきますが、そのデータをアプリケーションが読み出さない場合、どこかでデータを捨てないとメモリを無尽蔵に
消費する事になるので、そのリミットとしてのTS_FIFO_SIZEです

sample.cppでやってるように、GetTsStream()で読み出したのをそのままファイルに書き出しするような場合は、
余程書き出し先デバイスが遅くない限りは問題にはならないハズです
しかし、読み出した後に同スレッドで何らかの時間の掛かる処理を行っていて、次の読出しまでにTSキューに新規データが
常に複数積まれていく様な状況だと、その内TSキューのサイズはリミットに達してしまうでしょう
この場合、とりあえずデータは読み込んでおいて時間の掛かる処理は別スレッドで、と言うのが王道かと思います
例えば、B-CASカードでのECM処理はかなり遅い部類の処理なので、TS読み出しスレッドとデスクランブルスレッドは
分ける、などのパターンですね
#libarib25を使用する場合は、確か内部に専用バッファを持っていたと思うので、面倒な事は考えなくても大丈夫かも
#しれません…が、未確認です

502:login:Penguin
14/07/09 20:17:23.99 GgPhQLZW
更に続きです

と言う訳で、PACKET_FIFO_SIZEもTS_FIFO_SIZEも、平均的には新規データの供給よりも速いペースでデータを捌けるけれど、
何回かに一回は時間が掛かる事があってその時にドロップしてしまう、と言う様な状況でいじると効果があるかもしれない
項目だと思っていただければ大体間違いないかと思います
捌く速度が新規データ供給よりも平均的に遅い場合には、これらのサイズを大きくしても多分時間稼ぎにしかなりません

TSPACKET_BUFSIZEに関しては、大きくしていくと、チャンネル変更の際などにそのサイズ分のバッファが溜まるまで
サーバからデータが来ないので、レスポンスが悪くなっていくでしょう
逆に小さくしていくと、レスポンスは良くなるかわりに各種オーバヘッドが大きくなっていくので、小さくしすぎは
意味が無いでしょう

大体こんな感じでわかるでしょうか…?

長文失礼しました

503:login:Penguin
14/07/10 00:29:04.36 Vdu/474/
>>500-502
詳しい情報ありがとうございます。
プログラマーではないので全ては理解できませんが、特に>>502で疑問点はおそらく解決しました。

最後に
URLリンク(github.com)
このサンプル設定はunknownさんの環境では十分なサイズなのでしょうか。

504:login:Penguin
14/07/10 07:02:22.93 1ScKKN6I
>>503
はい、ウチのテスト環境(Hyper-V上のCentOS6.5、Core i7 3630QMから仮想プロセッサ2つ割り当て、
HDDは容量可変VHDX形式)では、sample+BonDriver_Proxy(キューサイズ等の設定はデフォルト)によって
LAN(1000BASE-T)経由で他のマシンに刺さってるPT2を使って録画、と言うのが特に問題無く出来ています

topで眺めてる限り、上記環境+設定ではsample実行中のCPU負荷も殆ど上昇しない感じです
#これに関しては、想定使用環境を録画用サーバとすると、上記テスト環境は若干CPU性能が高い気はするので、
#参考程度の情報として下さい

505:login:Penguin
14/07/11 15:34:23.80 OUxv2+uD
>>504
ご親切な対応、本当にありがとうございました。

506:login:Penguin
14/07/11 15:59:09.38 dxK0BNE0
親切を敬語にすると煽られてる気分になるのはなぜだろう

507:login:Penguin
14/07/11 18:48:10.02 6ySvc8u0
unknownさん、 Pull RequestsとIssues見てくれるとうれしい。

508:login:Penguin
14/07/12 01:26:29.76 QUHdXLZV
>>507
今更ながら確認しました、ありがとうございます
GitHubの使い方良くわかってないのでなんとなくでやってみましたが、あんな感じで良いんでしょうか…

509:login:Penguin
14/07/12 21:48:40.06 SnB0zLWa
BonDriverProxy_Linuxに付属している sample.cpp をコンパイルして実行したところ
dlopen: Success と表示されファイルサイズゼロの aaa.ts しか作成されずに終了します。

./sample -b BonDriver_LinuxPT.so -s 0 -c 0 -t 10 -o aaa.ts
dlopen: Success

ソースを見て原因は BonDriverがロードできなかったためとわかったのですが、最初は
エラーメッセージだとは思えなかったので少しハマりました。

URLリンク(github.com)

perror("dlopen"); を fprintf(stderr, "%s\n",dlerror()); とかに変更すれば、まともなエラー
メッセージになってくれます。

BonDriver_LinuxPT.so: cannot open shared object file: No such file or directory

# BonDriverのロードが成功してから出力ファイルのopenをしたほうが
# サイズゼロの出力ファイルができないので自分としては好みです。

510:login:Penguin
14/07/12 22:47:38.33 9B3a+VZM
>>508
あんな感じで大丈夫だと思います。
(unknownさんの環境でも確認出来ているならば)

511:login:Penguin
14/07/13 00:00:43.87 n2Vjk8dB
-rdynamicいらんのけ?

512:login:Penguin
14/07/13 01:49:05.62 YTm9Pv5Y
>>509
確かにその通りですね
とりあえずサンプルはあった方が良いかなとサラッとつくったものなので、エラーはチェックだけやって
メッセージ周りはテキトーでした(;´Д`)失礼しました、修正しておきました

>>510
こんなマイナーなツールにPull Requestが来るなんて全然考えてませんでしたヽ(;´ー`)ノありがとうございました

>>511
確かに、sampleにはCentOS 5.4とかの古めの環境でコンパイル&実行するとダウンキャスト失敗すると言う事を
報告していただいて、-rdynamicオプション付けたんでした
その辺サーバも同じで付けておいた方が無難な気がするので、追加しておきました

513:login:Penguin
14/07/13 02:20:53.01 YTm9Pv5Y
>>511
と思ったんですが、どうもなんだかよろしくないみたいなので戻しました(;´Д`)
押し入れの中のLinkers & Loaders引っ張り出すべきか…

514:login:Penguin
14/07/16 00:16:08.34 todPSfmo
マザーボードG1.Sniper M5[URLリンク(www.gigabyte.jp)でfoltia ANIME LOCKERを使いたいと思っています。
このマザーボードにはNICとしてQualcomm® Atheros Killer E2201 chip (10/100/1000 Mbit)が採用されており、おそらくはこれが認識されていないために、foltia ANIME LOCKERが使えていません。

まずはインストールについてはURLリンク(aniloc.foltia.com)を参考にし、HDDが3台あったので下記のようにして何とか出来ました。

/home/foltia/perl/hddinstaller.pl -d /dev/sda -d /dev/sdb -d /dev/sdc -confirm yes -url URLリンク(127.0.0.1)

しかし、その後起動させても以下のように表示され、その後どうすればいいか分かりません。
________________________________________

foltia ANIME LOCKER
You can access URLリンク(foltia.local)<)

foltia login: Bridge firewalling registered
________________________________________

NICが認識されていればおそらくはDHCPによりプライベートIPアドレスが割り当てられ、ネットワーク上の他パソコンから操作できると思うのですが…

ちなみにE2201ではないですが、E2200については↓のようにlinuxでの動作はするようです
URLリンク(ubuntuforums.org)

このマザーボードでfoltia ANIME LOCKERを使う方法があればご教示ください。
因みに、拡張ボードには空きがなく、出来ればLANポート増設以外の方法がよいのですが…

515:login:Penguin
14/07/16 02:26:42.59 Rd9MnMt+
スレ違い乙

516:login:Penguin
14/07/16 08:34:24.03 zRntf19q
半板違い丙

517:login:Penguin
14/07/16 11:34:02.07 fMwVkLO8
甲乙丙丁

518:514
14/07/16 22:58:14.62 todPSfmo
初心者質問スレに行ってきます

519:login:Penguin
14/07/23 02:49:41.51 UIQy6iIM
Chinachuって追従するの?

520:login:Penguin
14/07/26 00:40:28.44 8ZSXKiqI
バカな質問で申し訳ないのだが、Chinachu+PT3で録画してます。
DLNAクライアントで閲覧してるんだが、字幕をONにしても表示されません。

これってそんなもの??

521:login:Penguin
14/07/26 01:47:32.37 t6v8y6+x
そんなもの

522:login:Penguin
14/07/26 13:54:08.49 4LQEoPJM
Linuxは細かいところの作り込みが甘い。
それぐらいよくある話。

523:login:Penguin
14/07/26 16:00:48.94 pZx1Q0T3
何の貢献もしないくせに上から目線で批評。
それもよくある話www

524:login:Penguin
14/07/26 19:15:45.99 t1mYoald
>>522はリーナスなんか問題にならいくらいの凄腕

525:login:Penguin
14/07/26 22:06:27.61 7IPYc6BL
なけりゃ自分で作れってだけの話

526:login:Penguin
14/07/26 22:53:20.19 lBpGoaG4
何がいけないのか調べずによく話ができるなぁ
優秀なエスパーさんが勢ぞろいなんですねw

527:login:Penguin
14/07/27 10:51:59.71 tY684ELH
>>520
とりあえず、recpt1のオプションに
--strip付いてると思うので除去してみては

528:login:Penguin
14/07/27 11:01:05.48 tY684ELH
>>527
すまん、--stripいれても字幕入ってた

529:login:Penguin
14/07/27 12:58:38.24 7ePzb8Np
>>520
使ってるDLNAクライアントがARIBの字幕に対応してるか調べてた?

530:login:Penguin
14/07/28 17:30:56.36 m/Vi1iyq
Chinachuの番組表で、どうも東海テレビが2列でちまうんだな…
1つルール作ったら予約済欄に2個予約されちまうぜ…
こういうときってどうすりゃいいでしょうか…

531:login:Penguin
14/07/28 21:37:01.16 E+3TlTnW
設定ファイルにチャンネル定義が二行でダブってるだけって愉快なオチに期待

532:login:Penguin
14/08/02 23:28:29.92 s+soKDEh
Chinachuって、重複が録画可能数超えてもなにも言わない?

533:362
14/08/07 22:00:24.80 GxNjbWzT
>>532
今試したけど、どんどん予約できた

534:login:Penguin
14/08/08 12:46:23.98 0t1JUWl+
おめでとー

535:login:Penguin
14/08/09 17:44:54.27 AsfeVmjW
録画できないー。

手動でrecpt1しても、数分ぐらいしかできない。
ログに↓がでるとだめだーーー。
systemd: Started PC/SC Smart Card Daemon.
  pcscd: 00000000 utils.c:53:GetDaemonPid() Can't open /var/run/pcscd/pcscd.pid: No such file or directory

CentOS7なんだけど、これじゃまずい?
さっぱりだ・・・・どうすればいいんでしょう?

536:login:Penguin
14/08/09 18:07:02.68 mQ8TOVgQ
エスパーの皆さん、出番ですよーw

537:login:Penguin
14/08/09 18:23:14.34 u8uxwlhZ
カーネルやドライバ等数分でコケる筈ないだろって場合はマザボや電源の劣化を疑ってみる
早い話ノイズ耐性や瞬発力が下がってる可能性がある

538:login:Penguin
14/08/09 18:26:02.51 rc5wPGdb
No such file or directory

でマザボや、電源?
os動かないだろ。

539:login:Penguin
14/08/09 19:16:47.45 /ZynO8Gm
>>535
pcscdはB-CASの解除だけにしか使わないから、動いてなくてもrecpt1は動く
pcscdが動いてないのは /var/run/pcscdがないかパーミッションか所有者がおかしいっぽいけど

540:login:Penguin
14/08/09 19:19:01.52 AsfeVmjW
>>539
おかしいな。。。
たとえば、recpt1で、10分とかオプションで指定(オプションでは600か)しても、
1分とか、3分ぐらいで勝手に録画が終わってしまう・・・
エラーはでてない

なぜだ・・・

541:login:Penguin
14/08/09 19:27:08.61 rc5wPGdb
その録画は出来てるの?再生出来る?

542:login:Penguin
14/08/09 19:29:56.44 AsfeVmjW
>>541
再生できます。

543:login:Penguin
14/08/10 02:28:06.50 f94X+Pf1
>>542
カードリーダー見失ってるのかも
そのメッセージでた直後に、lsusbとかpcsc_scanしてみて
あるいはやわらかい奴かな

544:login:Penguin
14/08/10 10:04:28.43 2FRObZti
>>543
どうも、例のログは関係ないらしい。
何もログでないのに、途中で止まる。なぜ・・・
ソースにデバッグコード入れるしかないのか。。。

545:login:Penguin
14/08/10 18:54:16.10 dPQJBXwC
すぐ再現できるならとりあえずstraceとかで何が起きてるか見てみてよ

546:login:Penguin
14/08/10 22:50:17.01 hcloJPEb
DVBドライバーを殺してないんじゃ?

547:login:Penguin
14/08/11 01:20:28.46 +lM8QzpO
天狗の仕業だ

548:login:Penguin
14/08/12 00:44:10.29 aAA1LoVC
パックスのしわざ

549:login:Penguin
14/08/12 06:20:34.08 m2fKpwXo
>>65

いちお情報としてかなり前のにレス
epgrec UNAで同じ症状が出たけどrecpt1をbuildし直したら取得できた

550:login:Penguin
14/08/12 17:42:52.81 FrmrUazc
BonDriverProxy_LinuxのサーバーにSpinelのTSOptimizerのような機能が欲しい・・・。

551:login:Penguin
14/08/16 11:26:43.18 g5+q7xCY
>>545
見てみたが。さっぱり。
途中から突然PT3からの読み取りがなくなっている。

違うディストリ試してみるか

552:login:Penguin
14/08/19 23:37:09.08 I4h+PUKm
ショボイパッチですが…
URLリンク(hg.honeyplanet.jp) へのパッチ
URLリンク(www1.axfc.net)

* ログメッセージ(dmesg)のプレフィックスを "PT1: " に統一 (pt3_drvと同様に)
* エラーやドロップが発生しなかった場合はその報告を省略
* モジュールパラメータdebugを変更できるように修正
例) echo 0 > /sys/module/pt1_drv/parameters/debug (ログメッセージを最小限に)

553:login:Penguin
14/08/20 00:06:57.56 YgoPyQnX
>>551
まずハードじゃないのそれ

554:login:Penguin
14/08/20 12:31:40.91 EMVxX4TT
>>553
ディストリをdebianにして、b25オプション外したら治った。
別原因で止まったりしたが、recpt1直接打ちはうまくいくようになった。

555:login:Penguin
14/08/20 20:27:01.17 g5L5m6zD
>>554
よく覚えていなけど、以前 ubuntu でも pcscd のとあるバージョンで不具合なかった?
それでパッケージのバージョンを古いのに固定していた時期があったと思うけど。それの可能性は?

556:login:Penguin
14/08/20 21:30:01.69 +tWqmdAb
うちは14.04でも固定してるよ。
不定期のタイミングでカードリーダを見失ってb25のデコードができなくなるから。

557:login:Penguin
14/08/20 21:55:37.22 g5L5m6zD
>>556
あれはデコードできなくなるだけなの?
だったら違うか

558:login:Penguin
14/08/22 03:16:22.15 ivHfULC0
BonDriverProxy_Linuxの作者さん、
リポジトリにあるメールアドレスはダミーですか?
libarib25関連のパッチを送ろうかなと思っているのですが。

559:login:Penguin
14/08/22 09:01:55.71 KFky9orq
プルリクすりゃええじゃん。(´・ω・`)

560:login:Penguin
14/08/22 19:32:41.76 MKqaNber
>>558
元々全然使ってないメールアドレスだったので存在すら忘れかけてました
さっき確認してみたら1か月以上放置してしまったメールとかが…(;´Д`)誠に申し訳ありません

パッチに関してはとても嬉しいのですが、実はデスクランブル機能関連は意図的に避けている部分なんです
特にサーバ部分に組み込んだら、理屈的にはデスクランブル済みのを公衆送信できるシステム扱いできてしまいますので…
こんなニッチなツールの事なんざ権利者さんも気にしねーよ、てのは全くその通りだとは思うのですが、
当方破城槌で石橋叩き、壊れちゃったらやっぱり危なかった渡らずに済んで良かった、と言う感じの
ポリアンナ的メンタルの人間です(;´Д`)

>>550
この間、サーバじゃなくてドライバに1サービス1チャンネル扱いする機能を追加してみたんですが、もしかして
これで用が足りたりしませんか?
#CAT(とEMM)まで削ったのはちとやり過ぎだったかなと思ってるので、それは残す方向に戻すべきかと思案中ですが

561:login:Penguin
14/08/22 19:51:30.29 ivHfULC0
>>560
同じ理由でプルリクエストではなくてメールにしようと考えてました(当方もチキンです)。
もう少し関連事項(ライブラリの使用だけでもアウトなのか等)を調べてからメールしようと思います。
一応パッチはrecpt1みたいな感じ(ユーザがライブラリをリンクしないと使えない)にしてあるのだけども。

562:login:Penguin
14/08/23 11:47:12.22 +GPqjlNx
>>560
util/testのチャンネル列挙ができないけどどこ見たらいい?
なんかch1から列挙しようとしてるみたいだけど、
これ地上波なのかBSなのかわからんのじゃないのかという気がする。
なんかまた俺が勘違いしているのか・・・・

563:login:Penguin
14/08/23 15:38:33.25 +GPqjlNx
>>562
conf間違ってた。気づかなかったわw

564:login:Penguin
14/08/24 13:12:03.09 pstTkKz2
たまにsyslogに PT3 invalid sync data って録画中に出まくって、その後録画止まるんだが、
これって単なるドロップ?
ドロップもして、止まるのはなんとならんか。。。

565:login:Penguin
14/08/24 23:03:33.33 VdOCmrwl
>>564
chardev版PT3ドライバでの話だと思いますが、PT3から取得したTSデータがおかしいとそうなります
そうなった場合、録画を止めるかどうかは録画アプリ次第ですが、仮に止めなくてもそれが発生してる間は
まともなデータは期待できないでしょう
ソフトではなくハード(PT3やメモリだけでなく、アンテナ、ケーブル、分波器等も含んだ何か)の問題ですね

たまになるだけって事なら、普段からアンテナレベルがギリギリとかなんじゃないでしょうか
とりあえずCN比確認してみるのが良いかと

566:login:Penguin
14/08/24 23:37:23.90 BqLcLvkb
アンテナレベルギリギリだとデータがおかしくなることがあるというのであれば、
それ込みで電波の仕様だよ。不正なデータは発生しうるという仕様。

だからこの場合は、できる限りドライバ内でフォールバックするようにしないと。

テレビがアンテナギリギリでシステムが停止する?
映像は映らなくてもシステム自体は停止しないでしょ?

567:login:Penguin
14/08/25 01:11:16.65 VF+oB84Q
>>566
いやだから、そうなってもドライバは単にアプリからのread()に0を返すようになるだけですよ
まさにフォールバックですね

録画が止まるならそれはread()が0を返したのを受けてアプリが終了してるだけでしょう
録画を止めるかどうかは録画アプリ次第と言うのはそう言う意味です
あるいは、録画終了時刻まで復帰しなかったら、ファイルだけ後から見れば途中で終了してるように見えるでしょうね

いずれにせよ、少なくともドライバには非は無いと思いますよ

568:login:Penguin
14/08/25 20:37:24.54 PCu13YIt
やっとchinachu & BonDriverProxy & TVTestでリアルタイム視聴&録画が出来るようになった
作るにあたってこの構成取ってるまとめサイトが無かったんで、まとめたら需要ってありますか?

569:login:Penguin
14/08/25 20:48:40.75 Zge50iv1
ありまーす

570:login:Penguin
14/08/25 20:55:04.22 MXNU2n50
>>568
是非お願いします!
いやマジで!!

571:login:Penguin
14/08/25 21:01:33.50 PCu13YIt
ではちょっと構成と画像、設定まとめます
色々無理くりやってるので、欠点もありますが...今運用している範疇で作ってきます

572:login:Penguin
14/08/25 21:52:06.88 MXNU2n50
ありがとうございます!
本当にありがとうございます!!

573:login:Penguin
14/08/26 11:04:05.20 PAMz3I9n
>>568
需要ないですよ

574:login:Penguin
14/08/26 21:36:19.94 BpOkUOJ2
>>568
是非お願いします!

575:login:Penguin
14/08/26 21:51:25.09 SH+I10L8
>>573
ちょっおまっっ
ちゃんと需要あるから全然あるから

576:login:Penguin
14/08/27 00:59:28.56 1MChGv8J
epgrecに対してのメリット デメリットや乗り換え指南とか有ると嬉しいけど
両方使い込んでないと難しいか

577:login:Penguin
14/08/28 00:34:23.36 u3Vrdj9d
かきこみ食い!

578:login:Penguin
14/08/28 00:36:33.79 u3Vrdj9d
誤爆したああ

579:login:Penguin
14/08/28 12:27:15.42 0cTXkwdI
安定して動いてるとなかなか新しいのに手出せないよね(´・ω・`)

580:login:Penguin
14/08/28 12:38:52.91 jFp4EclH
PT2の2枚差しでまだまだ行けます

581:login:Penguin
14/08/29 04:06:51.23 v3ONMbB+
URLリンク(www.dcc-jpl.com)
URLリンク(foltia.com)

なるほどなぁ~

582:login:Penguin
14/08/31 09:19:00.43 VMP6HcFa
>>565
なるほど・・・
その後、手動でrecpt1すると何事もなく無事なんだが・・・
たまたまなんだろうか。
BSで13.5dBぐらいは低いか?!

583:login:Penguin
14/08/31 11:45:26.47 xX+VaeoE
>>582
低いんじゃないかな
うちはBS/CSは16-18dBくらい

584:login:Penguin
14/08/31 11:52:49.66 VMP6HcFa
>>583
まじか・・・ さてどうしたものか。。。
分配しているテレビの方はSHARP表示で90/100とかあるんだけどな・・・・
分配の先が悪いのか。

585:login:Penguin
14/08/31 11:54:35.77 VMP6HcFa
Win版のPT3は、DMA転送の時に、CPU-DMAとかの同期APIがはいったけど、
もしかして、Linux版も同じようなことしないといけないのか・・・
わからんなぁ。

586:568
14/08/31 18:14:36.39 EugbJio5
遅くなりましたが、とりあえず個人メモを公開
かなり端折ってますので、わからなかったらスミマセン
URLリンク(blog.kickitout.net)

注意事項にも書いてありますが、B25復号ができないです
運用してみるとCASの都合からPCで復号したほうが良いので方法見つかるまでこのままです

あとはTVTest視聴中にChinachuのEPGスキャンが走ると
チャンネル変更されるのが面倒くさいくらいですが、録画優先のためこれは仕方がないかと

587:568
14/08/31 18:21:57.37 EugbJio5
>>576
epgrecは使ったことないですね

Chinachuを選んだ理由はルールによる自動録画とストリーミング再生でした
番組表についてはスクロールでしか画面遷移できないので、ここはepgrecが良いと思います

588:login:Penguin
14/08/31 19:17:14.51 vUw0Vf62
>>586
b25はパイプじゃダメなん?
/usr/local/BDPL/sample ~(略)~ | b25 /dev/stdin /dev/stdout 2> /dev/null

589:568
14/08/31 19:36:32.34 EugbJio5
>>588
試したんですが、駄目でした
まずchinachuにパイプ付きで実行させるとエラーとなり、
shellスクリプトで実行させても/dev/stdinが開けなくてNGです
(エラー内容は忘れました)

590:568
14/08/31 21:07:03.48 Tov9UBtf
あとはChinachuのrecordedCommandで録画後にB25復号させる方法もあります
もちろん録画後に行うので時間はかかりますが...
これ応用すると>>581の自動CMカットも行けそうですね

----------------------------
#!/bin/bash
B25=/usr/local/bin/b25

if [ $# -lt 1 ]; then
echo "$0 {recPath} {jsonProgram}" 1>&2
exit 1;
fi

# B25 decode
${B25} -p 0 -v 0 "$1" "$1.tmp"

if [ -e "$1.tmp" ]; then
if [ $? -eq 0 ]; then
rm -f "$1"
mv "$1.tmp" "$1"
else
rm -f "$1.tmp"
fi
fi

exit
----------------------------

591:login:Penguin
14/08/31 22:42:25.46 pPCOz4VV
BonDriverProxy_Linuxnのsample.cppにb25デコード追加パッチ
URLリンク(www1.axfc.net)

592:568
14/08/31 22:48:55.26 Tov9UBtf
>>591
早い C++学習してなくて諦めてました

593:591
14/08/31 23:57:03.92 pPCOz4VV
>>591 はb25デコード強制でちょっと良くないねってことで、
recpt1準拠のオプションに対応してみました。

usage: ./sample [--b25 [--round N] [--strip] [--EMM]] [-b bondriver] [-s space_no] [-c channel_no] ( [-t sec] [-o filename] )
--b25: Decrypt using BCAS card
--round N: Specify round number
--strip: Strip null stream
--EMM: Instruct EMM operation

URLリンク(www1.axfc.net)

594:568
14/09/01 00:16:30.09 PCe7o4Q1
有難うございます
既に今日だけで2つも課題(注意事項)が解決しました
BSだけは不明なため、申し訳ないですが各自でお試しください

595:591
14/09/01 00:47:49.14 a7hMx0Xw
>>593にミスがありました!
パッチ後の77行目、write を ::write に書き換えてください。(*ノェノ)

if (dbuf.size > 0) return write(fd, dbuf.data, dbuf.size);


if (dbuf.size > 0) return ::write(fd, dbuf.data, dbuf.size);

596:login:Penguin
14/09/01 01:01:21.97 BNTqI31W
元々のpatchの76行目を修正…でいいんですよね?

597:login:Penguin
14/09/01 03:26:06.65 O9repODI
何が入っているかわからんから
コードを理解してからやること。

598:591
14/09/01 10:38:32.04 a7hMx0Xw
>>596
はい。

すみません。
patchの56行目も同様のミスありました。
if (!valid) return write(fd, buf, count);


if (!valid) return ::write(fd, buf, count);


鬱だ氏のう(´A`)

599:login:Penguin
14/09/01 13:44:04.90 dFvWFsJ3
こういうのはpastebinでやろうや

URLリンク(pastebin.com)
スレ内で出てたパッチの修正済み

600:591
14/09/01 17:42:50.72 a7hMx0Xw
writeで書き込まれるバイト数が指定バイト未満になる場合が考慮されていなかった不具合を修正しました。
度々申し訳ないです。m(__)m
URLリンク(pastebin.com)

601:login:Penguin
14/09/01 17:59:55.44 a7hMx0Xw
毎度(ry
URLリンク(pastebin.com)

602:login:Penguin
14/09/01 19:22:22.10 RUZKEFrJ
>>601
これをBonDriverProxyに組み込んだら、
鯖のBCASだけで行けるのかな。
録画鯖にBCASつけてる人はクライアントはどうしてるんだろ。共有してんのかな。

603:login:Penguin
14/09/02 14:47:23.78 XL1oxIjN
>>601
@@ -75,7 +75,7 @@
ssize_t write(int fd, void *buf, size_t count)
{
if (!valid)
- return ::write(fd, buf, count);
+ return write_full(fd, buf, count);

sbuf.data = static_cast<uint8_t*>(buf);
sbuf.size = count;

604:login:Penguin
14/09/02 17:33:14.10 XL1oxIjN
ここまでのsample.cppへのパッチ + BonDriverProxy.cppへのパッチ
URLリンク(pastebin.com)

usage: ./BonDriverProxy [--b25 [--round N] [--strip] [--EMM]] address port (packet_fifo_size tspacket_bufsize)
e.g. $ ./BonDriverProxy 192.168.0.100 1192

--b25を有効にするときは、
デコード済みのストリームが外部ネットに漏れないよう十分配慮してください。

605:login:Penguin
14/09/02 23:39:48.14 XL1oxIjN
URLリンク(pastebin.com)
・ b25::set_b_cas_cardでエラーになる対策
・ b25::putが失敗した後ハマる対策
>>604のパッチを適用後にパッチしてください。

視聴中にチャンネル切換すると稀にストリームが滞る事があるようです。
#b25->putがARIB_STD_B25_ERROR_NO_PMT_IN_HEAD_32Mを返してる。
放っておけばそのうち流れだすので、とりあえず放置(;´∀`)

606:login:Penguin
14/09/02 23:59:03.15 XL1oxIjN
すみません。こっちで URLリンク(pastebin.com)

607:login:Penguin
14/09/03 06:35:33.40 ZY4L+Z2d
> -#define FILE_OFFSET_BITS 64
> +#define _FILE_OFFSET_BITS 64

…(;´Д`)
失礼しました
sample.cppの方も直しておきますね
と言うか、sampleがちゃんとサンプルとして機能してるみたいで良い感じですね
細かい事言えばpIBon->CloseTuner()後でも、pIBon->GetTsStream()でdwRemain(アプリによる読み出し待ちバッファ数)が
1以下である保証は無いです
#元のsample.cppがdwRemainが0になるまでループさせてるのはそれが理由です

608:login:Penguin
14/09/03 06:52:51.56 ZY4L+Z2d
>>604-606
サーバでのスクランブル解除はカードの処理能力がボトルネックになる場合があるから注意…
と思ってたんですが、今libarib25をナナメ読みした限りでは、あるサービスに対して最初のECMで購入済みか
チェックして、未購入だった場合は以降のECMはカードに投げない様にしてくれてるみたいですね
#win環境で一般的に使われてるB25Decoder.dllではやってなかったと思います
これならあんまり心配する必要は無さそう
#20チューナー同時稼働とかでない限り

ただその辺りも含めて、libarib25は内部的に色々と現在のTSストリームの状態を保持しているので、
チャンネル変更の際にはそれらの情報の破棄が必要でしょう

> 視聴中にチャンネル切換すると稀にストリームが滞る事があるようです。

の現象も、その内部情報破棄を行っていない事が原因だと推測します
対応としては、チャンネル変更のタイミングでb25->reset()を呼べば良いと思います
そうすればb25->put()やb25->get()でコケる事も無くなるかと

実装的には、b25を配信スレッドのローカル変数からcProxyServerのメンバ変数にして、m_pposなどと
同じ様な形で持つのが良いんじゃないでしょうか
b25の取得、release()及びreset()も、m_pposの場所に準じる感じで
#そこでなら排他ロックも掛かってるので

609:login:Penguin
14/09/03 07:04:53.15 ZY4L+Z2d
そう言えばこう言う話もある様ですが、
URLリンク(twitter.com)
これが普通に取り込まれて利用可能になったとしたら一つの目安となりますね
#本来的には、そんな事考えないで良いように法律の方でハッキリと線引きしておいて欲しいものですが…

610:login:Penguin
14/09/03 09:03:42.03 sZbKOuDA
ぐっとB25関係が進展したみたいですね。

Windows の BonDriver_HDP2とかはB25デコード後のTSが直接出てきた様な
記憶があるので、BonDriver側(BonDriver_LinuxPT.cpp)でデコード済みのを
返すというのは筋が悪いのですかね?

そうできたら、それより上にあるBonDriverProxy、sampleも特に変更しないで
良さそうな気がしてるのですが。

611:login:Penguin
14/09/03 10:43:10.73 vjzT1Nr4
>>609
その人は日本人ではないし、バイナリの配布も日本のサーバーを使わないと思うのだが。

612:login:Penguin
14/09/03 16:03:26.39 Z1VCVlkc
>>609
字幕パッチが取り込まれたり、ここにきてVLCのISDB対応が増えてるのはなんでだ?
SkyDriveに置いてあるOSX用独自ビルド、ここ半年のものでデュアルモノラルの分離が上手くいかない..

613:login:Penguin
14/09/03 17:11:31.39 qNJLyKdr
>>612
南米やアフリカで、ISDB規格が奮闘してるからではないかと。

614:login:Penguin
14/09/03 20:20:08.29 ZY4L+Z2d
>>610
個人的には録画あるいは視聴機能でやるのが一番シンプルで理に適ってるかな、とは思ってますが、
あえてサーバ側でやるなら、サーバ部分(BonDriverProxy)よりもドライバ部分(BonDriver_LinuxPT)に組み込む方が好みですね
ただ、正しく機能してる限りどこでやろうが結果は(そんなに)変わらないので、これはあくまでも当方の好みの問題です

実装は>>608に書いたサーバ部分でのモノとほぼ同様になると思いますが、b25をメンバじゃなくてグローバルで持てば
それで良さそうですね

>>611
そうなんですが、BLACKCASの様な実例もありますので…
配布にしても、公式サイトからはパッと見わからないだけで、実際は日本のミラー経由でダウンロードしてる事も
多いんじゃないでしょうか

615:login:Penguin
14/09/03 20:24:21.72 ZY4L+Z2d
>>586
> チャンネル設定を[0始まりのBonDriverProxy用]と[実chと合わせたchinachu用]の2つを定義

これちょっと驚きましたヽ(;´ー`)ノ考えてみれば確かに可能…
ただ、やっぱりChinachu側で設定するのが本来の形かなとは思います
S側でチャンネル数が多くなるとカブッてくるとこもありそうですしね

Chinachuを使った事ないので実際に可能かどうか良く知らないのですが、ソースをちょっと眺めた感じでは、
config.jsonのchannelsのchannelをBonDriverとしてのチャンネル番号に編集すれば行けそうに思いました

616:login:Penguin
14/09/03 21:01:00.41 JJSBj14D
VLCってフランス製だっけ?
フランスはアフリカ方面の移民が多いからかもね

617:login:Penguin
14/09/03 21:01:32.76 JJSBj14D
>>613
VLCってフランス製だっけ?
フランスはアフリカ方面の移民が多いからかもね

618:605
14/09/03 23:02:24.44 ZgkNyMVF
>>608
アドバイスありがとうございます!

> 対応としては、チャンネル変更のタイミングでb25->reset()を呼べば良いと思います

実装してみたのですが、b25->put()でコケることがあります。
ioctl(fd, SET_CHANNEL)が反映されたストリームを保障できれば良さそうですがどうしたものか(;´∀`)
# b25->reset()のタイミングでPurgeTsStreamも試みたのですが、改善せず


BonDriver_LinuxPT.cppにもb25を組み中です
STOP_REC → 空read → SET_CHANNEL → b25->reset() → START_REC
とすることで上手く動いているようです。たまーにコケますが(;´∀`)

619:login:Penguin
14/09/03 23:16:47.79 ZgkNyMVF
現状のを晒しておきます。
>>606からのパッチです。URLリンク(pastebin.com)

620:568
14/09/04 08:08:21.22 pIWfyEJi
>>615
本来はそれがベストなんですが、
BonDriverProxy以外の混在利用を考慮してChinachu側の
channnels設定はそのままにしました

BonDriverProxy OnlyでしたらChinachu側弄ったほうが楽ですね

621:login:Penguin
14/09/04 13:28:01.85 /tUehKy7
>>612
たまにはmplayerのことも思い出してあげて下さい ( >> 39 )

622:login:Penguin
14/09/04 17:15:39.11 D15wE/JR
b25パッチ、安定してきました。

本家最新(16c770ecf355e0155f49eb5a52766d30e6afe7d1)からの差分です。
URLリンク(pastebin.com)

環境変数 B25 を定義した状態でmakeするとデコーダあり版をビルドできます。
 $ B25=1 make


ドライバ(BonDriver_LinuxPT)でデコーダ有効にするには、confに
 #B25=1

を追記。(パッチ後のBonDriver_LinuxPT.confを参照)


BonDriverProxy, sampleは recpt1のb25関連オプションに準拠
 usage: ./sample [--b25 [--round N] [--strip] [--EMM]] ~略
 usage: ./BonDriverProxy [--b25 [--round N] [--strip] [--EMM]] ~略

623:login:Penguin
14/09/04 19:02:48.45 D15wE/JR
微修正
URLリンク(pastebin.com)

624:login:Penguin
14/09/04 20:32:53.92 vbqHHR+q
>>622-623
URLリンク(gist.github.com)
使ってくれないかな?
patch自体をgitで管理できるし
リビジョン間のdiffも見れるし。

625:login:Penguin
14/09/04 21:10:43.19 D15wE/JR
>>622-623をまとめたやつ
URLリンク(gist.github.com)

今後はここにpushすればいい?
垢作らないと更新できなさそうだけど(;´∀`)

626:login:Penguin
14/09/04 21:27:21.46 vbqHHR+q
>>625
垢作らないとダメなのか。
それじゃ使えないな・・・すまん。

627:login:Penguin
14/09/04 22:32:47.53 kpxJ/orl
>>626
Gmailかなんかで捨てアド取って、ダミー垢つくれば?

628:login:Penguin
14/09/04 23:30:51.11 FSjilAqd
epgrec_20111001.tar.gz をそのまま使ってると、
録画ファイルを削除してもサムネイルファイルが削除されずに残ってしまう件、

cancelReservation.php 下の方で、

@unlink($path);
@unlink($path.".jpg");

という箇所を、

@unlink($path);
@unlink(INSTALL_PATH."/".$settings->thumbs."/".basename($path).".jpg");

に書き換えたらサムネイルもきちんと削除されるようになったので、
とても今さら感がありますが、ここに記しておきます。

629:625
14/09/04 23:48:06.17 D15wE/JR
垢作ってforkしてみました。今後はこちらをフォローしていだければと。
URLリンク(gist.github.com)

>>607
>細かい事言えばpIBon->CloseTuner()後でも、pIBon->GetTsStream()でdwRemain(アプリによる読み出し待ちバッファ数)が
>1以下である保証は無いです
>#元のsample.cppがdwRemainが0になるまでループさせてるのはそれが理由です

↑を対策したものに更新しました。
#間違ってコード削っちゃってました

630:login:Penguin
14/09/05 01:15:51.00 xh94W/Rp
>>629
ありがとう!

631:login:Penguin
14/09/05 06:38:37.05 YWm7Cq3O
>>618
タイミングを逃した感がありますが、以前のバージョンに付いてです(;´Д`)
SET_CHANNELだけではデバドラ内のバッファがクリアされないみたいですね
こうなってくるとサーバモジュールだけで何とかするのは無理で、ドライバモジュール側で対策する必要がある感じですね
PT3のデバドラでは気持ち対応しようとしてるみたいですが…
STOP_REC -> START_RECはPT3のデバドラでは有効そうですが、PT1/2のデバドラでは効果無さそうな?(自信なし)

PT3で(ですよね?)STOP_REC -> b25->reset() -> START_RECで基本うまく行ってるのに、
> たまーにコケますが(;´∀`)
となってしまうのは、多分cBonDriverLinuxPT::TsReader()及びcBonDriverLinuxPT::TsSplitterのposをゼロに戻してないからかなと

しかし、ナナメ読みから流し読みくらいにレベルを上げてlibarib25読んでみたら、ストリーム変更への自動追従の仕組みも
ちゃんと入ってるみたいなんですが、どこでコケてるんでしょうね
調べてみるのも面白いかもしれません

632:login:Penguin
14/09/05 06:47:41.88 YWm7Cq3O
そんでもって、現状最新版での、面倒な事考えずにb25->put()し続けて急にb25->get()でバッファが
返って来なくなったらb25->reset()と言うのはシンプルで良いですねヽ(´ー`)ノ
真面目に完璧に対応しようとしたら、デバドラにパッチ当てるか、いったんデバイス閉じて開き直すとかの
微妙な形にするか、あるいはlibarib25のコケてる理由を特定して対応するか、みたいな感じになりそうなので、
この方法はかなりバランス良いナイスな実装だと思います

なお、>>629適用後のBonDriverProxy.cpp、448行辺りと498行辺りで、m_b25もコピーして下さいね
でないと、クライアント1接続 -> クライアント2が1とドライバ共有で接続 -> クライアント1切断 -> クライアント2切断
と言う流れでリークしちゃいます

気になったのはそれくらいでしょうか
confのパースも「=」が離れてても良くなってて素晴らしい…
#実は気になってたんですが、まあ良いかと放置してました(;´Д`)失礼しました

633:login:Penguin
14/09/05 19:00:47.72 AZWHso9+
>>632
> なお、>>629適用後のBonDriverProxy.cpp、448行辺りと498行辺りで、m_b25もコピーして下さいね
> でないと、クライアント1接続 -> クライアント2が1とドライバ共有で接続 -> クライアント1切断 -> クライアント2切断
> と言う流れでリークしちゃいます

対処しました。

本家様のレビューがあると安心ですね(*´∀`)

634:login:Penguin
14/09/06 01:41:41.05 FexPwWIJ
>>586を応用してsid指定で録画出来るようにしたいんだけど、sampleってチャンネルが3桁の数字には対応してないのかな?
例えばこういう感じにconfで設定して(USESERVICEID=1)

BS日テレ 141 6 0 141
BS日テレ 2 6 0 141

sample -b (BonDriver) -s 0 -c 141 でも sample -b (BonDriver) -s 0 -c 2 でも取得出来るようにしたい
現状は後者のみ動いて前者は0バイトのファイルが作成される

635:login:Penguin
14/09/06 01:50:18.50 FexPwWIJ
自己解決
BonDriver_LinuxPT.hのMAX_CHを適当に増やした所録画出来ました

636:login:Penguin
14/09/06 17:22:09.15 eO/pxnZ3
最新のパッチ当てた状態、オプション有効にして
sample実行するとPacket Queue OVERFLOW : size[0]
がでまくった上にプロセスが止まらないorz

637:login:Penguin
14/09/06 18:45:30.88 eO/pxnZ3
>>636
BonDriverProxy自体のソースが更新されててパッチ
あたってなかっただけでしたorz
申し訳ない

638:login:Penguin
14/09/06 20:48:29.03 zseocNOz
confパース部分のパッチです。 URLリンク(pastebin.com)
=は詰めて記述すれば済む話なので必要性は無いんですけど
本家でマージしていただければ幸いです。

639:629
14/09/07 06:18:05.44 ufRLo5FT
b25 patch for BonDriverProxy_Linux rev.4
B-CASカードが無い状態でストリームを流すとクラッシュするバグを修正しました。
デコード中のB-CASカード抜き差しに対応しました。

640:login:Penguin
14/09/07 06:33:59.10 9WNSn1qS
>>638
GitHubの方には反映してなかったんですが、ローカルでは>>632書いてから同じ事をやってしまっております…
#個人的な好みで若干型や関数/変数名を変更してますが
せっかくパッチ書いていただいたのにスミマセン(;´Д`)

641:login:Penguin
14/09/07 06:36:21.79 9WNSn1qS
それはともかく、libarib25の動き眺めてたら、チャンネル変更しなくても普通に番組の切り替えタイミング(PATの更新とか)に
get()結果のバッファサイズがゼロになる事もあるみたいですね
#厳密には、次のget()までにput()されたバッファの合計サイズに依存します
こう言う場合にreset()かけてしまうとドロップする事になるので、連続何回そうなったらreset()かける的な、
閾値みたいなのを設けた方が良いかなと思いました
上述の通り、put()するバッファサイズ依存なので、閾値はユーザが設定出来るようにしておくとかでしょうか…

642:login:Penguin
14/09/07 06:43:45.54 9WNSn1qS
あと、libarib25はPATの更新があった際に、当該PATをダブって出力しちゃうんですね
TVTest(と言うかBonTsEngine)では連続性指標のエラーになるので、1パケットドロップしてる様に表示されます
実際はデータが落ちてるわけではないので別に深刻な問題ではないのですが、個人的には気になるので対応してみました
当方と同じく気になる人は、
URLリンク(github.com)
で言うと、2054-2055行目のproc_pat()とgoto LASTの間に、
curr += unit;
を入れるとこの挙動はなくなります

ついでに言うと、2063行目も意味的にはsbuf.headじゃなくてsbuf.poolでしょうね
#こちらは最終的な出力結果に影響を与えるわけではなく、単にまるもさんの意図はこうだったんだろうな、と言う話です

643:login:Penguin
14/09/07 13:16:41.37 ufRLo5FT
>>640
いえいえwありがとうございます!

b25 patch for BonDriverProxy_Linux rev.5
>>641
resetするまでのしきい値を設けました。(現状は3回まで許容)
オプションで変更できたほうが良いかなとも思ったのですが取り急ぎ

644:login:Penguin
14/09/08 07:30:13.76 9KuKI2Lg
>>643
> オプションで変更できたほうが良いかなとも思ったのですが取り急ぎ

バッファサイズが小さな場合に大丈夫ならバッファサイズが大きな場合でも大丈夫なので、
小さめのバッファでビットレートの高いストリームやサービス数の多いストリームでも確実に大丈夫な回数を
指定しておけばそれで用は足りるかもしれませんね

回数を大きくしても、チャンネル変更時に>>605の問題↓
> 視聴中にチャンネル切換すると稀にストリームが滞る事があるようです。
> #b25->putがARIB_STD_B25_ERROR_NO_PMT_IN_HEAD_32Mを返してる。
が起こった場合にfail-safeが発動するまでの時間が延びる以外の問題は無いと思うので、多少大きめの値でも良いんじゃないかと

例えば、バッファのサイズをクライアントモジュールのデフォルト値である188*1024として、
問題が発生したストリームのビットレートを15Mbpsだとすると、仮に10回見送っても、
(188*1024*8*10)/(15*1024*1024)=約0.98で、オーバヘッドを考えても最長約1秒でreset()かかる計算です
#当然、ドライバモジュールの様にバッファの小さな(188*256)場合や、ストリームのビットレートが
#もっと高い場合にはもっと早めにreset()かかるでしょう
個人的にはこれくらいなら十分許容範囲かなと思います
#そもそも滅多に発生しない問題な気もしますし…

645:login:Penguin
14/09/08 07:42:44.54 9KuKI2Lg
それから、その問題の発生するそもそもの原因を考えてみたんですが、
以下の様なパターンで発生しそうな気がします
---
チャンネル変更

PAT更新検出

次回以降のput()ではfind_pmt()でPMT探しを始める

変更後のチャンネルで番組切り替わり、あるいは再度のチャンネル変更などでPAT再更新

find_pmt()ではそれを検出しないので、もう流れて来ない旧PATで示されたPMTを探し続ける

ARIB_STD_B25_ERROR_NO_PMT_IN_HEAD_32M
---
PAT/PMTの送出頻度は100msに1回以上と規定されているので、タイミングはシビアですが…
ただ、PMTが発見されても今度はfind_ecm()で同じ状態になるので、
こちらは結構有り得るんじゃないかなと思います

で、試しに上記の状況を再現するTSファイルを作成してb25に食わせたら、
やはりARIB_STD_B25_ERROR_NO_PMT_IN_HEAD_32Mで終了しました

対応としては、libarib25にパッチ当てる形になりますが、
URLリンク(pastebin.com)
な感じかなと思います
>>642の件も含んでます
上述のTSファイルをこのパッチ当てたlibarib25を使用するb25に食わせると、
意図通りの出力が行われるのを確認しています

646:login:Penguin
14/09/08 21:13:39.99 HcnwnBd6
閾値の件、了解しました。ありがとうございます。
ドライバのバッファサイズ(188*256)で現在観測中です。

>>645
ARIB_STD_B25_ERROR_NO_ECM_IN_HEAD_32MでコケてたTSも食わせてみましたが、
エラー無しです。ヽ(=´▽`=)ノ

647:login:Penguin
14/09/09 03:12:06.64 yZ6ry4LB
>>645
デコード出来ない

648:login:Penguin
14/09/09 21:16:21.74 mah88T5D
>>647
recpt1とB25からならデコードできてるけど、そっちでもダメ?
自分はlibarib25のパッチと関係なく、sampleからはデコードできないorz

あとWindows側のProxyの方で使用するBonDriverは何使えばいいんだろ
とりあえずBonDriver_pipe指定しているけど初期化に失敗するって出る

649:login:Penguin
14/09/10 07:25:05.47 dfnWCajE
もうちょっとだけ変えて、各種異常系に対応するパッチにしてみました
URLリンク(pastebin.com)
正常なデータに対する処理は、後述の箇所以外は前回のパッチと変わりません
#処理結果に影響しないビミョーな変更した部分はあります
##行末空白消したらdiffの出力がエラい事になってしまいました(;´Д`)

前回のパッチで、追加した部分でPAT更新を検知した場合、そのPAT自体は削除していたのですが、
よく考えたらこの場合は残した方が良いかと思ったので、残すようにしました
#削除しても、適切にTSを扱えるソフトならその次のPATを見つけるはずなので、
#どちらでも大して変わらないかもしれませんが…

>>647
どちらかと言うと、TSとしては一応正常だけど扱いがややこしいデータに対応する為のパッチで、
ごく普通の(変なタイミングでPATの更新が発生したりはしない)TSストリームの扱いに関しては
元のコードと(ほぼ)同じなので、このパッチでデコードできなくなるような理由は無いと思うんですが…

650:login:Penguin
14/09/10 07:38:25.75 dfnWCajE
>>648
基本的には、win環境で使えるチューナ使用の為のBonDriverを想定してます
当方ptTimerを使用しているので、BonDriver_ptmr.dllを使う事が多いです
他には、BonDriver_PT.dllやBonDriver_PT3.dllで動作確認とれてます

BonDriver_Pipeに関しては、ファイル読み込み担当のTvtPlayと名前付きパイプで通信しようとするので、
dllのみリモートで読み込む形になるBonDriverProxyでは機能しないでしょうね
基本的にTVTest+TvtPlayからの直接ロードのみを想定したBonDriverなのだと思います
リモートのファイルをTvtPlayで扱いたいなら普通にファイル共有で扱えますしね

651:login:Penguin
14/09/10 12:16:01.87 h/4bPT67
b25 patch for BonDriverProxy_Linux rev.6
* resetするまでのしきい値を8へ増やしました。
* BonDriver_LinuxPT デコード処理をfifo排他ロックの外に移動しました。

libarib25パッチのおかげで、当方の付け焼刃的対策は不要となりました。(感謝!)
一応まだ残してありますが、気になる方は、decode.cppの12行、30行をコメントアウトしてください。

652:login:Penguin
14/09/10 12:25:53.26 h/4bPT67
>>648
> 自分はlibarib25のパッチと関係なく、sampleからはデコードできないorz

ただ普通にmakeするとデコーダなし版となりますので、
$ make B25=1
としてみてください。

$ ldd sample
の結果に
 libarib25.so.0 => /usr/local/lib/libarib25.so.0
が有ればデコーダあり版です。

--b25オプションもお忘れなく。

653:login:Penguin
14/09/10 22:01:53.65 HBWVCRFn
>>652
ありがとうございます。
その辺は以下のとおり抜かりはないのですが、Makefileを変更しています。
具体的には-fPICオプションを追加いています。
理由はCentOS7でビルドすると-fPICオプションを要求されるためです。
これが原因でしょうかね・・・やっぱり。

$ ldd /usr/local/bin/bdpl/sample
linux-vdso.so.1 => (0x00007fffa39fe000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fd9183b5000)
libarib25.so.0 => /usr/local/lib/libarib25.so.0 (0x00007fd9181a9000)
libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fd917ea1000)
libm.so.6 => /lib64/libm.so.6 (0x00007fd917b9f000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd917989000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd91776c000)
libc.so.6 => /lib64/libc.so.6 (0x00007fd9173ab000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd9185c2000)

654:login:Penguin
14/09/10 23:44:33.56 5qzvJwkG
pcscliteいるんじゃね?

655:login:Penguin
14/09/11 00:07:37.65 iOdF7k0i
そう言うことなら諦めるかな…

656:login:Penguin
14/09/11 02:31:27.63 NUNJGGEc
$ ./sample -b $PWD/BonDriver_LinuxPT.so -t10 -s0 -c0 -o /dev/null

CreateBonDriver error: pIBon[(nil)] pIBon2[(nil)]
でハマったことがあったんだけど、

BonDriver_LinuxPT.so.conf が無かっただけというオチでした。

657:login:Penguin
14/09/11 14:56:21.94 1PhEHEVX
>>653
straceの結果を晒してみるとか。

>>654
柔糟

658:login:Penguin
14/09/14 02:59:48.87 K0oELrZz
recpt1@linux についての質問です。

CentOS 6.5にてrecpt1を長年使っていますが、
最近、recpt1やその他のプロセスがsystimeを
100~400%消費して、ほぼ固まってしまうようになりました。
1~10時間に1回ほどおこります。
nfsやsambaでアクセスしたときによく起こる気がしますが、
必ず起きるわけではないので気のせいかもしれません。

pt1_drv・recpt1 は pt1-c8688d7d6382
ハードは、i7-3770KにPT2 を2枚使っています。
心当たりのある方、ご助言お願い致します。

659:login:Penguin
14/09/14 16:00:55.00 n4ioxrWT
recpt1の最新、c8688d7d6382で録画したTSでは
それまで出ていた字幕が出てこなくなった
かと言ってepgrec unaは最新を使いたいし
解決方法はないものか

660:login:Penguin
14/09/14 16:04:48.84 TMCcFLS7
やはり録画環境ではWindowsに一歩二歩劣るな…

661:login:Penguin
14/09/14 17:15:09.94 9Azm8z+x
>>659
>>438-439

662:login:Penguin
14/09/14 19:37:17.32 n4ioxrWT
>>661
ありがとう。ビンゴでした!

recpt1-http.diff のパッチを当てて
tssplitter-apnd.diff を当てなければ
問題なし。

663:629
14/09/15 07:40:19.48 fRq1FtDk
b25 patch for BonDriverProxy_Linux rev.8

b25->get()の空バッファ連続数を数えてb25->reset()する方法を廃止し、
チャンネル変更したら遅延リセットを仕掛ける方法に変更しました。
#閾値=8では足りないケースがありました。スミマセン…

664:login:Penguin
14/09/15 19:31:03.59 u6m1Lwho
BonDriverProxy_Linuxを使ってるんだけど、何か勝手にプロセスが終了する…。
ログはこんな感じ
Sep 15 05:03:21 (サーバ名) kernel: BonDriverProxy[7667]: segfault at ffffffff00000008 ip 00007f9b16ee1f82 sp 00007f9b16c65bf0 error 4 in libc-2.12.so[7f9b16e6c000+18a000]

環境はCentOS 6.5でPX-W3PEで運用

665:login:Penguin
14/09/15 22:00:39.10 MUwzt1RE
>>664
おおう、SIGSEGV(;´Д`)
-gオプション付けてコンパイルしなおしてからcore残すようにして動かしてみて、
また発生したらgdbでバックトレースしてみてもらえますでしょうか…

666:login:Penguin
14/09/15 22:33:54.46 s0wJO8Cm
ここにfoltia ALを一定の期間サスペンドさせる方法が載ってる
URLリンク(airwhite.net)

もう一歩進めて、予約状況に合わせた終了・復帰をできるようにしたいです。
エンコードスクリプトの最後で
SQLでポスグレにアクセスして、次回録画開始時間を拾い、
それで再開時間を算出すればいいかなぁ

667:login:Penguin
14/09/19 20:42:59.53 vOYD3QP1
>>664
もしかして、てのを修正しました
#でも、1サービス1チャンネルモードで使用している時にしか影響しない問題だったので、
>>664さんがそのモードで使用していなかった場合は関係ない事になりますが

668:login:Penguin
14/09/19 20:46:54.21 vOYD3QP1
あと、いつぞや言っていたBonDriver_DVBを今更ながらつくってみました
GitHubのdevelopブランチの方にあげてるので暇な人は試してみていただければ…
#ただし動作確認はpt3_dvbでしかやっていません

669:login:Penguin
14/09/20 01:45:01.73 ZxbdrSSi
コンパイル通らない…新し目のカーネルじゃないとダメかな

BonDriver_DVB.cpp:601:17: error: ‘DTV_STREAM_ID’ was not declared in this scope

cat /etc/debian_version && uname -r
7.6
3.2.0-4-686-pae

670:login:Penguin
14/09/20 02:15:33.40 ZxbdrSSi
b25 patch for BonDriverProxy_Linux rev.9
BonDriver_DVBへの追加
#まだ当方でコンパイル通らない為、動作テストしてません(;´∀`)

671:login:Penguin
14/09/20 04:10:51.76 ZxbdrSSi
コンパイル通りました。pt2で動作確認。b25デコードもおk

BonDriver共有ツール総合
スレリンク(avi板:508番)

#ifndef DTV_STREAM_ID
# if defined(DTV_ISDBS_TS_ID)
# define DTV_STREAM_ID DTV_ISDBS_TS_ID
# elif defined(DTV_ISDBS_TS_ID_LEGACY)
# define DTV_STREAM_ID DTV_ISDBS_TS_ID_LEGACY
# else
# error
# endif
#endif

672:login:Penguin
14/09/20 06:30:31.15 ZxbdrSSi
重箱の隅ですが(;´∀`)
util/test.cpp
-#define FILE_OFFSET_BITS 64
+#define _FILE_OFFSET_BITS 64

673:login:Penguin
14/09/20 11:14:07.15 /wCqLEzE
testは名前変えてほしい。(´・ω・`)

674:login:Penguin
14/09/20 15:50:47.55 FTFEBESz
>>667
ありがとうございます。症状はあの後は出ていませんが、1サービス1チャンネルモードで運用していたので多分それだと思います。

675:login:Penguin
14/09/20 19:24:43.81 oCHzE0lG
>>671
おお、動作確認していただけましたか
ならその内にmasterの方にマージしますね

> 重箱の隅ですが(;´∀`)

失礼しました(;´Д`)sampleの時に気付いとけよって話ですね

676:login:Penguin
14/09/20 19:27:43.18 oCHzE0lG
>>673
所詮やっつけアプリで、殆どsample2みたいな物ですから(;´Д`)

>>674
おお、それなら原因を排除できた可能性はありそうですね
発生確率はデバドラのつくりによって変わると思われる問題だったのですが、
PX-W3PEで運用と言う事なので、確度もそこそこ高そうです

677:login:Penguin
14/09/20 20:45:52.68 ZxbdrSSi
BonDriver_DVB(earth_pt1)+TvTestですが、シグナルレベルが0dBのままですね。
視聴に問題がなかったのと、DVB初利用なのでそんなもんかと思ってたんですが
TsReader() ioctl(FE_READ_SIGNAL_STRENGTH) error: adapter0
でした。

678:login:Penguin
14/09/20 21:06:20.22 ZxbdrSSi
>DVB初利用なので
僕がDVBを使うのが初めてで、という意味です。#言葉足らずでスミマセン
DVBってシグナルレベル取得APIが無いのかな?とw

679:login:Penguin
14/09/20 21:28:58.29 qMZ361UH
>> 668

いいですね。とりあえずPT3以外で動かして見たので報告です。

Ubuntu 14.04.1 LTS
3.13.0-35-generic
BonDriverProxy
BonDriver_DVB.so
TvTest 0.7.23

・Friio白 (ISDB_T)
SetChannel() ioctl(FE_SET_PROPERTY) error: adapter4
とエラーが出力されて表示されません。

FriioはDTV_STREAM_IDに0を指定するとエラーになった記憶があるので
ISDB_T(地上波)に対してDTV_STREAM_IDを指定しない様にすれば良いかと
思います。PTXの場合もこっちでOKだったはずです。

prop[0].cmd = DTV_FREQUENCY;
prop[0].u.data = f;
prop[1].cmd = DTV_TUNE;

props.props = prop;
props.num = 2;

680:login:Penguin
14/09/20 21:30:35.21 qMZ361UH
>> 668,677

続きです。

・PT2 DVB
個人的には映るのならシグナルレベルはどうでもよいと思っていますが。

TsReader() ioctl(FE_READ_SIGNAL_STRENGTH) error: adapter0

シグナルレベルが取れていない様です。自分の調べた所では、シグナル
レベルを取得する方法がドライバによってまちまちでした。

FE_READ_SIGNAL_STRENGTH (Friio白)
FE_READ_SNR (PT1,2,3)
DTV_STAT_CNR (PT3 DVB V5 以上)

おまけにどういう単位で返すかがドライバ依存なので、まともなシグナル
レベルを取得するためにはドライバ側を修正しないといけないという印象
でした。例えば、FE_READ_SNRで取得した場合、PT3はハードウェアから
得られた生値だと思いますが、PT2ではCNRを計算して返している様です。
ただ実際に出力させると何かよくわからない値なのですが…。

681:login:Penguin
14/09/21 02:02:07.75 8glTzj28
>>679
> FriioはDTV_STREAM_IDに0を指定するとエラーになった記憶があるので
> ISDB_T(地上波)に対してDTV_STREAM_IDを指定しない様にすれば良いかと
> 思います。PTXの場合もこっちでOKだったはずです。

ありがとうございます
対応してみました

682:login:Penguin
14/09/21 02:04:10.07 8glTzj28
> シグナルレベルが取れていない様です。自分の調べた所では、シグナル
> レベルを取得する方法がドライバによってまちまちでした。
~~~
> おまけにどういう単位で返すかがドライバ依存なので、まともなシグナル
> レベルを取得するためにはドライバ側を修正しないといけないという印象
> でした

そうなんですよねー
当方が調べた結果もそんな感じでした
とりあえずFE_READ_SIGNAL_STRENGTH使ったのは、テストしたpt3_dvb(fd90fa5a16d07981b19d5e868ad9f463cee77989)の
内部実装が単にchardev版のラッパになってたので、生の値である事と、表示値の互換性が期待できるなと思ったからです
#↓このcastはちょっと無いなと思いましたが(;´Д`)
---
static int pt3_fe_s_read_signal_strength(struct dvb_frontend *fe, u16 *cn)
{
struct pt3_fe_s_state *state = fe->demodulator_priv;
return pt3_tc_read_cn_s(state->adap, NULL, (u32 *)cn);
}
---

683:login:Penguin
14/09/21 02:07:24.91 8glTzj28
…が、その後もうちょっと調べてみたらその次のバージョンではFE_READ_SIGNAL_STRENGTHに対してCNRを計算して
返すようになり、今のバージョンではFE_READ_SIGNAL_STRENGTHは削除されて、その処理はそのままFE_READ_SNRで
使用されるようになってますね…

意味的な正しさで言えば、シグナルレベルとして取得した生の値がどのような意味を持つかはHWによって異なる可能性も
ありそうですから、共通インタフェースでの実装としてはドライバ内でCNRを計算して返すのはもっともな姿勢かなとは思います
#そう言う意味では、現状のBonDriver_DVBの実装では仮にFE_READ_SIGNAL_STRENGTHでシグナルレベルが取得できても、
#意味のある値になるのはPT1/PT2/PT3だけかもしれませんね

しかし、v4lのAPIマニュアルからして、FE_READ_SNRで得られるdBの精度は書かれていませんし、FE_GET/SET_PROPERTYの方に
書かれてると思ったら、1/1000なのか1/10000なのかハッキリしません(;´Д`)
#1/10000の場合、int16_tでは3.27dB位までしか測れなくなるので、1/1000が正しいんじゃないかとは思いますが…

とりあえず1/1000が正しいと仮定して、FE_READ_SNRを使うモードを付けてみました
PT1/PT2を使ってる方や、pt3_dvbでも最近のを使ってる方は、BonDriver_DVB.cppのアタマの方の、
//#define USE_READ_SNR
のコメントを外してみると、何らかの値が得られるようになるかもしれません

684:login:Penguin
14/09/21 02:25:47.40 zlop0RNo
confで指定できれば良いですね

685:login:Penguin
14/09/21 08:15:08.73 gZdOl1Ws
>>668

URLリンク(github.com)
URLリンク(github.com)

自分がなぜそうしたのか記憶が曖昧なのですが…。
dvr0デバイスをオープンする際にはO_NONBLOCK をくっつけてたと思います。

dvr0 からデータが来なかった場合、readがブロックするからだったような
記憶があるのですが、今見ると正常ならlen=0とかなさそうなので意味不明な
ことを言ってるのかもしれません。

手元にPX-S1UD、Friio黒、MonsterTV HD もあるので動作確認できたら良いな
と思ってるのですが、カーネルモジュールのビルドが難儀ですね。Friio黒、
MonsterTV HDは2senのソースが古いので自分には無理だとしか思えないです。
PX-S1UDはカーネル3.15からデフォルトで有効の様ですが、ubuntu14.01の
3.13では再ビルドが必要ですね。考え方が安易過ぎますが、以前、IDだけの
変更なんだしバイナリ直接いじって既存の使わないデバイスID置き換えたら
良いよねとか思ってやってみたらどダメだったのですよね。

URLリンク(cgi20.plala.or.jp)
URLリンク(lxr.free-electrons.com)

Ubuntu14.01でPX-S1UD使えてる人っています?

686:login:Penguin
14/09/21 09:45:10.55 8glTzj28
>>684
たしかに使う立場を考えるとそっちの方が便利ですね
confの#USEREADSNRで変更できるようにしました

>>685
O_NONBLOCKを付けてないのは、つくり的にブロックされても構わないようにしているので意図してそうしています
標準でサポートされてない場合は、モノを持っててもそれを試す環境づくりが結構面倒ですよね…

687:684
14/09/21 10:52:10.93 hbHUwz2C
>>686
ありがとう

688:login:Penguin
14/09/21 11:32:44.72 gZdOl1Ws
>>681,683,686

Friio白で表示されました。
シグナルレベルも以下からダウンロードしたWindowsのBonDriver3.1と
ほぼ同じ値です。

URLリンク(www.friio.com)


作業しながら思ったことをだらだらと書いておきます。

Friio白の場合、DVBのシグナルレベルはFE_READ_SIGNAL_STRENGTHでのみ
取得可能ですので#USEREADSNR=0でOKです。FriioDVBドライバのソース眺
めましたがFE_READ_SIGNAL_STRENGTHで返しているのはハードウェアの生値
の様ですしチップも東芝でPTXと同じなのでCNRの計算式も共通なのかなという
印象です。

後、Linuxは関係ありませんが、#USESERVICEID=0の場合、#ISDB_TのVHF帯等の
チャンネル1-C63を削除して13-62を0からリナンバリングしないとTVTestで
チャンネルスキャンに失敗するのですが自分の環境特有の話でしょうか?
待ち時間を最大の10秒とかにしてもです。

チャンネル1-C63を削除したくなければ、TVTestのチャンネルファイルの方を
手動で作成すれば良いので特に困ってはいないのですが。

689:login:Penguin
14/09/21 12:58:05.39 bwPJwNB2
DVBの開発者の間でも以前RSSIやCNRの値の報告の仕方がバラバラであることが問題になって、
DVB API v5では DVT_STAT_SIGNAL_STRENGTH DTV_STAT_CNRなどの測定値には
単位をつけるようになってる。 一般的なのは0.001dB(m) (FE_SCALE_DECIBEL)
PT1やFriioのDVBドライバは新しいのに対応して改修されていないけど
今レビュー中のPT3は対応してるよ (RSSIとCNR)

あとFriiioはRSSIでCNRを返してるという間違いがそのままになってる

690:login:Penguin
14/09/21 14:37:32.75 8glTzj28
pt3_dvbの最新入れてFE_READ_SNRの動作の確認しようとしたら変な値返してくるので、
もう一回ちゃんとソース確認してみると、FE_READ_SNRでシグナルレベルを返してきてました(;´Д`)
> …が、その後もうちょっと調べてみたらその次のバージョンではFE_READ_SIGNAL_STRENGTHに対してCNRを計算して
> 返すようになり
は、デバッグログの出力時にそれやってるのの見間違いだった様です
しかし、
> 今のバージョンではFE_READ_SIGNAL_STRENGTHは削除されて、その処理はそのままFE_READ_SNRで
> 使用されるようになってますね…
はその通りなので、結果的にFE_READ_SNRでシグナルレベルを返すと言う状態になってる様です
つまり、>>680さんの書かれてた事がやっぱり正解でした

こうなるとおかしいのは明らかにpt3_dvb側なので、とりあえず、
URLリンク(github.com)
の400行目辺りと509行目辺りに、
---
.read_signal_strength = tc90522_read_snr,
---
を追加して、シグナルレベルを取得できるようにして使う感じでしょうか
#関数名はread_snrですが、シグナルレベル取得の関数です…

691:login:Penguin
14/09/21 14:40:10.31 8glTzj28
また、他のDVBドライバがどうかは知らないのですが、pt3_dvbはdemuxerのfd閉じる時に他のadapterにも
影響するようで、例えばadapter0とadapter2を両方使ってる時にadapter0のdemux0をclose()すると
adapter2側でドロップが発生する様です

これらの状況を考えると、PT3を使うなら少なくとも現状ではchardev版の方が良さそうな気はしますね

692:login:Penguin
14/09/21 14:55:16.35 bwPJwNB2
ちなみに >>689 であげてたPT3のドライバってのは pt3_dvbとは別の
URLリンク(www.spinics.net) (のフォローアップ)
のことです

FE_READ_SIGNTAL_STRENGTHのioctlを使うよりも DTV_GET_PROPERTYを使って DTV_STAT_SIGNAL_STRENGTH(かDTV_STAT_CNR)プロパティを読むようにするのがAPIv5のやり方 FE_READ_SIGNAL_STRENGTHの方は古いAPIなので
各ドライバ独自の形式で返してくる & 値がu16なので負値を返せない
(RSSI[dBm]は通常マイナスの値となるはず?) という問題があるよ
URLリンク(linuxtv.org)

693:login:Penguin
14/09/21 18:57:12.22 8glTzj28
>>688
使えたようで良かったです
チャンネルスキャンの件に関しては、TVTest側でどう判定してるのか調べてみないとちょっとわからないですねー

>>689>>692
まだまだインタフェース固め自体が過渡期って感じなんでしょうか
linuxを普通にデスクトップマシンとして使ってる人やっぱり少ないでしょうし、
あんまりモンクが出てこなさそうなのも一因でしょうか…

>>692で教えていただいたパッチ当てて使ってみたら、>>691の問題は発生しませんでした
これはやはり、pt3_dvbの固有の問題みたいですね
DTV_STAT_CNRでちゃんとCNRが返って来るのもソース/実行結果両方から確認できました

あと、>>692の後者のリンクは読んでたんですが、DTV_STAT_CNRの項目に
---
FE_SCALE_DECIBEL - Signal/Noise ratio is in 0.0001 dB units.
---
てあるのは、やっぱり桁間違いですよね?
#DTV_STAT_CNRで返す場合は__s64なので1/10000でも表せる最大値の問題は無くなりますが…

694:login:Penguin
14/09/21 19:01:58.65 8glTzj28
今後の方向はDTV_STAT_CNRだと教えていただいたのでそちらに一本化したいところですが、
やはりまだ対応してないドライバが多いと言う事で、結局CNR取得方法の選択肢を増やしました(;´Д`)
confの設定名が、#GETCNRMODEに変わっています
0 : FE_READ_SIGNAL_STRENGTH / 1 : FE_READ_SNR / 2 : DTV_STAT_CNR
です
すみませんが、以前のconfの#USEREADSNRをこれに置き換えてください

695:login:Penguin
14/09/21 19:06:51.75 8glTzj28
あと、pt3_dvbは>>691の問題がありますし、ソース読んでても気になる点がちょくちょくあるので、
個人的にはPT3でDVBドライバ使うなら>>692のリンク先の物をお勧めします
#無事本家にマージされると良いのですが…

696:login:Penguin
14/09/21 20:16:44.50 bwPJwNB2
>>693
statの報告については たしかに最近になって新インターフェースがv5に追加されてる
利用者がすくないせいで 最近になってアプリサイドから問題提起された感じじゃないのかな
だいたいlinuxのデスクトップ自体のシェアが1..2%で
その中でさらにDTVを見たい &ソース見て問題点を挙げる/改修する人の数は...

あとFE_SCALE_DECIBELの説明は桁間違いのはず;) 他のドライバも1/1000 dBで返してるので

697:login:Penguin
14/09/21 23:22:09.96 IdcCM2hP
TsSplitterの処理は全く同じなら統合したいねぇ。

698:login:Penguin
14/09/21 23:22:23.11 1RikBqg5
>666
わざわざDBにアクセスせずとも、atq で次回録画時間がわかったので、
URLリンク(airwhite.net)
・・・を書き換えてみました。

URLリンク(pastebin.com)

foltia AL 4.0.2で一応動作確認
at キューに入ってる直近の日時まで75分以上差があればサスペンドします。
EPG更新を考慮して予定の1時間前には復帰します。

foltia ユーザでの実行を想定してます。
中でsudo しているので /etc/sudoers への NOPASSWD 設定が必要です。

このシェルをどのタイミングで起動するかが課題です。

流れ無視して申し訳ないです。

699:login:Penguin
14/09/21 23:59:17.48 gZdOl1Ws
>>694

BonDriverProxy + BonDriver_DVB.so + PX-S1UD が Ubuntu 14.01 で動きました。

URLリンク(blog.lwlv.net)

ドライバのビルドは上記の手順ほぼそのままでOKでした。

ただ、微妙に不安定な感じで、電源ON時にきちんと認識してくれないことが多いです。
ドライバ、PC、PX-S1UDどれの問題なのかは未確認です。

#GETCNRMODE=2でCNRが取れます。ドライバソース眺めても返している様ですし。
TVTestの表示が30dBぐらいで同じアンテナ線につないだBonDriver_LinuxPT(PT3)
でもそのぐらいです。WindowsのBonDriverは70-80とか表示するのですが何を
返しているのでしょうね?CNR*2だと合わないですが。

SetChannel() timeout: adapter4

PT3と比べるとチャンネル変更が遅く感じます。なにかもっさりした感じです。
チャンネル変更時にBonDriver_DVBがたまにtimeoutしたと上のエラーを表示します。
ただ、そういう場合でもTVTestのチャンネル変更は成功して映像は表示されます。

URLリンク(github.com)

チャンネル変更が成功したかどうかを 250ms * 4 で最大1秒待っているのを * 8 の
2秒程度にするとtimeoutのエラーは表示されなくなりました。250ms * 4 は PT1DVB
の数値(tune.c)かな?と思いますがチューナーによってこの辺も微妙に違うのですね。

700:login:Penguin
14/09/22 03:35:08.27 RCw937p9
基本的な質問になるけど、CASを刺してない場合にストリームがヌルになって何も見れない
(後でb25使おうにも使いようがない)っていう
去年くらいのfuse_b25のクソ仕様は継承されてるのですかね?
この問題が無ければ、挑戦してみたいんだけど。
recpt1でやってます。

701:login:Penguin
14/09/22 19:23:09.90 DJmrXEBd
>>688
TVTestのチャンネルスキャンのタイムアウトは、TVTest内でのデッドロック由来みたいでした
TVTestはロックを取得してからイベントキューにチャンネル変更のリクエストを放り込みますが、
イベント処理スレッドでは、そのリクエストを処理する前に同じロックの取得待ちが発生する場合があります
こうなるとスキャンの待ち時間に関係なく必ずタイムアウトになるので、結果チャンネルスキャン失敗となるようです
TVTestのビルドスレは開発者の方も見てるみたいなので、報告しておきました

>>699
おお、よかった
チャンネル変更時の挙動は、チューナだけでなくドライバとかによっても異なりますね
PT3のchardev版では、受信できない周波数へのioctl(SET_CHANNEL)を行うと8秒ほど返って来なくなるので、
チャンネルスキャンにかなり時間がかかったりします
そう言う意味では、DVB版はチューナに合わせて調整しやすくて良いかもしれませんね

702:login:Penguin
14/09/23 21:08:12.24 4laAyCHM
>698
foltia AL の予約時間はatq で、
録画有無はrecpt1プロセスの有無で、
変換有無はffmpegプロセスの有無で判定できる。
後の課題は映像配信中かどうかの判定。
これさえできればcronで定期的にこのスクリプトを走らせればsuspend運用が可能になるはず。
(必要なときの電源ONはWoLを想定)

DLNAで配信してるか否かは localhost:8200 にhttpアクセスすればわかるけど、
ApacheでWeb配信しているかどうかが判定できない・・・。
netstat で httpの ESTABLISH を見ればいいと思ったけど、
Webプレーヤーで視聴中でも表示されないですねぇ。。。

なんかいいアイデアありませんかね?

703:login:Penguin
14/09/23 22:12:40.53 Nn7+SBVJ
個人的には、
一定時間sleepの前後で ifconfig eth0 の in と out を足して
一定以下なら rtcwake するのを動かしてる

再起動時には毎回手動だけど、vnc 上で

704:login:Penguin
14/09/23 22:21:28.22 4laAyCHM
>703
具体的にどんなコード書いてるか教えていただけないでしょうかm(__)m
再起動がVNCってのは intel vPro 付きのマシンでやってるってことですかね?

705:login:Penguin
14/09/23 23:30:54.94 Zj70CTbe
/proc/net/devを読むのはどうでしょう?
rootじゃなくても良いし…
-r--r--r-- 1 root root 0 Sep 23 23:28 /proc/net/dev

grep eth0 /proc/net/dev | sed 's/ \+/\t/g' | cut -f11

706:login:Penguin
14/09/24 02:00:15.45 MOmElMpN
/proc/diskstats でディスクの活動をチェックするのも良いかな

707:login:Penguin
14/09/24 02:04:13.28 /s6jH7eY
mod_statusでわからんか

708:login:Penguin
14/09/25 09:03:47.25 vw+3DDLO
みんなありがとう~
>703
rtcwake は知らなかった。 元スクリプトもそうだけど、
sudo sh -c "echo~ とやってて sh に対しての sudoers 設定が必要でした
 sh を NOPASSWD実行させるのはセキュリティ的にアレと思ってたけど、これなら良いですね

>707
foltia AL の CentOS6.5のApache2.2 には標準で読み込まれてるので
 ディレクティブ設定すればstatus取れました。
 でも、tcpdump してみてわかったけど、Web Playerは常時ストリーミング転送するわけじゃなくて
 一定期間ごとに直近映像ブロックをhttpで転送してコネクションを切っちゃうので
 有意な値を取れませんでした。。。

>705,706
 助言いただいたように、eth0 の L2レイヤのデータ転送量とディスク活動量をみて
 「なんとなく判断する」のが当面の解決策ですね。ありがとうございます。
 「使用中」と判断するしきい値をどうするかがtry&error ですね。

 >703 の事例を是非参考にさせていただきたく。。。
 

709:login:Penguin
14/09/28 01:17:03.47 kGukxwIm
Raspberry PiでPX-S1UDを
URLリンク(deepntechnical.blogspot.jp)
これを参考にドライバを入れました
そこにBondriver proxy_linuxを実行したところチャンネル指定時に
SetChannel() timeout: adapter0
と表示され映像が映りません。
何が原因かわかったら教えていただきたいです。


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