PC でテレビをみる

PC Watch アキバ Hotline でも紹介された TV チューナー付ビデオキャプチャーボード KW606 を購入。いろいろいじってみた。おまけソフトは (糞Win95)用しかないけど、Bt848 という石を使ったボードは、FreeBSD や Linux 用のドライバーも書かれていて使えるそうな。

とりあえず (糞Win95)用ソフトを立ち上げたが、映らない。マニュアルも古いバージョンのソフトについて書いてあるので、全く役に立たない。適当にいじってたらちゃんと映った。temic, ntsc-japan, air の設定にすれば良かった。附属ソフトはテレビと FM ラジオがあるのだが、FM のバンドがアメリカのバンド 88-108MHz なので残念。

仕事しながら TV を見るには、私の場合 X 上で動かないとなりません。普段 Linux を使っているのでとりあえず bttv-0.5.8 と xawtv-2.12 を入れた。TVが映る事は映ったのだが、NTSC-jp のチャンネルの設定が滅茶苦茶である。八重樫氏のサイトでも同様の事を書かれている。後に xwintv-0.2.0 も入れたがこれも、周波数がずれている。問題点を整理すると

まず、この KW606 の構成を知る為に解剖した。

チューナーで使っている石で、周波数を決めてるのは TSA5522 であるが、これは BTTV で定義している石と同じなので問題無し。TDA9800 でビデオ信号とかを取り出すのだが、IF周波数は PAL と NTSC で 6.85MHz 違う。ここらへんがうまく行ってないではないか?と思いデバイスドライバをつらつら眺めていたら、tuner.c で

div=freq + (int)(16*38.9);

といった具合で IF周波数を PAL で決め打ちしていた。私は NTSC だけでいいので 38.9 を 45.75 に変更した。これで、設定した周波数と受信してる周波数が一致するようになった。

手間暇かけて BTTV のバグを見つけたが、後日 BTTV のサイトを見たら、作者のプライベートディレクトリを公開して、そこにちゃんと修正したのが置いてあった。そこのCHANGESを読むとLinux のカーネル 2.1.105 からは修正された bttv ドライバが入ってるように思えるが、2.1.106をみるかぎり tuner.c は修正されてなかった。

xawtv は UHF のチャンネルが変なのでソースを読むとなるほど channel.c の NTSC-jp のとこが変だった。書き直したのはここ。手で書いたので間違いがあるかもしれない。関東地方在住なので、14,16,38,42,46チャンネルは確認済み。.xawtv の定義は八重樫氏のサイトを参考にした。

xwintv には日本のバンドの定義が無い。コンパイル済みのバイナリを取って来たので、設定ファイルで何とかするしかなくて、面倒だけど関東地方のチャンネル分定義した。これを展開後~/.qtwintvrc/以下に置けば良い。周波数の単位は 1/16MHz なので、つまみで合わせるより数字を入れた方が良い。

ともあれ、何とかテレビが見えるようになった。仕事しながらTV見ると、仕事があまり進まない事もわかった。「xawtvのおまけのラジオが聞けない、ステレオ、二ヶ国語が聞けない、文字多重かデータ放送かしらないけど、上の方にチラチラしてる。」はまだ未解決。気が向いたら調べるカモ。

関係ないけど、なんでジオシティーズって、ファイルの拡張子の制限なんかしてんだ?バホ!

関連リンク