トップページ⇒linux
984コメント395KB

【視聴・録画】Linuxでテレビ総合3【デジタル/アナログ】

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001login:Penguin2010/03/31(水) 10:44:36ID:4aqu6AiD
Linuxでテレビ視聴・録画に関する話題を、デジタル/アナログ問わず扱うスレッド

【関連スレ】
Linux でビデオ録画【六枚目】
http://pc11.2ch.net/test/read.cgi/linux/1193058543/
【自家製】MythTV Part.3【HDDビデオ】
http://pc11.2ch.net/test/read.cgi/linux/1223721998/
【BT878】Linuxでのキャプチャを語るスレ
http://pc11.2ch.net/test/read.cgi/linux/1017186805/
Linuxでfriio
http://pc11.2ch.net/test/read.cgi/linux/1213378360/

【前スレ】
【視聴・録画】Linuxでテレビ総合2【デジタル/アナログ】
http://pc11.2ch.net/test/read.cgi/linux/1253880711/

【過去スレ】
【視聴・録画】Linuxでテレビ総合【デジタル/アナログ】
http://pc11.2ch.net/test/read.cgi/linux/1231189481/
Linuxでテレビを見る
http://pc11.2ch.net/test/read.cgi/linux/1013649811/
0975login:Penguin2010/12/31(金) 02:18:09ID:bWZuP1Uc
>>944, 974
ログ見ました お手数お掛けしてます.
fuse_b25のログを見ると 確かにPMTが来てなかったり(adddebugの方) ECMが来てなかったり(del_outputbuf)してますね.
とくにPMTがなかなかこないってのは妙ですね
fuse_b25側からは特にエラーとかは上がってきてないので 本当にデータが入ってきてないのだと推測されます.
それがfuse_b25側の不具合のせいなのか,
それともMythTV内でフィルタリングするようDVBに指示してるのか
チューニング後にデータが出てくるまでもっと待つ必要があるのか....
いずれにせよ mythtvの方のソースも調べてみないいけないかも... もう少し調べてみます

あと同じfuse_b25を通しているのに tune/catだとすぐにPMTもECMも入力されてます
"tune"には具体的にはどういうプログラムを使ってるのでしょうか tzapみたいの?
チャンネル設定ファイルも mythtvと同じフォーマット・値なんですよね
09769742010/12/31(金) 08:52:32ID:Mku8ZhVK
>>975
確認ありがとうございます
tuneはdvb-pt1-testのプログラムです。mythtvはフルスキャンで認識させたものでフォーマットは違います。
0977login:Penguin2010/12/31(金) 14:20:45ID:JAtZAHE8
TV
0978login:Penguin2010/12/31(金) 14:21:26ID:JAtZAHE8

0979login:Penguin2010/12/31(金) 14:25:08ID:JAtZAHE8
【視聴・録画】Linuxでテレビ総合4【デジタル/アナログ】
http://hibari.2ch.net/test/read.cgi/linux/1293388638/
0980login:Penguin2010/12/31(金) 14:32:12ID:JAtZAHE8
1000
09819752011/01/01(土) 13:55:53ID:xRYyON5M
>>976
MythTVのソースをちょっと覗いたのですが やはりMythTV内では
fuse_b25が想定してなかった/無視してた方法でDVBデバイスにアクセスしてるのが原因のようです.

他のアプリとかは DVBデバイスにフィルタリングをさせず全PIDを出力させて
アプリ側で取捨選択することが多いのですが, MythTVではまずPAT(PID:0)だけフィルタリングさせて
PATを取り出し, 次に必要なPMTのPIDみフィルタリングに追加, -> PMT受信したらその中の映像/音声PIDを追加
という風に, 必要最小限のPIDのみ出力するよう 順次フィルタリングに追加していく,という方法になってるようです.

一方fuse_b25の方は DVBのdvrNから出力されているデータを観測してデスクランブルしてますが
自身ではDVBへの出力指示に関知しておらず, アプリ側が指示して出力されてきたデータしか見られません.
しかも0.2.1から PAT,PMT,ECMすべて揃うまでアプリへ出力しないようにしてるため
MythTVから見るとpatのフィルタリング指示を出したのに(PMT,ECMはdvrNへは流れてこないため)何も出力されない,
という結果になってしまいます.
一つ前のver0.2.0の場合はMythTV側の意図通りPAT,PMTの順で出力され, 映像/音声のESもdvrへ流れてくるものの,
MythTV側ではECMを出力するよう指示しないので, 結果としてデスクランブルできず, MythTVへは出力されないということになります.

対策としては以下のようにいくつか考えられますが、ちょっと根本的な設計の面からどうしたらよいか 考えないと...
1) fuse_b25が /dev/dvb/adapterN/demuxMにもかぶさるようにして, ビデオや音声のPESが出力されるようdemuxに
フィルタが設定された場合, 自動的に対応するECMもDVBから出力されるようにする, or
全PIDをDVBから出力させfuse_b25側でフィルタリングを代わりに行う
2) fuse_b25側でとにかく全PIDを出力させるようDVBに指示する
(fuse_b25からは どのdemuxMからdvrへ出力されてるか分からないので, 決め打ちするしかない問題あり)
3) MythTV側でECMも出すor全PID出すようDVBに指示する (さらにMythTV側でデスクランブルするようにする?)

1)が本道なんだろうけど大掛かりだし... DVBやMythTVのユーザの方からも アイデアやご意見があれば聞かせて下さい.
0982login:Penguin2011/01/01(土) 20:14:32ID:wcZXi7MV
4) fuse_b25 は demux0 を開いて demux0 から PAT, PMT, ECM を読む (DMX_OUT_TSDEMUX_TAP)。
MythTV も demux0 を開くが dvr0 から読む (DMX_OUT_TS_TAP)。

という手もあるね。

でもめんどうなら 2) でいいんじゃないかしら。
(問題あり、って書いてるけど、どういう問題なのかよくわからない。
dvrM が open されたら demuxM を ioctl すればいいんじゃないの?)
09839762011/01/01(土) 20:18:17ID:CUG27yWE
>>981
元日からありがとうございます。何かテストが必要なら言ってください。

はやく規制解除されないかなぁ。。
0984login:Penguin2011/01/01(土) 23:32:50ID:xRYyON5M
>>982-983
demuxN -> dvrM の場合 常に N==Mだったですね 勘違いしてた.
# そもそもPT1/2のドライバは 複数チューナーを1つのadapterデバイス下に置くタイプじゃないけど

2') fuse_b25からもdvrNへ(OUT_TS_TAP)選択的にPAT,PMT,ECMを流すようdemuxNへ指示を出す
というのも多少楽そうだけど, dvrNに入ってきたPAT,PMT,...はフィルタリングして捨てておかないと
最終的にMythTVが追加するPMTとかとダブって混乱しちゃうかもしれない....

4)の場合は, mythtvも 条件によっては section filterを使ってdemuxNから読む場合があるように見えたので
fuse_b25とMythTVのdemuxMへの同時アクセスも 一応OKだったはずだけど確認しとかないと.
pollで両待ちしなきゃいけないとか セクションフィルタのダブリ管理とか
軟弱素人プログラマな私には若干がかかりそうですが, とりあえず 4)か2)の方向で検討してみようかと思います.
レス数が950を超えています。1000を超えると書き込みができなくなります。