== Fernsehen mit einer TV Karte == <> == 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) <> Das Laden der Kernel Module 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). {{{ I2C support I2C bit-banging interfaces }}} Nun kann im Untermenü '''Multimedia devices/Video For Linux''' der BTTV Treiber aktiviert werden: {{{ BT848 Video For Linux }}} Damit man nicht ohne Ton fernsehen muß muß nun auch noch unter "Sound" folgendes aktiviert sein: {{{ Sound card support [...] 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 unter'''Documentation/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 [[http://www.strusel007.de/linux/xawtv/|xawtv]] - dieses wird vom Mitauthor des BTTV Kernel Treibers gepflegt, sollte also in jedem Fall funktionieren. Der Author [[mailto:kraxel@strusel007.de|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 [[http://user.exit.de/froese|alevt]] kann bequem durch den VideoText des jeweilig eingeschalteten Senders geschaut werden. == Links == * [[http://user.exit.de/froese|alevt]] - Dies ist ein sehr guter VideoText Betrachter. (leider zum Zeitpunkt des Schreibens nicht erreichbar) * [[http://www.linuxdoc.org/HOWTO/mini/BTTV-Mini-HOWTO-0.3.html|BTTV Mini-HOWTO]] - Ein englisches HowTo (Wie zu tun...) * [[http://www.linuxvideo.org/gatos/|Gatos]] - Das Gatos Projekt versucht Treiber für ATIs All-In-Wonder zu erstellen. * [[http://www-unix.ecs.umass.edu/~mcrichto/gvision.html|Gnomovision]] - Ein Projekt, um ein Programm zum Fernsehen unter [[http://www.gnome.org|GNOME]] zu entwickeln. Leider noch nicht fertig. * [[http://www.mathematik.uni-kl.de/~wenk/kwintv/|kwintv]] - Ein [[http://www.kde.org|KDE]] Programm zum Fernsehen. * [[http://home.arcor-online.de/holger.klemm/DE-Video-TV-HOWTO/DE-Video-TV-HOWTO.html|Video TV HowTo]] - ein deutsches HowTo (Wie zu tun...) * [[http://www.student.uwa.edu.au/~wliang/|WMtv]] - Ein [[http://www.windowmaker.org/|Window Maker]] Dockapp, welches ein TV Bild bietet. * [[http://www.strusel007.de/linux/xawtv/|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 [[http://www.parkautomat.net|Alain Schröder]]. Hinweise, Ergänzungen, etc sind immer willkommen. Einfach per [[mailto:alain@mini.gt.owl.de|eMail]]. Der Author übernimmt keinerlei Haftung! Dieses Dokument unterliegt der [[http://opencontent.org/opl.shtml|OPL]]. letzte inhaltliche Bearbeitung am: Mon, 9 Apr 2001 15:24:31 +0200