Access counter:
since Fri May 8 10:48:09 JST 1998
Bt848 というチップを塔載したチューナ付きビデオキャプチャカードを 先日、秋葉原の A-Masterというショップで購入しました。 KOUWELL Key Vision KW-606 というやつで、税込みで 10,000 円と安かったです。 今はもうちょっと値上げされているらしい。
いろいろ苦労した結果、Linux の X(たぶん 16bpp 以上でないと動きません)で、 bttv というドライバと xawtv というソフトを使ってテレビが見れるようになったので、 忘れないうちにやったことを書いておきます。 KW-606 でなくても、 Bt848 を塔載しているカードなら動くのではないかと思います。
この WWW ページは随時更新中です。
ご指摘などありましたら
takeshi@jsk.t.u-tokyo.ac.jp
までよろしくお願いします。
snapshot4.jpg
(344 KB)
KW-606 は 1ch の映りがわるいという話がありましたが、
特にそのような問題は起こりませんでした。
また、メモかわりにキャプチャしといた懸賞の応募画面を以下に示します (xawtv にそのような機能があります。結局、応募するのは忘れてしまいました(T_T))。
snap0001.jpg
(56KB)
snap0002.jpg
(68KB)
snap0003.jpg
(66KB)
snap0004.jpg
(60KB)
snap0005.jpg
(83KB)
自作 AT 互換機 #1
http://user.cs.tu-berlin.de/~kraxel/linux/index.html
)http://www.thp.Uni-Koeln.DE/~rjkm/linux/bttv.html
)
自作 AT 互換機 #2(参考)
まず、
http://user.cs.tu-berlin.de/~kraxel/linux/xawtv-2.08.tar.gz
をとってきて適当な場所に展開します。
この xawtv-2.08 の README
によると、
いま配布されている bttv-0.5.6 では動かんといっているように見えたので、
xawtv-2.08 付属の bttv ドライバを使うようにしました。
なお以前試した xawtv-2.04 では、 Linux 2.0.33 では bttv-0.5.6 に含まれるドライバで、 また最近の Linux 2.1 ではカーネルに含まれている Video for Linux の bttv ドライバで うまく動いていました。
コンパイルするには、bttv
というサブディレクトリに
cd
したあと、そこにある Makefile
を書きかえ、
make
するだけです。
/usr/src/linux
以下にカーネルコンパイル後のソースツリーがないと
うまくいかないかもしれません。
KW-606 を使う場合、
Makefile
で書きかえたのは先頭のほうの次の一箇所だけです。
日本で使うなら 2 か 6 がたぶん正解だと思うのですが、 どちらで試しても動いてしまったのでよくわかりません。################################################# # config # 0: Temic PAL tuner # 1: Philips PAL_I tuner # 2: Philips NTSC tuner # 3: Philips SECAM tuner # 4: no tuner # 5: Philips PAL tuner # 6: Temic NTSC tuner # 7: Temic PAL tuner TUNER=2
/usr/src/linux/Rules.make
を使っているせいか、
いろいろ妙なことをやられてエラーを吐いておわってしまいましたが、
モジュールができさえすればいいので、
僕は気にせずにできあがったモジュールを所定の場所にほうりこんで、
依存関係をチェックするだけで終わらせてしまいました。
# cp *.o /lib/modules/2.0.33/misc # depmod -a
また、
linux-2.0.33.diff
とかいう気になるファイルがあったのですが、
これは使わなくても平気そうでした。
まず、channel.c
の最後にある巨大な表を書きかえます。
これには日本の放送周波数も含まれており、
その映像周波数に従った数値がきちんと書きこまれているのですが、
このまま使うとなぜかうまく映りませんでした。
これは KW-606 のみの現象なのかどうかはよくわかりません。
ともあれ試行錯誤の結果、 各々の数値に 7000 を加算してやるときれいに映るようになりました。 ただし、VHF の 1 チャンネルから 12 チャンネルまでしか 確かめておらず、UHF やケーブルテレビではどうなるかはわかりません。 どなたか試して僕に教えてください。
(6/18 追記: 松本さんという方が、 このへんの謎を解きあかして教えてくれました。 こちらのページをどうぞ)
とりあえず、VHF の部分だけを修正するパッチを用意しました。
これ
を channel.c
のあるところに置いて
とすれば OK です。% patch < channel.c.diff
準備ができたら、次のようにして make します。
これによって xawtv をはじめとする各種バイナリが作られます。% ./configure --with-bttv=$PWD/bttv % make
バイナリができたら、とりあえず 16bpp 以上の X を立ち上げ、 root になってモジュールを組みこみ、 必要なリソースを X サーバに読みこませて試します。
# modprobe tuner # modprobe bttv # xrdb -merge Xawtv.ad # ./xawtv
modprobe
は、
モジュールを /lib/modules/...
以下にコピーした上で
depmod -a
を行っていないとうまくいきませんので注意。
最終的にモジュールの組み込み状況は次のような感じになります。
horologium# modprobe tuner horologium# modprobe bttv horologium# lsmod Module Pages Used by bttv 7 0 videodev 1 [bttv] 2 tuner 1 1 i2c 1 [bttv tuner] 0 sound 25 1 (autoclean) psaux 1 1 (autoclean) horologium#
xawtv
の画面があらわれたら、
マウスのボタン 3 を押してメニューを出して、
TV Norm を NTSC にします。
アンテナが繋がっていれば、
Video Source を Television にし、
Frequency table を ntsc-bcast-jp にするとテレビ画面が映ります。
チャンネルはカーソルの↑か↓で変えられます。
Makefile
を何もかきかえずに make install
すると、
/usr/local/{bin,man}
に各種バイナリ、
マニュアルページがインストールされ、
Xawtv.ad
は
/usr/X11R6/lib/X11/app-defaults/Xawtv
にコピーされます。
v4l-conf
というプログラムは
root
で setuid
されるので注意。
このプログラムは X サーバの画面のサイズと depth をドライバに伝えるために
使われます。以前は明示的に実行する必要があったのですが、xawtv-2.08 では
xawtv
が勝手に実行するようです。
詳しくは xawtv(1)
に全部書いてありますが、
~/.xawtv
というファイルに各種設定を書いておけます。
~/.xawtv
の例 :
こうしておくと左クリックでチャンネルが選べるようになり便利です。source = Television freqtab = ntsc-bcast-jp norm = NTSC [NHK General] channel = 1 [NHK Education] channel = 3 [NTV] channel = 4 [TBS] channel = 6 [FUJI] channel = 8 [ASAHI] channel = 10 [TOKYO] channel = 12 [VIDEO] source = Composite1 [SVHS] source = SVHS
僕は今は Millennium と Accelerated-X の組みあわせで使っていますが、 XFree86 3.3 には DGA という機能があり、 bttv ドライバは DGA が使えるときには DGA を使っています。 XFree86 で DGA を使うほうが、描画がスムーズに行われるように見えました。
サウンドカードを使えば、xawtv
で
チューナの出力からスピーカへの音量をコントロールすることもできます。
Bt848 ボードの出力をサウンドカードの LINE IN 端子に入力します。
KW-606 にはそのための短かい接続ケーブルが付属していました。
僕はこのマシンにはまともに動くサウンドカードをさしてないので、試してません。
だれか Windows NT 4.0 で動く Bt848 ドライバと TV ソフトを作ってください。 そしたらもう 1 枚買います。