トップページ > Linux > 2014年06月23日 > DN2vhIfe

書き込み順位&時間帯一覧

7 位/154 ID中時間01234567891011121314151617181920212223Total
書き込み数2000000000002000000100005



使用した名前一覧書き込んだスレッド一覧
login:Penguin
【視聴・録画】Linuxでテレビ総合9【デジタル/アナログ】

書き込みレス一覧

【視聴・録画】Linuxでテレビ総合9【デジタル/アナログ】
424 :login:Penguin[sage]:2014/06/23(月) 00:39:47.52 ID:DN2vhIfe
>>422
例えば以下PT3一枚の例で話すと、まずBonDriver_LinuxPT.soは物理デバイスと一対一なので四つコピーをつくります
で、それぞれ用にconfもコピーして、使用デバイスに対応させます
e.g.
BonDriver_LinuxPT-S0.so
BonDriver_LinuxPT-S0.so.conf -> /dev/pt3video0を指定
BonDriver_LinuxPT-S1.so
BonDriver_LinuxPT-S1.so.conf -> /dev/pt3video1を指定
BonDriver_LinuxPT-T0.so
BonDriver_LinuxPT-T0.so.conf -> /dev/pt3video2を指定
BonDriver_LinuxPT-T1.so
BonDriver_LinuxPT-T1.so.conf -> /dev/pt3video3を指定

この時点でもサンプルからBonDriver_LinuxPT-S0.so等を指定すれば使えます
【視聴・録画】Linuxでテレビ総合9【デジタル/アナログ】
425 :login:Penguin[sage]:2014/06/23(月) 00:42:26.76 ID:DN2vhIfe
で次に、クライアント側のBonDriver_Proxy.soは、基本的には対象BonDriverと一対一なので、これも四つコピーをつくります
そのそれぞれのconfは、上でつくったBonDriver_LinuxPT.soのコピーをそれぞれ指定します
e.g.
BonDriver_Proxy-S0.so
BonDriver_Proxy-S0.so.conf -> BonDriver_LinuxPT-S0.soを指定
BonDriver_Proxy-S1.so
BonDriver_Proxy-S1.so.conf -> BonDriver_LinuxPT-S1.soを指定
BonDriver_Proxy-T0.so
BonDriver_Proxy-T0.so.conf -> BonDriver_LinuxPT-T0.soを指定
BonDriver_Proxy-T1.so
BonDriver_Proxy-T1.so.conf -> BonDriver_LinuxPT-T1.soを指定
また、confのADDRESSとPORTはもちろんBonDriverProxyを起動した際の引数と同じものを指定します

この状態で、サンプルからBonDriver_Proxy-S0.soを指定すれば、プロキシを通してBonDriver_LinuxPT-S0.soが使用され、
BonDriver_Proxy-T0.soを指定すればBonDriver_LinuxPT-T0.soが使用されます

サンプルからBonDriver_Proxy-S0.soを使用中に、別端末からサンプルをやはりBonDriver_Proxy-S0.soを指定して起動すると、
BonDriver_LinuxPT-S0.soが共有され、/dev/pt3video0からのTSストリームが両方に配信されます

とまあこんな感じですがわかるでしょうか
【視聴・録画】Linuxでテレビ総合9【デジタル/アナログ】
428 :login:Penguin[sage]:2014/06/23(月) 12:23:34.00 ID:DN2vhIfe
>>427
> よくわからないんだけど、BonDriver_DVBができたら種類の異なるチューナを隠せるんかな。
> 例えば、PT3とFriioを持ってるとき、PT3が埋まってたらFriioを使うとか。

元々BonDriver層はPT3やFriioみたいに別のデバイスの差異を吸収するための物ですから、DVB対応かどうかは関係なく、
アプリからはチューナの差異は隠される事になります
しかしDVBによってそれらのデバイスが同じインタフェースで扱えるのなら、それのインタフェースに対応するだけで
複数デバイス対応のBonDriverになるので、その分開発の手間が減って助かるでしょうね

チューナが使われてるかどうかまで管理するかどうかは実装次第ですが、どっちかと言うとアプリ側に任せるのが普通です
ただこの場合、例えば録画アプリが使おうとしてるチューナを別プロセスが使ってしまうと録画失敗する事になるので、
そうならないようにのチューナ共有アプリのチャンネルロック設定です
#もっとも、チューナを使う全部のアプリが共有アプリ経由でアクセスしないと管理できませんが…
【視聴・録画】Linuxでテレビ総合9【デジタル/アナログ】
429 :login:Penguin[sage]:2014/06/23(月) 12:32:08.06 ID:DN2vhIfe
> スクランブルについては、法的問題以外に純粋に作りの話として、
> 外部にした方がいいんじゃなかろうか。
> ま、それは感覚の問題だけど。

その辺は当方もそう思ってます
一つの全部入りの大きなプログラムより、小さな専用ツールを組み合わせて使う方が、何かと小回りが利くので好きです

例えば今あるサンプルを特にいじらなくても、スクランブル解除して保存したいなら
$ ./sample -b ./BonDriver_Proxy-S0.so -s 0 -c 17 -t 60 | b25 -v 0 -p 0 /dev/stdin /path/to/file.ts
みたいな感じで行けますし、vlcにudpストリーミングしたいなら
$ ./sample -b ./BonDriver_Proxy-S0.so -s 0 -c 17 | b25 -v 0 -p 0 /dev/stdin /dev/stdout | nc -u 192.168.0.101 12345
で行けますね
#ncはudpでのこう言う用途に関しては微妙な気もしますが

録画やチャンネル変更用のアプリからは、こんな感じでサンプルに適切な引数付けて起動したり殺したりするだけで
良いワケですから、PTユーザに関しては、ある意味BonDriver対応は既に出来てると言えばできてますね…
#この例のままでは、クライアントが多数接続してくるとB-CASカードの処理能力の都合でデスクランブルが
#間に合わなくなる可能性はありますが
【視聴・録画】Linuxでテレビ総合9【デジタル/アナログ】
432 :login:Penguin[sage]:2014/06/23(月) 19:27:50.38 ID:DN2vhIfe
>>430
ああ、大抵の実装ではあるデバイスがあるアプリから使用されているのを、別のアプリからオープンしようとすると
失敗するので、「試してみればわかる」のはまあ可能なんですが、録画失敗を避ける為にはそれじゃダメですよね
「チューナの録画での使用予定まで全アプリで協調して制御する」あるいは「使われてても強制的に奪う」事が必要になります
前者は多分無理なので、結局チューナへのアクセスは必ず何らかの管理機構を通して行い、その管理機構が後者の処理を
行うのが現実的、と言う事になります
例えばepgrecが、録画が始まるとリアルタイム視聴用に起動してたrecpt1を殺すとか、そう言う話ですね

チューナ共有アプリのチャンネルロック設定も効果としてはこれと似たような物ですが、プロセスごと殺すのではなく、
視聴用のクライアントからそのチューナのチャンネル制御権を奪うと言う物ですね(録画と視聴チャンネルが同じなら、
そのまま視聴が続けられます)

>>431
> Spinelしか使ったことないけどBonDriverProxyがSpinel相当ならば
> BonDriverProxy側で排他制御してくれるから全チューナーをBonDriverProxy通して使ってれば
> 録画、視聴アプリ側では排他制御は気にしなくてもいいでしょ

これは(どのクライアントが録画用/視聴用かが正しく設定されていれば)その通りです

確かにBonDriver全般の話とチューナ共有ソフト(今の場合はBonDriverProxy)の機能の話が混ざっちゃってる気がしますね
Linuxユーザにはどちらもなじみの無い物かもしれないのでしょうがない部分もあるとは思いますが


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。