In diesem Kurzvortrag wird ein Überblick über die Möglichkeiten, Bt848-basierte Videokarten unter Linux einzusetzen, gegeben.
Die Bt848-basierten Karten ermöglichen es unter X11 sowohl in einem
Fenster, als auch bildschirmfüllend fernzusehen. Es kann dabei
umgeschaltet werden zwischen dem Signal des eingebauten TV-Tuners und
dem Signal des Video- und SVHS-Eingangs.
Einige (aber nicht alle)
Karten sind Stereo- und Zweikanaltonfähig, allerdings wird dies unter
Linux noch nicht für all jene unterstützt.
Weiterhin ist es möglich Einzelbilder abzuspeichern, sowie ganze Sequenzen zu digitalisieren, sofern der Festplattendurchsatz dies zuläßt.
Das Anzeigen (und Abspeichern) von Videotext und Intercast ist bei allen diesen Karten in Software möglich. Einige der Karten besitzen Videotext-Decoder in Hardware, die aber nur z. T. bisher von dem Linux-Treiber unterstützt werden.
Einige der Karten verfügen ebenfalls über einen Radio-Tuner, mit dem FM-Radio empfangen werden kann. Auch hier gilt, daß der Linux-Treiber dies noch nicht bei allen Karten unterstützt.
Welche Karten welche Möglichkeiten bieten und wie weit diese unter Linux unterstützt werden steht auch in dem ausführlichen Artikel im Februar 1998 Heft des Linux Magazins (siehe unten). Dort findet sich auch eine ausführliche Beschreibung sowie weitere URLs.
Bisher werden nur PCI-Karten mit dem Chip Bt848 von Brooktree unterstützt. Dies sind u. a. Hauppauge Win/TV(/Radio) PCI und Miro PCTV. Diese Karten laufen nicht mit allen Grafikkarten und nicht mit allen Mainboards zusammen. Eine Kompatibilitätsliste ist auf der Seite der Freiburger Linux User Group (siehe unten) zu finden.
Falls der Audio-Ausgang der TV-Karte an den Audio-Eingang der Soundkarte angeschlossen wird, muß die Soundkarte ebenfalls unterstützt werden.
/usr/doc/packages/bttv/README.Hauppauge
.
Bei diese S.u.S.E.-Distribution sind bereits einige Kernel-Module
für Bt848-basierte Karten, sowie das Programm XTVscreen
dabei. Dokumentation dazu steht unter
/usr/doc/packages/bttv/
.
Ich habe die Version des Modules bttv
und der
dazugehörigen Module, die bei dem Programm XawTV
dabei
waren genommen und für den Standard-Kernel der S.u.S.E. übersetzt und
empfehle diese zu verwenden. Wenn der Kernel neu übersetzt wird, sind
auch die Module mittels
rpm --rebuild xawtv-2.08-7.src.rpm
neu zu
übersetzten. Diese RPM enthält die bttv
-Module,
XawTV
und KRadio
. Weiterhin liegt noch ein
Paket mit VideoteXt
und vbidecode
dabei.
Als erstes sind die Pakete mittels rpm -i
zu
installieren
Das Laden der Module per kerneld
klappt leider nicht
richtig, daher werden diese per init
-Script geladen. Es
ist dazu in dem Script /etc/rc.d/init.d/bttv
evtl. der
Tuner-Typ zu konfigurieren. Falls beim beim Starten von
xawtv
folgende Fehlermeldung erscheint
Server supports DGA extention (version 1.0) X-Server supports VidMode extention (version 0.8) available video mode(s): 1024x768 768x576 352x240 dga: base=0xf0000000, width=1024 v4l: base=0xf1000000 v4l and dga disagree about the framebuffer address you probably want to check out the vidmem argument of the bttv moduleist in
/etc/rc.d/init.d/bttv
die Zeile in der
bttv
geladen wird wie folgt zu ändern:
xinsmod bttv radio=1 vidmem=0xf00Das Argument für
vidmen
ist entsprechend der
Fehlermeldung anzupassen.
Mittels /etc/rc.d/init.d/bttv start
werden die Module
geladen. Mit dem Parameter restart
können nach Änderungen
im Script oder falls die Module sich "verschluckt" haben diese neu
geladen werden. Dieses Script kann in den üblichen Bootvorgang
integriert werden.
Ein kleines Programm, um fernzusehen ist
XawTV
. XawTV
kommt ohne aufwendige
Grafikbibliotheken aus und besitzt alle wichtigen Funktionen. Auf
dieser CD ist ein RPM mit XawTV
für S.u.S.E.-Linux
enthalten; in dem Paket ist auch eine Beispieldatei mit der
Kabelbelegung für Kaiserslautern enthalten.
Wenn die Kernel-Module für die Videokarte und die Soundkarte
geladen sind, kann XawTV
auf 32-Bit-Farbtiefe X-Displays
wie folgt gestartet werden: xawtv -b32
(bei
anderer Farbtiefe ist der entsprechende Wert einzusetzen). Es
empfiehlt sich für XawTV
mit mindestens 16-Bit-Farbtiefe
zu arbeiten.
Mit der Linken Maustaste im Bildfenster läßt sich ein Menu mit den in der Konfigurationsdatei definierten Sendern (Stations) aufklappen, in dem der Kanal gewechselt werden kann. Die rechte Maustaste öffnet ein Menu mit Konfigurationsmöglichkeiten und einigen Kommandos wie Bilder speichern. Zu sämtlichen Aktionen lassen sich Tastaturkürzel definieren.
Beispiel einer Arbeitsumgebung, in dem der Aufruf von
xawtv
, sowie das Fernsehfenster, die Senderliste und das
Konfigurationsfenster zu sehen sind (zur Vergrößerung Bild
anklicken).
Um ein PAL-Bild im Vollbild anzuzeigen, ist es am besten, eine
zusätzliche Auflösung von 768x576 in der XF86Config
zu
definieren (siehe Beispiel in xawtv.example
in
/usr/doc/packages/xawtv/
). XawTV
schaltet dann bei Wahl von Vollbild automatisch auf den anderen
Videomode um.
Wenn XawTV
auch recht simpel ist, hat es meiner
Meinung nach einige Vorteile. Man hat so beim Fernsehen nicht so viele
"störende" Widgets auf dem Bildschirm. XawTV
läßt sich
auch als normaler Benutzer starten, lediglich v4l-conf
benötigt ein s-Bit. Andere Programme sind das Motifprogramm
XTVscreen
(bei der S.u.S.E. dabei) sowie das Qt-Programm
xWinTV
und das GTK-Programm Gnomovision
(die beiden letzteren sind noch etwas instabil).
Mit dem Programm VideoteXt
lassen sich Videotextseiten
ansehen und als diverse Formate exportieren. Das Programm ist als
Binary statisch mit OpenView gelinkt auf dieser CD, so daß es auch
ohne OpenView läuft. Um mit VideoteXt
interaktiv zu
arbeiten, muß ein Kernel-Modul für diese Karte geladen sein. Mometan
gibt es nur Module für einige Hardware-Videotext-Decoder; leider aber
kein Modul, das Videotext in Software decodiert.
Eine Möglichkeit dennoch Videotextseiten zu lesen ist mittels
vbidecode
, das ich mit in das Videotext-RPM gepackt habe,
die Seiten eines Senders in ein Verzeichnis zu speichern und dann
offline mit VideoteXt
zu betrachten (dazu eigenet sich
das Script view_vtx
). Hier ein Beispielaufruf (das Bild
kann wieder durch anklicken vergrößert werden):
Auf dieser CD ist noch eine kleine KDE-Applikation, mit der man (sofern die Karte dies kann und unterstützt wird) Radio hören kann.
Man kann beiKRadio
Sender in 8 Speicherplätzen
speichern, sowie einzelnen Frequenzen Sendernamen zuordnen (siehe auch
die Beispiel-kradiorc
in
/usr/doc/packages/xawtv/
).
Es wird derzeit an einer Unterstüztung für Fernbedienungen unter Linux gearbeitet, so daß die Bedienung hoffentlich bald noch bequemer wird.
Das Suchen bzw. Eintragen aller Sender ist recht aufwendig (für
Kaiserslautern habe ich das per Shellscript aus einer bereits
vorhanden Senderliste für XawTV
und
XTVscreen
gemacht). Wünschenswert wäre ein
funktionierender Sendersuchlauf mit Sendererkennung
Ein Videotext-Viewer mit Unterstützung für Software-Decodierung, sowie Mausunterstützung zum Anklicken der Seitenverweise wäre wünschenswert.
BTTV Homepage: | http://www.metzlerbros.de/bttv.html |
Alan Cox, Video 4 Linux: | http://roadrunner.swansea.uk.linux.org/v4l.shtml |
Linux Magazin, Februar 1998 | http://www.linux-magazin.de/ausgabe/1998/02/Bttv/bttv.html |
Kompatibilitätsliste: | http://www.freiburg.linux.de/~flug/projekte/tv/ |