Fernsehen mit einer TV Karte
Inhaltsverzeichnis
Benutze Hard- und Software
- Computer auf Basis von ia32 (Pentium III) mit PCI Bus
- Hauppage WinTV/Radio (neues Modell mit Fernbedienung auf Basis des bt878 Chips)
- Distribution: Debian unstable (sid, 28. März 2001)
- Kernel 2.4.2-ac26
- XFree86 4.0.2
- xawtv 3.40
Diese Auswahl von Software spiegelt den aktuellen Stand am Zeitpunkt der Erstellung wieder. So ähnlich funktionierte dies auch mit der Kernel Serie 2.2.x, XFree86 3.3.x und Debian 2.2r0 ("potato").
Die Konfiguration des Kernels
Wer bisher noch nie einen Kernel kompiliert hat, der sollte sich an geeingneter Stelle zuerst Informationen einholen. Im Normalfalle sind die bei den Distributionen mitgelieferten Kernel auch mit den passenden Modulen ausgestattet. Wer diese einsetzen möchte, kann direkt zum nächsten Thema (FIXME: interne Verlinkung) <a href="#laden">Das Laden der Kernel Module</a> springen.
Im Untermenü Character devices/I2C support muß folgendes aktiviert sein, da der BTTV Treiber diese benötigt (Bei den Kerneln der Reihe 2.2 ist diese Option nicht vorhanden und wird auch nicht benötigt).
<M> I2C support <M> I2C bit-banging interfaces
Nun kann im Untermenü Multimedia devices/Video For Linux der BTTV Treiber aktiviert werden:
<M> BT848 Video For Linux
Damit man nicht ohne Ton fernsehen muß muß nun auch noch unter "Sound" folgendes aktiviert sein:
<M> Sound card support [...] <M> TV card (bt848) mixer support
Der Kernel und die Module werden auf dem üblichen Wege installiert.
Das Laden der Kernel Module
In einigen Fällen kann durch einfaches Laden des BTTV Moduls schon durch automatische Konfiguration erfolgreich zur Mitarbeit überredet werden. Leider nicht so in meinem Fall.
marvin:~# insmod bttv Using /lib/modules/2.4.2-ac26/kernel/drivers/media/video/bttv.o bttv: driver version 0.7.57 loaded bttv: using 2 buffers with 2080k (4160k total) for capture bttv: Host bridge needs ETBF enabled. bttv: Bt8xx card found (0). bttv0: Bt878 (rev 17) at 00:12.0, irq: 18, latency: 64, memory: 0xfd5fe000 bttv0: subsystem: 0070:13ab (UNKNOWN) bttv0: model: BT878( *** UNKNOWN *** ) [autodetected] bttv0: enabling 430FX/VP3 compatibilty tuner: chip found @ 0x61 bttv0: i2c attach [(unset)] i2c-core.o: client [(unset)] registered to adapter [bt848 #0](pos. 0). i2c-core.o: adapter bt848 #0 registered as adapter 0. bttv0: i2c: checking for MSP34xx @ 0x80... not found bttv0: i2c: checking for TDA9875 @ 0xb0... not found bttv0: i2c: checking for TDA7432 @ 0x8a... not found
Will der Treiber wie in meinem Fall die Karte nicht automatisch erkennen, dann steht nun die Lektüre von Documentation/video4linux/bttv/CARDLIST der Kernel Dokumentation an und suchen nun dort eine Karte, die der benutzten möglichst gleicht. In meinem Falle exisitiert der Eintrag card=10 - Hauppauge new (bt878). Benutze ich diesen, dann sieht das Ergebnis schon besser aus (vor dem Laden, muß das schon geladene Modul erst mittels
rmmod bttv
entfernt werden):
marvin:~# insmod bttv card=10 Using /lib/modules/2.4.2-ac26/kernel/drivers/media/video/bttv.o bttv: driver version 0.7.57 loaded bttv: using 2 buffers with 2080k (4160k total) for capture bttv: Host bridge needs ETBF enabled. bttv: Bt8xx card found (0). bttv0: Bt878 (rev 17) at 00:12.0, irq: 18, latency: 64, memory: 0xfd5fe000 bttv0: subsystem: 0070:13ab (UNKNOWN) bttv0: model: BT878(Hauppauge new (bt878)) [insmod option] bttv0: enabling 430FX/VP3 compatibilty bttv0: Hauppauge msp34xx: reset line init tuner: chip found @ 0x61 bttv0: i2c attach [(unset)] i2c-core.o: client [(unset)] registered to adapter [bt848 #0](pos. 0). msp34xx: init: chip=MSP3415D-B3, has NICAM support msp3410: daemon started bttv0: i2c attach [MSP3415D-B3] i2c-core.o: client [MSP3415D-B3] registered to adapter [bt848 #0](pos. 1). i2c-core.o: adapter bt848 #0 registered as adapter 0. bttv0: Hauppauge eeprom: model=61344, tuner=Philips FM1216 (5), radio=yes bttv0: i2c: checking for MSP34xx @ 0x80... found bttv0: i2c: checking for TDA9875 @ 0xb0... not found bttv0: i2c: checking for TDA7432 @ 0x8a... not found
Nun werden direkt die passenden Untermodule mit den passenden Optionen geladen: tuner und msp34xx. Ein lsmod sollte nun so aussehen:
marvin:~# lsmod Module Size Used by bttv 52880 0 (unused) tvaudio 8000 0 (autoclean) (unused) msp3400 13392 1 (autoclean) tuner 3984 1 (autoclean) i2c-algo-bit 7040 1 [bttv] i2c-core 12176 0 [bttv tvaudio msp3400 tuner i2c-algo-bit] videodev 4736 3 [bttv]
Sollte wiedererwarten die TV-Karte nicht so leicht zum laufen zu bewegen zu sein, dann kann ich nur empfehlen die Dokumentation unterDocumentation/video4linux/bttv/ zu lesen und mit den Optionen tuner=, card= und pll= herum zu spielen.
Die Programme und XFree86
Zum Test empfehle ich das Programm xawtv - dieses wird vom Mitauthor des BTTV Kernel Treibers gepflegt, sollte also in jedem Fall funktionieren. Der Author Gerd Knorr pflegt auch das Debian Paket.
Benutzer von XFree86 in der Version 3.3.x, sollten nun direkt fernsehen können. Benutzer von XFree86 4.0.x müssen darauf achten, daß das (XFree86) Modul "v4l" geladen wird. Dazu muß folgendes in der XF86Config (zu finden unter /etc, /etc/X11 oder als /etc/X11/XF86Config-4 - je nach Distribution) stehen:
Section "Module" [...] Load "v4l" [...] EndSection
Dies ist allerdings nicht nötig, wenn der sogenannte Overlay Modus nicht benutzt werden soll. Dieser ist aber sehr zu empfehlen. In diesem Modus kopiert die TV-Karte aus eigener Kraft das TV-Bild in den Speicher der Grafikkarte. Dadurch wird nur der PCI Bus belastet und der Prozessor hat keine Arbeit zu leisten, außer gelegentlich die aktuellen Fensterdaten zu aktualisieren.
Bei xawtv können mittels der Hoch und Runter Tasten zwischen den Kanälen umschalten. Mit der Taste "E" kann der "Channel Editor" zum dauerhaften Abspeichern der einzelnen Kanäle benutzt werden.
Radio
Wer Radio mit seiner TV Karte hören möchte der muß dem Treiber den Parameter radio=1 übergeben, wenn dies nicht schon automatisch passiert. Mit den Programmen radio (aus dem xawtv Paket) und gradio sollte nun problemlos durch die Radioprogramme schaltbar sein.
VideoText
Mit dem Programm alevt kann bequem durch den VideoText des jeweilig eingeschalteten Senders geschaut werden.
Links
alevt - Dies ist ein sehr guter VideoText Betrachter. (leider zum Zeitpunkt des Schreibens nicht erreichbar)
BTTV Mini-HOWTO - Ein englisches HowTo (Wie zu tun...)
Gatos - Das Gatos Projekt versucht Treiber für ATIs All-In-Wonder zu erstellen.
Gnomovision - Ein Projekt, um ein Programm zum Fernsehen unter GNOME zu entwickeln. Leider noch nicht fertig.
Video TV HowTo - ein deutsches HowTo (Wie zu tun...)
WMtv - Ein Window Maker Dockapp, welches ein TV Bild bietet.
XawTV - Das Programm. Da es vom BTTV Entwickler entwickelt wird. sollte dieses Programm zur Überprüfung einer TV Karte benutzt werden.
Hinweise
Der Author ist Alain Schröder. Hinweise, Ergänzungen, etc sind immer willkommen. Einfach per eMail. Der Author übernimmt keinerlei Haftung!
Dieses Dokument unterliegt der OPL.
letzte inhaltliche Bearbeitung am: Mon, 9 Apr 2001 15:24:31 +0200