Philipsのディスプレイ234E5QHSB/11を2台購入した。それまでDVIで接続していたが、このディスプレイにはDVIポートがなく、HDMIポートに接続することになる。HDMIに変更するついでに音声もHDMIに乗せることにした。ディスプレイにはスピーカーをつないでいる。

環境はP5K-PRO+GeForce 9600GT GE。DVIをHDMIに変換して使う。GeForce 400シリーズより前のNVIDIAのビデオカードはサウンドチップを搭載していないので、音声を乗せるにはマザーボードのS/PDIF出力に接続する必要がある。

ケーブルを探す

接続用の2pinケーブルが付属品にはなかったので探してみたが、見つからなかった。PCショップで聞いてみた所、最近のものには必要ないのでもう売ってないという。仕方なく、似たようなケーブルを探してみたところ、ヨドバシTK-CD4というケーブルを見つけた。CD-ROM用とあるが、調べてみるとS/PDIFのケーブルらしい。これを購入して接続することにした。

ケーブルの接続

マザーボードとビデオカードのS/PDIFを接続する。接続方法はELZAの接続ガイドを見るとわかりやすい。ASUS製の接続例を見て接続した。

ディスプレイから出力するには再生デバイスの既定値をデジタル出力に設定する。
hdmi_spdif_000

スリープで音が出なくなる

起動直後は音声が出力されるが、スリープすると音が出なくなった。ドライバを入れ直したり、ディスプレイを接続し直したりしても改善しない。

NVIDIAコントロールパネルを見ると音声出力がオフになっていた。スリープから復帰したときのこの設定が適用されたらしい。設定を変更すると音声が出力されるようになった。

hdmi_spdif_0001
hdmi_spdif_002
hdmi_spdif_003

アナログ出力と違ってデジタル出力はノイズが乗りにくいので、今まであったPC内部のノイズがなくなって快適になった。

おすすめ


3月 15th, 2014

Posted In: ハードウェア

タグ: ,

Leave a Comment

DVB版ドライバがないPT3ではMythTVは使えなかった。最近DVB版PT3ドライバが公開されたので、導入してみる。環境はいつも通りDebianの安定版(wheezy)。

カーネルのアップグレード

Debian(wheezy)に導入されているカーネル3.2ではビルドできないので、新しいカーネルを導入しておく。3.5でビルドできないことと3.8以降でビルドできることを確認している。新しいカーネルはbackportsリポジトリを使うと簡単に導入できる。

使われているカーネルを確認

$ uname -r
3.2.0-4-amd64

Backportsリポジトリを追加

$ sudo sh -c "echo 'deb http://ftp.debian.org/debian/ wheezy-backports main' > /etc/apt/sources.list.d/wheezy-backports.list"
$ sudo aptitude update

カーネルのインストール

$ sudo aptitude -t wheezy-backports install linux-image-3.10-0.bpo.3-amd64

カーネルを入れ替えるために再起動

$ sudo reboot

カーネルを確認

$ uname -r
3.10-0.bpo.3-amd64

V4L-DVBドライバの導入

PT3ドライバのビルドに必要なV4L-DVBドライバを導入する。ビルドには少し時間がかかる。

必要なパッケージのインストール

$ sudo aptitude install build-essential patchutils libproc-processtable-perl l linux-headers-3.10-0.bpo.3-amd64

ビルド

$ cd /usr/local/src/
$ git clone git://linuxtv.org/media_build.git
$ cd media_build
$ ./build

インストール

$ sudo make install
$ sudo make kernel-links #ヘッダーのインストール

DVB版PT3ドライバをインストール

事前準備は済んだのでドライバをインストールする。

ソースの取得

$ cd /usr/local/src/
$ git clone https://github.com/knight-rider/ptx.git
$ cd ptx/pt3_dvb/

V4L-DVBからModule.symversをコピー

$ cp /usr/local/src/media_build/v4l/Module.symvers .

ビルド

$ make

インストール

$ sudo make install

ドライバモジュールのロード

$ sudo modprobe pt3_dvb

デバイスファイルの確認

$ ls /dev/dvb/
adapter0  adapter1  adapter2  adapter3

PT2との違い

PT2のDVB版ドライバと同じように使えるが、デバイス番号が異なる。0,1が衛星波、2,3が地上波と、順番はChardev版と同じになる。

DVBアプリのビルド

tuneコマンドやs2scanが付属しているのでビルドする。

tune.cのDTV_STREAM_IDをDTV_ISDBS_TS_IDに書き換える

$ vi tune.c
$ git diff tune.c
diff --git a/dvb_apps/cmds/tune.c b/dvb_apps/cmds/tune.c
index 20178d0..a45ee08 100644
--- a/dvb_apps/cmds/tune.c
+++ b/dvb_apps/cmds/tune.c
@@ -100,7 +100,7 @@ static int search(int adapter_nr, int channel_id)

        prop[0].cmd = DTV_FREQUENCY;
        prop[0].u.data = channel->frequency;
-       prop[1].cmd = DTV_STREAM_ID;
+       prop[1].cmd = DTV_ISDBS_TS_ID;
        prop[1].u.data = channel->ts_id;
        prop[2].cmd = DTV_TUNE;

ビルド

$ make
$ find . -perm +111
.
./restamp
./nitdump
./ptsdump
./tune
./dumpts
./dumpeid
./s2scan
./dumpts2

コマンドが生成される。コマンドの使い方やDVB版の使い方は以前の記事を参照。

予約機能が良くても、BSに対応できないとMythTVは導入できない。

PT3といえば、chardev版PT3の導入記事に/etc/modprobe.d/blacklist.confにearth-pt1を追加するように書いてあるのが気になる。earth-pt1はPT3には対応していないので、PT1/2を導入していない環境では効果が無い。

参考:

おすすめ


11月 24th, 2013

Posted In: ハードウェア

タグ: , , , , , , ,

Leave a Comment

Qtを使い始めたのでインストール手順をまとめる。QtにはQt CreatorというIDEが含まれているので他に何も用意しなくても開発が始められる。

Qt Projectのサイトのダウンロードページから"Qt Online Installer for Windows"をダウンロード
install_qt5.1_01

ダウンロードしたファイルを実行
install_qt5.1_02

Nextをクリックして少し待つ
install_qt5.1_03

インストール先とQt Creatorの関連付けを指定する
install_qt5.1_04

インストールするパッケージの選択
Qt Creatorのチェックは外せない
install_qt5.1_05
Qt Maintenance Toolを使って後からパッケージを追加することもできる

変更しなくてもWindowsアプリは開発できるが、Androidアプリの開発をする場合はチェックしておく
install_qt5.1_06

ライセンスに同意する
install_qt5.1_07

スタートメニューのフォルダ名
install_qt5.1_08
そのままで問題ない

Installをクリックしてインストール開始
install_qt5.1_09

UACが出るので許可
install_qt5.1_10

しばらく待つ
install_qt5.1_11

インストール完了
install_qt5.1_12

おすすめ


11月 4th, 2013

Posted In: ソフトウェア, プログラミング

タグ: , , ,

Leave a Comment

一人暮らしを始める際にPT3を導入した。そのままではカーネル更新時にドライバが使えなくなってしまうのでPT3にもDKMSを導入してみた。dkms.confがソースに導入されているので、思いの外簡単に設定できた。環境はDebian(Wheezy)

DKMSのインストール

$ sudo aptitude install dkms

/usr/src/以下にPT3ドライバのソースを取得

$ cd /usr/src/
$ sudo git clone git://github.com/m-tsudo/pt3.git pt3_drv-0.0.1
Cloning into 'pt3_drv-0.0.1'...
remote: Counting objects: 541, done.
remote: Compressing objects: 100% (150/150), done.
remote: Total 541 (delta 390), reused 535 (delta 384)
Receiving objects: 100% (541/541), 133.67 KiB | 136 KiB/s, done.
Resolving deltas: 100% (390/390), done.

dkms.confに書かれているPACKAGE_NAMEとPACKAGE_VERSIONの通りにパスやコマンドを指定する。

DKMSにPT3ドライバのソースを追加

$ sudo dkms add -m pt3_drv -v 0.0.1

Creating symlink /var/lib/dkms/pt3_drv/0.0.1/source ->
                 /usr/src/pt3_drv-0.0.1

DKMS: add completed.

自動インストールの動作を確認(build,install未実行時)

$ sudo /usr/lib/dkms/dkms_autoinstaller start
[....] dkms: running auto installation service for kernel 3.2.0-4-amd64:
Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=3.2.0-4-amd64 KVER=3.2.0-4-amd64.....
cleaning build area....

DKMS: build completed.

pt3_drv.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/3.2.0-4-amd64/updates/dkms/

depmod....

DKMS: install completed.
. ok

ここまでで、導入は完了。手動で実行する場合や削除する場合は下記のコマンドを使う。

ドライバモジュールのビルド

$ sudo dkms build -m pt3_drv -v 0.0.1

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=3.2.0-4-amd64 KVER=3.2.0-4-amd64.....
cleaning build area....

DKMS: build completed.

ドライバモジュールのインストール

$ sudo dkms install -m pt3_drv -v 0.0.1

pt3_drv:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/3.2.0-4-amd64/updates/dkms/

depmod....

DKMS: install completed.

ドライバモジュールのアンインストール(動かない?)

$ sudo dkms uninstall -m pt3_drv -v 0.0.1 

ソースパッケージの登録削除

$ sudo dkms remove -m pt3_drv -v 0.0.1 --all

-------- Uninstall Beginning --------
Module:  pt3_drv
Version: 0.0.1
Kernel:  3.2.0-4-amd64 (x86_64)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

pt3_drv.ko:
 - Uninstallation
   - Deleting from: /lib/modules/3.2.0-4-amd64/updates/dkms/
 - Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.

depmod....

DKMS: uninstall completed.

------------------------------
Deleting module version: 0.0.1
completely from the DKMS tree.
------------------------------
Done.

おすすめ


7月 31st, 2013

Posted In: ソフトウェア, ハードウェア

タグ: , , , ,

Leave a Comment

2月のメンテナンス以降、DiCEからお名前.comのDDNSを利用できなくなってしまった。DiCEプラグインの中身を眺めてみるもどうにもできなかったので、しばらくWindowsのDDNS様子を見たが何も進展はなかった。

他のDDNSに設定するにしても、設定できるレコードに制約があり、今までのようにはできなくなる。そこで、別のDDNSのエイリアスにすることを思いつき、実践してみた。

DDNSサービスは、以前から使っていたieServer.Netを流用した。メールアドレスだけで簡単に登録できる。登録したドメインはDiCEで設定できるので、更新できるようにする。

DICEを設定したら、使用するサブドメインにCNAMEでDDNSのドメインを指定する。

www.example.com	CNAME	○○○○○.dip.jp

example.comなど、ドメイン自身には設定できないのが難点。(ブラウザの場合、wwwを補完してくれる)

wwwをメインに使っているので、とりあえずはWindowsを起動させる手間からは開放される。

追記:
ウェブサーバーに限ってはURL転送を使うと便利。オプション設定から転送PlusのURL転送設定で設定できる。

http://example.com/	http://www.example.com/	フレーム/リダイレクト

example.comに接続した場合、http://www.example.com/に転送されるようになる。

おすすめ


5月 18th, 2013

Posted In: ネットワーク

タグ: , , , ,

2 Comments

3月に、仕事に就けたのを機会にP-07AからELUGA X(P-02E)に機種変更した。

P-02E

LTE+クアッドコアを条件に考えていたら、ハードキーや片手操作が好みだったのでこの機種にした。前の機種を選んだ理由もプッシュオープンやWオープンだったり外面の機能で選ぶ傾向がある。結果、P505i→P902is→P906i→P-07AとPanasonicの端末しか使ったことがない。全く期待していなかっただけに、スマートフォンまでPanasonicを選ぶとは思わなかった。

不具合はディスプレイに縦縞が出てフリーズするのとカメラの起動失敗があったが、どちらもアップデートで修正されて現在は快適。USBホストや有線での外部ディスプレイは使えないが、あまり使わない機能なので問題ない(USBホストは置くだけ充電と相性がよさそうだが)。標準のフィットホームもフィットキーも悪くない。ドロワーはその場で表示されて最低限の機能しか持たないので使いやすい(カテゴリ整理のランチャーを使ったら面倒になった)。

HTC J butterflyを借りてみたら、USBカバーが開けにくかったり、通知領域にトグルがなかったり、ELUGA Xの方が使いやすいように感じた。TPUケースをつけたら持ちにくい上に、端が押せなくて全面に細かい傷がついたので使うのをやめた。クリップ付きの紐ストラップをつけたので、落下はまだない。

他人のを設定した経験から、特に迷うことなく使えて小型PCとしか思ってなかったので、PC同様に環境構築して満足してしまった。

dビデオを契約させられたので、3月末にdtabも注文した。

入社2ヶ月で、転職がすでに決まってる。何が起こるかわからない。

おすすめ


5月 12th, 2013

Posted In: ハードウェア, 雑記

タグ: , , ,

Leave a Comment

PT1/PT2のDVBとMythTV @WikiでMythTV 0.26のISDB対応パッチ(仮)が公開されていたので試してみた。

必要なパッチを作り直して、パッケージのビルドからインストールまでを行なった。結果はパッケージの依存関係の問題で失敗。実際に行なった手順と作成したパッチを公開。

2013/1/6 1:27追記:BS対応パッチの圧縮に失敗していたので再アップロード。
2013/1/10追記:カテゴリ日本語化パッチに文字化けの報告があるので修正。

Debian squeezeに導入(失敗)

  1. ここに置いてあるisdb-mythtv_0.26.0-20130101.patchをダウンロード
  2. パッケージのソースをダウンロード
    $ apt-get source mythtv
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています
    状態情報を読み取っています... 完了
    47.4 MB のソースアーカイブを取得する必要があります。
    取得:1 http://www.deb-multimedia.org/ sid/main mythtv-dmo 0.26.0+fixes20130104-dmo1 (dsc) [3,439 B]
    取得:2 http://www.deb-multimedia.org/ sid/main mythtv-dmo 0.26.0+fixes20130104-dmo1 (tar) [47.3 MB]
    取得:3 http://www.deb-multimedia.org/ sid/main mythtv-dmo 0.26.0+fixes20130104-dmo1 (diff) [72.3 kB]
    47.4 MB を 33秒 で取得しました (1,426 kB/s)
    dpkg-source: info: extracting mythtv-dmo in mythtv-dmo-0.26.0+fixes20130104
    dpkg-source: info: unpacking mythtv-dmo_0.26.0+fixes20130104.orig.tar.gz
    dpkg-source: info: applying mythtv-dmo_0.26.0+fixes20130104-dmo1.diff.gz
    dpkg-source: info: upstream files that have been modified:
     mythtv-dmo-0.26.0+fixes20130104/external/zeromq/configure
  3. パッチを当てる(ISDB以外のパッチは後述)
    $ cd mythtv-dmo-0.26.0+fixes20130104/
    $ patch -p1 < ../isdb-mythtv_0.26.0-20130101.patch
    patching file libs/libmythtv/channelscan/channelscan_sm.cpp
    patching file libs/libmythtv/channelscan/frequencytablesetting.cpp
    patching file libs/libmythtv/eithelper.cpp
    patching file libs/libmythtv/frequencytables.cpp
    patching file libs/libmythtv/libmythtv.pro
    patching file libs/libmythtv/mpeg/dishdescriptors.cpp
    patching file libs/libmythtv/mpeg/dishdescriptors.h
    patching file libs/libmythtv/mpeg/dvbdescriptors.cpp
    patching file libs/libmythtv/mpeg/dvbdescriptors.h
    patching file libs/libmythtv/mpeg/dvbstreamdata.cpp
    patching file libs/libmythtv/mpeg/dvbstreamdata.h
    patching file libs/libmythtv/mpeg/dvbtables.cpp
    patching file libs/libmythtv/mpeg/dvbtables.h
    patching file libs/libmythtv/mpeg/isdb_decode_text.c
    patching file libs/libmythtv/mpeg/isdb_decode_text.h
    patching file libs/libmythtv/mpeg/mpegdescriptors.cpp
    patching file libs/libmythtv/mpeg/mpegdescriptors.h
    patching file libs/libmythtv/mpeg/scanstreamdata.cpp
    patching file libs/libmythtv/mpeg/scanstreamdata.h
    patching file libs/libmythtv/mpeg/sctedescriptors.h
    patching file libs/libmythtv/tv_rec.cpp
    patching file libs/libmythtv/tv_rec.h
    $ patch -p1 < ../mythtv_0.26.0-bs-lnb.patch
    patching file libs/libmythtv/dtvmultiplex.cpp
    patching file libs/libmythtv/dtvmultiplex.h
    patching file libs/libmythtv/dvbchannel.cpp
    $ patch -p0 < ../mythtv_0.26.0-japanese-cat.patch
    patching file libs/libmythtv/mpeg/dvbdescriptors.cpp
    $ patch -p0 < ../mythtv_0.26.0-subtitle.patch
    patching file libs/libmythtv/eithelper.cpp
    $ patch -p0 < ../mythtv_0.26.0-tuning.patch
    patching file libs/libmythtv/dvbstreamhandler.cpp
  4. 足りないパッケージをインストール
  5. $ sudo aptitude install -t squeeze-backports debhelper #バージョンが古くてビルドできないのでアップグレード
    $ sudo aptitude install uuid-dev libvpx-dev 
  6. パッケージのビルド
    $ dch -i #バージョンなどを修正
    $ debuild -us -uc -d
  7. パッケージのインストール
    $ sudo dpkg -i ../*.deb
    $ sudo aptitude -f install

ビルドまでうまくできたが、パッケージの依存関係が崩れてしまったので失敗。wheezyがリリースされたらまた試そうと思う。

MythTV 0.26.0に向けて作成したパッチ

ビルドはできたが、インストールがうまくいかなかったので、全て未検証。

各パッチは以前の記事に準ずる。

カテゴリ日本語化パッチ

mythtv_0.26.0-japanese-cat.patch

カテゴリ日本語化パッチ(修正版)

mythtv_0.26.0-japanese-cat.patch

Qtのバージョンが変わって、実際に動くか不明。

サブタイトルの切り直しパッチ

mythtv_0.26.0-subtitle.patch

パッチがそのまま当たったので簡単に修正。

BS対応パッチ

mythtv_0.26.0-bs.zip

前回作成したパッチを元に作成。

録画バグ修正パッチ

mythtv_0.26.0-tuning.patch

修正されている可能性もあるが、念のため作成。

おすすめ


1月 5th, 2013

Posted In: ソフトウェア

タグ: , , , , , , ,

4 Comments

MythTVがActive EIT Scanで非契約チャンネルに切り替えると、エラーと認識して動作しなくなってしまう。MythTVに無料番組だけ見るチャンネルを登録していると厄介だ。

syslog

Bad ret code[0x8902] in a ECM response.
Card I/O failed too many times.

FUSE_b25はエラーカウントが一定数(5)溜まると動作しなくなる仕様になっている。ECMのリターンコードがエラーでもエラーカウントを上げてしまう。そこで、ECMが非契約のリターンコードを返してもエラーカウントを上げないようにする。

非契約のリターンコード(地上デジタルテレビジョン放送運用規定(TR-B14) 第3分冊より

非契約 (Kwなし) A103
非契約 (契約外) 8901,8501,8301
非契約 (期限切れ) 8902,8502,8302
非契約 (視聴制限) 8903,8503,8303

bcas.cを変更して、非契約でもエラーカウントを上げないようにする。すべてのリターンコードをエラーに勘定しない場合は409行目を"goto through;"にして、399~406行を削除すればいい。

$ vi fuse_b25-0.4.8/src/bcas.c
   394    retcode = rbuf[4] << 8 | rbuf[5];
   395    if (retcode != CARD_RETCODE_GD_TIER &&
   396        retcode != CARD_RETCODE_GD_PREPPV &&
   397        retcode != CARD_RETCODE_GD_POSTPPV &&
   398        retcode != CARD_RETCODE_PV_PREPPV && retcode != CARD_RETCODE_PV_POSTPPV) {
   399      if (retcode == 0xa103 ||
   400          (retcode >= 0x8901 &&  retcode <= 0x8903) ||
   401          (retcode >= 0x8501 &&  retcode <= 0x8503) ||
   402          (retcode >= 0x8301 &&  retcode <= 0x8303)) {
   403        syslog (LOG_NOTICE,
   404            "Ret code[0x%04x] in a ECM response.\n", retcode);
   405        goto through;
   406      }
   407      syslog (LOG_NOTICE,
   408          "Bad ret code[0x%04x] in a ECM response.\n", retcode);
   409      goto failed;
   410    }

   441
   442  through:
   443    pthread_mutex_lock (&card->lock);
   444    kinfo->status = CMD_S_FAILED;
   445    pthread_mutex_unlock (&card->lock);
   446    return;
   447  }

パッチ

*** bcas.c.orig 2011-05-19 01:22:28.000000000 +0900
--- bcas.c      2012-08-04 17:21:55.558189838 +0900
***************
*** 396,401 ****
--- 396,409 ----
        retcode != CARD_RETCODE_GD_PREPPV &&
        retcode != CARD_RETCODE_GD_POSTPPV &&
        retcode != CARD_RETCODE_PV_PREPPV && retcode != CARD_RETCODE_PV_POSTPPV) {
+     if (retcode == 0xa103 ||
+         (retcode >= 0x8901 &&  retcode <= 0x8903) ||
+         (retcode >= 0x8501 &&  retcode <= 0x8503) ||
+         (retcode >= 0x8301 &&  retcode <= 0x8303)) {
+       syslog (LOG_NOTICE,
+           "Ret code[0x%04x] in a ECM response.\n", retcode);
+       goto through;
+     }
      syslog (LOG_NOTICE,
          "Bad ret code[0x%04x] in a ECM response.\n", retcode);
      goto failed;
***************
*** 430,435 ****
--- 438,449 ----
    }
    pthread_mutex_unlock (&card->lock);
    return;
+
+ through:
+   pthread_mutex_lock (&card->lock);
+   kinfo->status = CMD_S_FAILED;
+   pthread_mutex_unlock (&card->lock);
+   return;
  }

ダウンロード

パッチの当て方

$ patch fuse_b25-0.4.8/src/bcas.c < bcas_mythtv-patch/bcas_uncontracted.patch

ビルド・インストール

$ cd fuse_b25-0.4.8/
$ ./configure
$ make
$ sudo make install

おすすめ


8月 4th, 2012

Posted In: ソフトウェア

タグ: , , , , , ,

Leave a Comment

アンテナを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

« 前ページへ次ページへ »