2005年11月08日(火)
■[debian]go7007でも mythtv
結論
やっとウチの環境でも mythtvが動くようになった。非常に苦労したので感動も大きかった。今回の作業のキモは、mysql の設定であった。
以下に作業を記録
○カーネル
gentooのページには次のように書かれているので、これに従って、CONFIG_FW_LOADER をモジュールからコンパイルインに変更。
Additionally, again, as of 0.18.1, at least, MythTV is very sensitive to kernel options. If they are *ALMOST* correct, the demo app (gorecord) will/may function, but MythTV will have problems - ie Black and White, aborting after a few seconds, not responding in Live TV, not changing to the correct channel when recording, and so on. If you experience any of these, you might check those. I had to set CONFIG_FW_LOADER=y, instead of m. That may be a peculiarity in my system, don't know.
○mythtv 本体の debina パッケージの構築
↓をapt-line に追加してapt-get -f update
$ deb-src http://dijkstra.csh.rit.edu/debian/ unstable mythtv
$ cd mythtv-0.18.1/
debuild -us - uc してパッケージ構築しようとしたら、debuild なんてないと叱られた。あわてずさわがず sudo apt-get -f install devscripts して、から再び
$ debuild -us - uc
すると↓のように叱られたので、
dpkg-checkbuilddeps: Unmet build dependencies: libqt3-mt-dev libmysqlclient14-dev | libmysqlclient-dev libfreetype6-dev libvorbis-dev liblame-dev liblircclient-dev libartsc0-dev libasound2-dev libxinerama-dev | xlibs-static-dev (<< 6.8.1-1) libxxf86vm-dev | xlibs-static-dev (<< 6.8.1-1) libxext-dev | xlibs-static-dev (<< 6.8.1-1) libdvb-dev g++-3.4
↓のように必要パッケージの導入をしてから、また debuild 実行
$ sudo apt-get -f install libqt3-mt-dev libmysqlclient14-dev libfreetype6-dev libvorbis-dev liblame-dev liblircclient-dev libartsc0-dev libasound2-dev libxinerama-dev libdvb-dev g++-3.4 libxxf86vm-dev
$ debuild -us - uc
すると、以下のパッケージが構築される
libmyth-0.18.1-dev_0.18.1-4_i386.deb mythtv-debug_0.18.1-4_i386.deb
libmyth-0.18.1_0.18.1-4_i386.deb mythtv-doc_0.18.1-4_all.deb
mythtv-backend_0.18.1-4_i386.deb mythtv-frontend_0.18.1-4_i386.deb
mythtv-common_0.18.1-4_all.deb mythtv_0.18.1-4_all.deb
mythtv-database_0.18.1-4_all.deb
バックエンド側で、必要パッケージをインスコ
sudo apt-get -f install pw
gen mysql-client libqt3-mt-mysql mysql-client-4.1 libmysqlclient12 libdbi-perl libdbd-mysql-perl libplrpc-perl libnet-daemon-perl perl perl-base perl-modules mysql-server mysql-server-4.1
バックエンド側には、↓のmythtvパッケージをインスコ
$ sudo dpkg -i mythtv-backend _0.18.1-4_i386.deb mythtv-common_0.18.1-4_all.deb libmyth-0.18.1_0.18.1-4_i386.deb mythtv-doc_0.18.1-4_all.deb mythtv-database_0.18.1-4_all.deb mythtv-doc_0.18.1-4_all.deb mythtv_0.18.1-4_all.deb
ドキュメントは /usr/share/doc/mythtv-doc/mythtv-HOWTO.html にインスコされる
フロントエンド側には、↓の mythtvパッケージをインスコ
$ sudo dpkg -i libmyth-0.18.1_0.18.1-4_i386.deb mythtv-common_0.18.1-4_all.deb mythtv-frontend_0.18.1-4_i386.deb
/etc/mysql/my.cnf でmysql の接続を localhost に限定している以下の記述をコメントアウトして、 /etc/init.d/mysql restart
bind-address = 127.0.0.1
○番組表取得に必要となる xmltv のインスコ
http://linux.paken.org/index.php?XMLTV%C6%FC%CB%DC%C2%D0%B1%FE%C8%C7
から tv_grab_jp-1.7.patch を取得して /usr/bin/tv_grab-jp にあてる
番組表をマニュアルに mythfilldatabase --manual とやって取得する時に、CATV の設定は、README.catv.jp を読めと書いてあるが、Debian には同梱されていない。ググってみると、 http://72.14.203.104/search?q=cache:OBCFIXgCy5cJ:cvs.sourceforge.net/viewcvs.py/xmltv/xmltv/grab/jp/+xmltv+catv.ja&hl=ja にあった。短いので、全文引用する。
http://www.ontvjapan.com/areachange/step1.php3
にアクセスします.
(または http://www.ontvjapan.com/ の番組表の左上にある放送区分の変
更で「CATV」を選択)
2.郵便番号を入力してCATV局を選択し,番組表を表示させます.
3.番組表の放送局名(NHK総合など)のリンク先を調べます.
たとえば,以下のようになっているはずです.
http://www.ontvjapan.com/program/gridChannel.php?tikicd=2156&ch=0031
^^^^^^^^^^^
この"tickicd="のあとに書いてある数字(この場合は2156)がID番号です。
川越だと、2147 になる。
さて、この状態で、sudo /etc/init.d/mythtv-backend start とかしても mythtv-backend が起動されないことに気が付いた。
で、log を見ると、↓の二つのエラーを発見
$ sudo tail -n 40 /var/log/mythtv/mythbackend.log
(snip)
QSettings: error creating /.qt
(snip)
No setting found for this machine's BackendServerIP.
Please run setup on this machine and modify the first page
of the general settings.
前者については、↓に従えば、とりあえず回避。
http://schoenke.com/~tyler/KnoppMyth_Install.html
$ sudo mkdir /.qt
$ sudo chown mythtv.mythtv /.qt
後者は、mysql とネットワークの設定をひとつずつ確認する作業をやっている間に、何も変更していない筈の状態でいつのまにか問題解消。
○mysql上の設定(※僕はここでハマった)
リモートホストで frontend側を動かすには、↓でやっているように、リモートのアカウントからの mysqlアクセスを許可しなければならない。
# msql が稼動しているか確認 $ sudo /usr/bin/mysqladmin -u root ping mysqld is alive $ mysqlshow -u root # テーブルの確認 +-------------+ | Databases | +-------------+ | mysql | | mythconverg | | test | +-------------+ # 他ホストの root(mysql 上ののrootアカウントである念のため)からのアクセスを許可 # これをしないとリモートのフロントエンドから $ mysql -u root mysql> GRANT USAGE ON *.* TO root mysql> GRANT ALL PRIVILEGES ON *.* TO root; mysql> quit
○mythtv-setup での設定
さて、 /usr/share/doc/mythtv*/README.Debian に書かれているように、mythtv の debian パッケージは mythtvアカウントですべての作業を行なうことが前提になっているので、↓のようにして、mythtv さんのパスワードを変更
$ sudo passwd mytytv
mythtv さんになって、セットアッププログラムを立ち上げ、画面の指示に従ってバックエンド側の設定を行なう。ここの設定で、go7007 スペシフィックなことはカードタイプに"USB Mpeg-4 Encoder (Plextor ConvertX, etc)"を選択する点くらいだと思う。一応HARDWARE Plextor ConvertX PVR - Gentoo Linux Wikiに解説がある。
ここで注意しなくてはならないのは、米国外のテレビ受信では、ビデオソース設定時に、バックグラウンドで、tv_grab_jp が実行され、これとインタラクションする必要があるので、mythtv-setup を実行するのに & を付けないこと、またデフォールトでは、全画面表示されるので、-giometry オプションをつけて画面サイズを指定することをお勧めする。画面サイズは ↓の例の 640x480 の更に半分くらいでも作業可能である。
$ su mythtv
$ mythtv-setup -geometry 640x480
○mythfrontend側での設定
これもHARDWARE Plextor ConvertX PVR - Gentoo Linux Wikiが参考になる。注意すべき点は、gentoo のドキュメントにも書いてあるが、go7007デバイスは、音声が圧縮されず PCM であるのでそれに合せて、音声を "Uncompressed." にすることくらい。 とか書きましたが、これは昔の話で、0.19 では、mp3 を指定してもちゃんリアルタイムに音声 mp3 エンコードしてくれるようになりました。
○問題点・注意点
- PX-TV402Uではライブ視聴が出来ない
- 再生画像のスクリーンキャプチャが出来ない
- 20051114の日記で解決
- fluxbox で mythtvのwindow frame が出ない
○一週間使った感想
- よいと思った点
- 駄目な点
- 予約録画画面の一覧性が悪い
- ウチでは、テレビ王国のマイページをみて予約番組を選ぶ、ということで凌いでいる。
- 計算機アプリとしては非常に変ったキーバインドなのにヘルプなどユーザへの教示が一切ない
- ま、ひとことでいうとデザインがひとりよがりなんだ
- あの派手派手なスクリーンショットで UI に期待して使うヒトは落胆するだろう
- ウチの環境ではフロントエンドが不安定
- mpg4再生時のフロントエンドが高負荷
- 自力でスクリンキャプチャが出来ない、
- ここに書いたように一工夫必要
- 自力で録画をエクスポート出来ない
- 録画の立ち上がりが悪く、頭が切れる
- 無負荷でも5秒、輻輳している状態だと 30%
- この点
- 自動CMカット機能があるが、僕が試した範囲では全く何もカットしてくれなかった
- ドキュメントにも役に立たんと明記してあるしな
- 20051116の日記に書いたように、バグ?のためCMカットしたイメージに書き変わらない模様である
- blackbox系の wm では、ウインドーフレームを表示できない
- だから、ウインドウ操作をするのにMWのメニューをいじらなくっちゃいけない
- Forntend起動後に、フルスクリーン<->パーシャルスクリーン切り替えを動的に出来無い
- mythtranscodeによる録画後の再エンコードで音声は、PCMか mp3かしか選べない
- 放映時間延長に対応する機能があるので、crontabとかで、放映時間直前に番組表を取得することになどによって、放映時間の変更に柔軟に対応できる
- 予約録画画面の一覧性が悪い
○結論
- ひとことでいえば、割り切って使う分にはいい道具だが、これで何もかも、という訳にはいかんだろう。
- すんなり動かなかった場合、動作させるのはかなり大変、(浅くてもよいが)広範な知識が必要
- もともとテレビ画面に表示してリモコンで制御するように設計されているので、Xの上のアプリケーションとして使うには、使い勝手がイマイチ。で、とっても多機能なので、非常に(マウスとキーボードからの)操作性がよくない。計算機用のフロントエンドが別に欲しい所だ。
- ↓のような問題があるので、保存することがわかっている録画には向いていない
- 録画の頭が切れる
- 他アプリで再生できるようにするのに avidemux で対話的に変換する必要がある
- 見ては捨てる録画にはとっても向いている
- Plugin はどれも役に立たない。
- 外出先から予約する必要があるヒトは、mythweb は必須かもしれんが
購入: 2人 クリック: 3回
- 74 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLG,GGLG:2005-44,GGLG:ja&q=libssl.so.4
- 33 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja-JP:official&q=キーバインド firefox&btnG=Google+検索&lr=lang_ja
- 23 http://72.14.235.104/search?q=cache:K1EqVHciefAJ:d.hatena.ne.jp/amt/20051108/Goo7007DemoMythtv+debian+mythtv&hl=ja&gl=jp&ct=clnk&cd=9&lr=lang_ja
- 23 http://b.hatena.ne.jp/tessy3/mythtv/
- 21 http://www.google.com/search?hl=ja&client=iceweasel-a&rls=org.debian:en-US:unofficial&q=mythtv+nuv+xvid&btnG=検索&lr=lang_ja
- 20 http://moonstone.s229.xrea.com/month/0609/010.php
- 19 http://www.google.co.jp/search?sourceid=navclient-ff&ie=UTF-8&rls=GGGL,GGGL:2005-09,GGGL:ja&q=Firefox+拡張+キーアサイン
- 18 http://moonstone.s229.xrea.com/entory/0609/189.php
- 17 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=com.ubuntu:ja:official&hs=OpR&q=xmltv+CATV&btnG=検索&lr=
- 16 http://www.google.co.jp/search?q=go7007&lr=lang_ja&ie=utf-8&oe=utf-8&rls=org.mozilla:ja-JP-mac:official&client=firefox



