アンテナを110度CS対応にしたので、試用期間の残っているB-CASカードを使って検証してみた。MythTVにはBS対応パッチを当ててある。

アンテナとケーブル

アンテナを変える前はBSのほとんどのチャンネルが受信できたが、周波数の高いDlifeなどは受信できなかった。しかし、新しいアンテナに交換してもDlifeとCSの受信状態が悪く、CSの信号レベルが低かった。別の部屋のテレビは正常に受信できていたので、古いケーブルを交換してみると改善した。

受信確認

チャンネル登録スクリプトでチャンネルを登録して、視聴してみる。BSはすべてのチャンネルが正常に視聴することができた。しかし、チャンネルがCSに変わると極端に精度が落ちた。ほとんどが受信状態が悪いチャンネルで全く見れないチャンネルも多かった。正常に視聴できるチャンネルは一握り。

見れないチャンネルから特徴を探ってみるが、特定の周波数でもない。チューニング情報にも誤りはない。mythtvには原因がわかるログが見つからなかったが、syslogには大量のエラーが表示されていた。

failed to poll. errno:0.
poll received an error on the fd for pid:0x0701

MythTVに原因がないか切り分けるためにtuneコマンドとcatで録画する。確認したところ、MythTVでの視聴と大差ない。TvtPlayで確認していて、そこでサービスがいくつもあるのに気がついた。BSはTSIDでチャンネルを分けているのに対して、CSはserviceidでチャンネルを分けている(一つのチャンネルにサービスがいくつもある)。

FUSE_b25でCSは見れない?

CS放送は一つの周波数にいくつもサービスが載っていてその数も多い。FUSE_b25はそのすべてをデコードしようとするので、処理し切れない可能性が出てくる。だとすると、FUSE_b25ではCSを見れないことになる。見れないのは自分の環境だけかもしれないが、見れないという情報がいくつかある。

FUSE_b25の仕組みからしてどうにもならない。MythTV+DVBでのCS録画はMythTVにb25デコード機能を付けない限り難しいだろう。無料放送だけを見るので個人的な影響は小さいだろうが。

7月 18th, 2012

Posted In: ソフトウェア

タグ: , , , , , ,

Leave a Comment

MythTVでBSのチューニングをできるようにするパッチを更新したので、使い方もまとめる。

ダウンロード

mythtv-bs.zip

ファイルの内容は次の通り

  • mythtv-bs-lnb.patch BS対応パッチ(LNB電源ON)
  • mythtv-bs-nolnb.patch BS対応パッチ(LNB電源OFF)
  • channel_add.sh チャンネル登録スクリプト
  • example.txt 使用例

以前のものからの変更点

  • 安定化させる対策を行なっても0Byteで録画されない不具合の対応
  • コード整理
  • LNBON/OFFでパッチを分離
  • channel_add.shにuseonairguideとcallsign/nameの設定機能を追加
  • channel_add.shを4桁以上のチャンネル番号に対応させた

不具合について

0Byteの時にログを確認すると次のようなメッセージがあり、全く別のチャンネルのtsidとPATが出力されていた。

Program #211 not found in PAT!

チューニングが失敗しているか間に合っていないようなので、s2scanに習ってチューニング前にウェイトを挿入するようにした。

パッチの当て方

mythtvのソースに次のように当てる

$ cd mythtv-0.24.1
$ patch -p1 < ../mythtv-bs-lnb.patch
patching file libs/libmythtv/dtvmultiplex.h
patching file libs/libmythtv/dtvmultiplex.cpp
patching file libs/libmythtv/dvbchannel.cpp

通常はmythtv-bs-lnb.patchで問題ないがCATVやブースターなどを使っている場合はmythtv-bs-nolnb.patchを当てる。

対応しているMythTVのバージョンは0.24系

チャンネル登録の方法

MythTVのチャンネルスキャンには対応しないのでスクリプトを使ってデータベースに直接入力する。

channel_add.shの最初の変数を環境に合わせて書き換える。

#!/bin/sh
DBUSER="mythtv"
DBPASSWORD="password"
DATABASE="mythconverg"
$ channel_add.sh
Usage:
 channel_add.sh frequency netid tsid pid source chan_num { airguide { chan_name } }

sourceidは衛星側のビデオソースのもの、chan_numは好みのチャンネル番号を指定する。frequencyはs2scanの結果から、それ以外はTVTestに付いてくるPreset_BS.ch2、Preset_CS.ch2をCSVとして開いて見るとわかりやすい。Preset_BS.ch2(Preset_CS.ch2)のネットワークIDがnetid、TSIDがtsid、サービス IDがpidにあたる。netidはBSが4、CS1ネットワークが6、CS2ネットワークが7となる。sourceidは衛星側のビデオソースのもの、chan_numは好みのチャンネル番号を指定する。airguideに1を指定すると番組表のスキャンが有効になる(0で無効)。chan_nameにはチャンネル名が指定できる。

ただし、CSに関しては受信できるか怪しい。

(さらに…)

7月 18th, 2012

Posted In: ソフトウェア

タグ: , , , , , , ,

Leave a Comment