MythTVでTV録画

05/08/04 update


    

 TV録画用のソフトには色々ありますが、今回は各種メディアの再生にも対応させる為プラグインで機能を増やせるMythTVを使用することにしました。ディストリビューションはATrpmsのパッケージを利用できるFedora Core 3を、MythTVのバージョンはATrpmsの現時点(05/05/31)での最新パッケージである0.18.1を使用します。またMythTVはキーボードかリモコンでの操作を前堤にしているのでマウスは一部でしか使用できない(メニュー選択が出来ないので実質使いモノになりません)ので注意して下さい。TVチューナーカードとリモコンはこちらで紹介しているものを使用することを前堤にしています。

(05/08/04 更進) 少々内容を補強しました。

 MythTVのインストール

 ATrpmsにFedoraCore用のMythTVの各種rpmパッケージが用意されているので今回はaptのリポジトリにATrpmsを設定し依存関係を自動で解決しながらインストールすることにします。リポジトリの追加方法はこちらを参照して下さい。インストールは簡単です。aptの場合はコンソールで
    # apt-get install mythtv-suite
とコマンドを打つのみ、Synapticならmythtv-suiteを選択して「適用」するのみです。これでMythTVと各種プラグインが一度にインストールされます。依存関係でかなりの数のパッケージがインストール及びアンインストールされるのでかなり時間がかかります。TV録画のみ利用したい場合は個別にインストールした方が良いでしょう。

 Mysqlの設定

 MythTVは番組表の情報をデータベース化するのにMysqlを利用しています。ATrpmsでインストールすると依存関係でMysqlも一緒にインストールされます。

 まずMySQLを起動します。
    # /etc/rc.d/init.d/mysqld start
MythTVを使用するユーザーに戻りMySQLのrootのパスワードの設定とMythTVのチャンネルデータベースを作成します。
    $ mysqladmin -u root -p password 'パスワード'

    $ mysql -u root -p < /usr/share/doc/mythtv-0.18.1/database/mc.sql

    Enter password: パスワード
パスワードには任意のパスワードを設定し、データベース作成時にそのパスワードを入力します。2行目を実行すると「ERROR 1064」が出ますがデータベース自体は作成されているので無視してかまいません。バージョン4.0以降のMySQLではエラーが出ません(FC4のMySQL4.0.1で確認)。

他のマシンのMythTVからリモートで利用する場合はリモートでデータベースにアクセスできるようにマスターバックエンド側のMySQLで設定を行なう必要が有ります。以下はFedora Myth(TV)ology:.の設定丸写しです(^^;。ローカルネットワークが192.168.0.0の場合は以下のようにします。
$ mysql -u root -p mythconverg
password:MySQLのrootのパスワード
mysql> grant all on mythconverg.* to mythtv@"192.168.0.%" identified by "mythtv";
mysql> flush privileges;
mysql> quit
最後にMySQLを起動時に自動起動するように設定します。
    # chkconfig mysqld on

 MythTVの初期設定

 まずは初期設定をする為に以下のコマンドを実行して設定画面を起動します。MythTVを使用するユーザーで実行して下さい。
    $ mythtv-setup

0.起動時の設定


最初に言語を指定します。NIHONGOを選択します。
次にカードの設定を削除するか訊かれるので削除を選択します。
さらにチャンネル設定を削除するか訊かれるので削除します。
これで左図のセットアップ画面が表示されます。

注) この時点で接続できるデータベースが無い場合データベースの設定画面になります。この場合はMySQLが起動しているか、設定が正しいか確認して下さい。

1.一般


mythbackendの設定です。mythbackendを動かすサーバーは今回は自分自身なのでデフォルトの設定で問題ありません。録画専用Linux Boxなどbackendサーバーを別に用意する場合はリモート側とマスター側両方でマスター側のアドレスを指定する必要があります。

録画保存用ディレクトリとTVバッファ(タイムシフト再生に使用)用ディレクトリを指定します。ディレクトリはmythbackend起動前にあらかじめ作成しておいて下さい。でないとmythbackendが起動できません。

またMythwebを使用して録画ファイルを他のマシンから利用する場合はディレクトリのグループをapacheに変更しておく必要があります。

TVフォーマットをNTSC-JPに、チャンネル周波数テーブルをjapan-bcastに設定します。

あとは初期設定で問題ないと思います。必要なら変更して下さい。次>を押していって設定を完了します。

2.キャプチャーカード


(新規キャプチャーカード)を選択します。
今回はカードタイプにMPEG-2 エンコーダーカードを選択します。ビデオデバイスは/dev/video0、規定の入力にはTuner 0を選択します。TVチューナーカードの複数利用、もしくはダブルチューナーの場合はチューナーの数だけ設定する必要があります(通常 /dev/video0と/dev/video1)。

3.ビデオソース


(新規ビデオソース)を選択します。
ビデオソース名は任意に指定します。ビデオソースの指定時に必要になるので忘れないように。XMLTV grabberはJapanを指定します。

完了を押すとグラフが現れ50%で停止します。ここでAlt + tabを押してコンソールに切り替えます。
コンソールに「地域を指定して下さい:」と出ているので自分の済んでいる地域の番号を入力してEnterを押します。
次に追加するテレビ局を聞いてくるので追加する場合はそのままEnterを押し、追加しない場合はnoと入力してEnterを押します。
設定後再度Alt + Tabを押してmythtvsetupに戻ります。

はいを押して完了です。

4.入力とソースの接続


今回はTV録画のみなのでTuner 0を選択します。ビデオ入力を利用する場合はComposite,S-Videoも設定する必要があります。

ビデオソースに3.で指定したビデオソース名を入力します。
TVチューナーカードの複数利用またはダブルチューナーの場合「入力優先権」を設定する事で特定のデバイスを優先的に使用するように設定できます。数字が大きい方が優先権が高いことに注意して下さい。多チャンネル同時録画の予約時に録画優先権(これも数字が大きい方が優先権が高い)を高くした番組がここで指定した優先権の高いデバイスで自動的に録画されるようになります。
完了を押して終了します。
5.チャンネル設定は特に必要ありません。Escを押してmythsetupを終了します。

 mythbackendの設定

mythbackendを自動起動しないようにします。これはTVキャプチャーカードが認識される前にmythbackendが起動しないようにするためです。
# chkconfig mythbackend off
次に自動起動の設定を /etc/rc.localに記述します。この時すでに追記しているivtvドライバーの設定より後ろに記述してください。
# /etc/rc.d/init.d/mythbackend start
再起動してmythbackendが起動していることを確認します。正常に起動していると /var/log/mythtv/mythbackend.log にログが残るのでエディタなどで開いて確認して下さい。

 チャンネル設定

チャンネル設定を行ないます。MythTVを使用するユーザーで次のコマンドを入力します。
    $ mythfilldatabase
この時点でチャンネルIDが設定されます。さらに次のコマンドを入力します。
    $ mythfilldatabase --manual --dont-refresh-tomorrow
対話式で進みます。channel number にその局の受信チャンネルを入力します。実際に受信しているチャンネルを入力しないと正しく受信できません。あとはデフォルトで問題ないでしょう。ちなみにmythbackendが起動していないとデータベースの更新が出来ません。エラーが出る場合はmythbackendの起動を確認して下さい。

設定終了後番組表データベースを更新します。
    $ mythfilldatabase

 MythTVの詳細設定

 MythTVのユーザーインターフェイスであるmythfrontendを起動します。メインメニューの「サウンドとビデオ」に登録されているので選択します。コマンドの場合は以下のように実行して下さい。
    $ mythfrontend
mythfrontendの設定を行ないます。まず「設定」→「設定」と選択していきます。設定項目が現れるので各設定を行なっていきます。ここでは各項目ごとに必要であろうと思われるものをピックアップしています。その他の設定は御自分の環境に合わせて設定して下さい。

1.全般


Fedora Core 3ではサウンドはALSAが標準になっているので設定を変更する必要があります。
まず音声出力デバイスに「ALSA:default」と入力します。
MythTVでボリュームを変更できるように「内部音量調整を使用する」にチェックし、「ミキサーデバイス」に「default」と入力します。「ミキサー制御」は「PCM」か「マスター」のどちらかを選択します。

2.画面表示


テーマを選択します。私は「MythCenter」を使っています。あとはフォントのサイズなどを任意に設定して下さい。

3-1.TV設定 → 一般


「番組開始前の録画時間」を設定しておきます。録画開始時のタイムラグや時計が狂っている場合を想定して多め(私は30秒)に設定しておくと安心です。

3-3.TV設定 → 再生


デインターレースの設定です。MythTVのデインターレースはmplayerやxineと比べ余り性能が良くないので私は画質劣化が最も少ない「リニアブレンド」を選択しています。櫛形ノイズは無くなりますが動きがはげしい画像のブレは無くなりません。

高画質回路搭載のカードでCPUがSSE対応なら「カーネル(モーションブルア無し)」がお勧めです。高画質回路の影響でボヤケ気味になりがちな画像がかなりシャープになります。元々シャープな画像の場合は逆にジャギが目立つようになりますが。

3-4.TV設定 → 録画プロフィール


録画時の解像度を指定します。640x480が一般的だと思います。後述しますが、デフォルトの480x480以外にするとOSDが文字化けします。私はLiveTV(通常のTV視聴)のみデフォルトのままにしています。

録画時のビットレートを指定します。当然ビットレートが高いと画質は良くなりますが録画ファイルのサイズは大きくなります。

オーディオのサンプリングレート等を指定します。

リモコンの設定

 MythTVでリモコンを利用する場合はリモコンのボタンに機能を割り振る必要があります。設定ファイルlircrcをホームディレクトリの.mythtvディレクトリ内に作成し、ボタンの機能を設定していきますが、今回は設定されたlircrcファイルをダウンロードして利用します。

WinTV-PVR 350の場合

Fedora Myth(TV)ologyで公開されているこのファイルをlircrcにリネームして.mythtvディレクトリにコピーします。

PC-MV51XR/PCIの場合

こちらで公開されているこのbz2ファイルをダウンロードして解凍し、.mythtvディレクトリにコピーします。

あとはlircd.confの設定を参考に自分が使い易いようにマッピングを変更して下さい。

その他細かい設定

オンスクリーンディスプレイの文字化け対策

 MythTVのフォントではテレビ視聴時のオンスクリーンディスプレイが文字化けするのでFC3付属の日本語フォント(今回は kochi-gothic)を利用するようにします。
 ln -s /usr/share/fonts/ja/TrueType/kochi-gothic-subst.ttf
 /usr/share/mythtv/kochi-gothic.ttf
注) 実際は一行のコマンドです。

これでkochi-gothicのシンボリックリンクがMythTVのフォントディレクトリに作成されます。


次に「設定」→「設定」→「TV設定」→「再生」の「オンスクリーンディスプレイ」で「OSDフォント」と「字幕放送フォント」を kochi-gothic.ttfに変更します。これでオンスクリーンディスプレイの文字化けは無くなります。

注) 録画解像度をデフォルトの480x480以外にするとこの方法でも文字化けします。

mythfilldatabase自動実行

番組表データベース更新のために定期的にmythfilldatabaseを実行する必要があります。MythTVでmythfilldatabaseの自動実行を設定することが出来ますがうまく更新できないので(実行ユーザーの問題?)cronに設定して自動実行するようにします。まずMythTVを使用するユーザーで以下のコマンドを実行します。
    $ crontab -e
viエディタが起動するので設定を記述します。
00 05 * * * /usr/bin/mythfilldatabase
例では毎日午前5時にmythfilldatabaseを実行するように設定しています。設定方法はこちらを参照して下さい。

「MythTV プラグイン編」に進む

戻る