TV 環境構築

Linux 上でテレビを観たり,録画したりできる環境を構築する.

準備

Linux で TV チューナーカードを使うためには, カーネルに Video4Linux が組み込まれている必要がある. また,TV をディスプレイに表示させるプログラムとして xawtv や MPlayer が必要である.

Video4Linux,xawtv 共に Red Hat Linux 9 などには最初から インストールされており, BT878 搭載の TV チューナーカードなら特別な設定はいらない.

しかし,SAA713x シリーズのチップを搭載したカードを使用する場合, カーネルに最新のドライバを組み込み,xawtv のバージョンも上げる必要がある. カーネルへの最新ドライバの組み込み方法は こちら を参照.

xawtv のインストール

bytesex.org から xawtv_3.91.tar.gz をダウンロードし,以下の手順でインストール.

$ cd /usr/local/src
$ tar zxvf xawtv_3.91.tar.gz
$ cd xawtv-3.91
$ ./configure
$ make
# make install

チャンネルなどの設定をした .xawtv をホームディレクトリに作成.

MPlayer のインストール

MPlayer は,さまざまな種類の動画や音声を再生できるマルチメディアプレーヤーである. テレビの観覧や録画も可能.インストールはやや複雑なので こちら を参照.

テレビを観る

xawtv を使ってテレビを観る.

$ xawtv &

1 〜 12 までのチャンネルは,1〜0,-,=,のキーボードで変更可能. フルスクリーン表示への切り替えは F.

MPlayer を使ってテレビを観るのは,かなり面倒.

$ mplayer
> -tv driver=v4l2:device=/dev/video0:input=1:amode=1 \
> -tv norm=NTSC:width=640:height=480 \
> -tv chanlist=japan-bcast:channel=1 tv://

毎回これを入力するのは面倒なので, Perl で書いたスクリプト tvwatch.pl を利用する. これを $HOME/bin など PATH の通たディレクトリに置いて, 実行可能に chmod しておく.

$ tvwatch.pl 1

これで 1 チャンネルを観ることができる.

テレビを録画する

テレビを録画するためには MPlayer に付属する mencoder を使用する. mplayer 同様,起動するためのコマンドが非常に長いので, Perl で書いたスクリプト tvrec.pl を利用する. これを $HOME/bin など PATH の通たディレクトリに置いて, 実行可能に chmod しておく.

$ tvrec.pl -c 1 -t 00:01:30 -o out.avi

これで out.avi に 1 チャンネルを 1 分 30 秒録画できる.

録画予約をする

テレビ王国 が番組表と共に配布している tvpi ファイルを使って, 録画予約を実現する.

Linux 上で atd サービスが有効になっている必要がある. atd サービスが有効になっているかどうかチェックする.

# chkconfig --list atd
atd             0:オフ  1:オフ  2:オフ  3:オン  4:オン  5:オン  6:オフ

もし全てオフになっている場合には,atd をサービスに追加する.

# chkconfig --add atd
# service atd start

録画予約のための Perl スクリプト tvbook.pl$HOME/bin など PATH の通ったディレクトリに入れておき, 実行可能に設定しておく. tvbook.pl の漢字コードは EUC UNIX 形式にしておく. また,tvbook.pl は内部で tvrec.pl を呼び出しているので, tvrec.pl が動作するように設定しておく.

テレビ王国 が配布している tvpi ファイルの漢字コードは Shift-JIS DOS 形式なので, EUC UNIX 形式に変換してから tvbook.pl に渡す.

$ nkf -e -Lu TVPTI_output.tvpi | tvbook.pl

これで録画予約が実現する.

また,正確な時間に録画を開始するためには, PC の時計を常に正確にしておかなければならない. ntpd を使って,常にタイムサーバと同期を取らせておく. Red Hat Linux 9 ならば, redhat-config-date コマンドで設定できる.要 X 環境.

参考リンク


viusulce@hotmail.com
Last modified: Sun Mar 14 17:51:54 JST 2004