【視聴・録画】Linuxでテレビ総合3【デジタル/アナログ】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001login:Penguin
2010/03/31(水) 10:44:36ID:4aqu6AiD【関連スレ】
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:Penguin
2010/12/31(金) 02:18:09ID:bWZuP1Ucログ見ました お手数お掛けしてます.
fuse_b25のログを見ると 確かにPMTが来てなかったり(adddebugの方) ECMが来てなかったり(del_outputbuf)してますね.
とくにPMTがなかなかこないってのは妙ですね
fuse_b25側からは特にエラーとかは上がってきてないので 本当にデータが入ってきてないのだと推測されます.
それがfuse_b25側の不具合のせいなのか,
それともMythTV内でフィルタリングするようDVBに指示してるのか
チューニング後にデータが出てくるまでもっと待つ必要があるのか....
いずれにせよ mythtvの方のソースも調べてみないいけないかも... もう少し調べてみます
あと同じfuse_b25を通しているのに tune/catだとすぐにPMTもECMも入力されてます
"tune"には具体的にはどういうプログラムを使ってるのでしょうか tzapみたいの?
チャンネル設定ファイルも mythtvと同じフォーマット・値なんですよね
0976974
2010/12/31(金) 08:52:32ID:Mku8ZhVK確認ありがとうございます
tuneはdvb-pt1-testのプログラムです。mythtvはフルスキャンで認識させたものでフォーマットは違います。
0977login:Penguin
2010/12/31(金) 14:20:45ID:JAtZAHE80978login:Penguin
2010/12/31(金) 14:21:26ID:JAtZAHE80979login:Penguin
2010/12/31(金) 14:25:08ID:JAtZAHE8http://hibari.2ch.net/test/read.cgi/linux/1293388638/
0980login:Penguin
2010/12/31(金) 14:32:12ID:JAtZAHE80981975
2011/01/01(土) 13:55:53ID:xRYyON5MMythTVのソースをちょっと覗いたのですが やはり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:Penguin
2011/01/01(土) 20:14:32ID:wcZXi7MVMythTV も demux0 を開くが dvr0 から読む (DMX_OUT_TS_TAP)。
という手もあるね。
でもめんどうなら 2) でいいんじゃないかしら。
(問題あり、って書いてるけど、どういう問題なのかよくわからない。
dvrM が open されたら demuxM を ioctl すればいいんじゃないの?)
0984login:Penguin
2011/01/01(土) 23:32:50ID:xRYyON5MdemuxN -> 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を超えると書き込みができなくなります。