076789.jpg

Blick in die Ferne

Fernsehen und Videotext mit Linux

01.08.2003
Wer mit Linux fernsehen, Videotext anzeigen oder das Fernseh-Programm aufnehmen will, ist bei Xawtv genau richtig. Darüber hinaus kann dieses Softwarepaket Bilder von Webcams anzeigen und überzeugt durch Stabilität und Performance.

Was einst als Frontend für einen einzelnen TV-Karten-Treiber begann, entwickelte sich im Laufe der Zeit zu einer umfangreichen Programm-Suite. Das Xawtv-Paket sorgt für vollen Video-Genuss unter Linux. Der damalige Bttv-Treiber fand als Video4linux seinen Weg in den Kernel und Xawtv spricht nun jedes Stück Hardware an, das vom Video4linux-API unterstützt wird. Die Suite enthält die TV-Programme xawtv, motv, fbtv und ttv. mtt und alevtd sorgen für Videotext und webcam bringt die Bilder der heimischen Web-Kamera ins Netz.

Dank der Openmotif-Bibliothek mutet das Benutzer-Interface von motv moderner an als das von xawtv, und es bietet auch ein paar mehr Features. fbtv läuft auf der Linux-Framebuffer-Konsole; mit diesem Programm lässt es sich auch ohne X prima fernsehen.

Abbildung 1: motv bietet dem Anwender eine modernere Oberfläche und mehr Funktionen als xawtv

ttv ist ein etwas ungewöhnliches Programm. Es erlaubt das Fernsehen auf der Konsole und stellt zu diesem Zweck die Bilder mit Hilfe von ASCII-Zeichen dar [4]. So kann man per SSH die Webcam an einem Web-Server überprüfen, ohne dafür extra einen X-Server starten zu müssen.

Die Installation

Xawtv gehört bei den meisten Linux-Distributionen zur Standardausstattung. Üblicherweise verteilen sich die einzelnen Programme über mehrere Pakete. Es reicht daher nicht aus, einfach nur das Paket xawtv einzuspielen, um alle Funktionen, die in diesem Artikel besprochen werden, zu nutzen.

Bei einer aktuellen SuSE installiert folgender YaST2-Aufruf alles Nötige:

yast2 -i xawtv motv alevtd v4l-tools

Debian splittet die Pakete noch etwas feiner auf, so dass Apt ein paar mehr Paketnamen braucht:

apt-get install xawtv motv fbtv ttv radio xawtv-tools webcam alevtd
tv-fonts

motv und Openmotif befinden sich in den Kategorien non-free contrib, die in der /etc/apt/sources.list aufgelistet sein müssen. Die aktuelle stabile Version von Debian enthält das Paket tv-fonts leider noch nicht, was zu Problemen bei der Darstellung von Videotext-Seiten führen kann.

Wer sich lieber den neuesten Tarball selber kompilieren will, installiert Xawtv mit dem üblichen make && make install. Damit auch motv, mtt, scantv und alevtd kompilieren, sollten auf jeden Fall Zvbi [2] und Openmotif [3] installiert sein. RPM-Nutzer erstellen sich ein RPM-Paket aus dem Tarball, indem sie diesen direkt an rpm übergeben:

rpm -ta xawtv_3.88.tar.gz

Das fertige Paket installieren sie dann wie üblich mit rpm -i.

Fernsehen

Einfach nur fernsehen ist nach wie vor der Haupteinsatzzweck für Xawtv, auch wenn es inzwischen weit mehr Hardware als nur TV-Karten unterstützt. Beispielsweise zaubert es auch das Bild einer USB-Webcam auf den Bildschirm.

Für die ersten Schritte empfiehlt es sich, zu xawtv oder motv zu greifen. fbtv und ttv haben eine recht eingeschränkte Oberfläche und sind nur mit einer vorher erstellten Konfigurationsdatei so richtig alltagstauglich.

Mit xawtv -hwscan oder motv -hwscan verschafft man sich erst einmal einen Überblick über die vorhandene Hardware. Das ist vor allem bei mehreren angeschlossenen Geräten nützlich, beispielsweise einer USB-Webcam und einer TV-Karte wie in Listing 1. Je nach Gerät steuert xawtv/motv die Hardware über Ports mit Hilfe des X-Servers oder direkt über die Gerätedatei an.

Bei dem dort aufgelisteten Port 53 handelt es sich um einen Xvideo-Port. Als Vermittler zwischen diesem und dem Bttv-Treiber arbeitet das V4l-Modul des X-Servers. Für Besitzer von ATI-Grafikkarten entwickelt das GATOS-Projekt [5] spezielle Treiber, um die TV-Hardware dieser Karten über einen Xvideo-Port anzusteuern.

Über den Xvideo-Port 54 können X11-Anwendungen Bilder von der Grafikkarte skalieren lassen. Vor allem Media Player wie Xine oder Mplayer überlassen so beim Abspielen von Videos einen Teil der Arbeit der Grafikkarte und entlasten dadurch die CPU. Auch Xawtv kann diesen Port zum Anzeigen der Frames im Grabdisplay-Modus (s. Kasten 1) nutzen.

Das erste Video4linux-Gerät – in diesem Fall eine USB-Webcam – wird über die Datei /dev/video0 angesprochen. Mit /dev/video1 steuern Applikationen das zweite Gerät an, in Listing 1 eine Bttv-Karte von Pinnacle. Diese Karte erreichen Programme auch über den Xvideo-Port 53, allerdings nutzt Xawtv in diesem Fall den Bttv-Treiber direkt, ohne dass der X-Server dazwischen hängt.

Listing 1

Xawtv listet alle Video-Geräte im Rechner auf

$ xawtv -hwscan
This is xawtv-3.88, running on Linux/i686 (2.4.20-0611-suse)
looking for available devices
port 53-53                              [ -xvport 53 ]
    type : Xvideo, video overlay
    name : video4linux
port 54-54
    type : Xvideo, image scaler
    name : Matrox G-Series Backend Scaler
/dev/video0: OK                         [ -device /dev/video0 ]
    type : v4l
    name : Logitech USB Camera
    flags:  capture
/dev/video1: OK                         [ -device /dev/video1 ]
    type : v4l
    name : BT878(Pinnacle PCTV Studio/Ra)
    flags: overlay capture tuner

Standardmäßig greift xawtv auf den ersten Eintrag in der Hardware-Liste zurück. Um ein anderes Gerät zu benutzen, teilt man das dem Programm beim Start über die Option -device mit. Den nötigen Parameter verrät xawtv -hwlist in eckigen Klammern. Folgender Aufruf lässt xawtv auf die USB-Kamera aus Listing 1 zugreifen:

xawtv -device /dev/video0

Nach dem ersten Start zeigen xawtv oder motv lediglich ein verrauschtes Fernsehbild. Die rechte Maustaste fördert ein zweites Fenster mit diversen Einstellungsmöglichkeiten zutage. Viele Funktionen lassen sich auch mit der Tastatur steuern. Beispielsweise steuern die Cursortasten den Tuner und suchen nach Fernsehsendern. In den Menüeinträgen stehen die Tastaturkürzel immer hinter den Namen, eine Übersicht liefert auch die Manpage.

Da die Sendersuche mit den Cursortasten nicht wirklich Spaß macht, hat motv einen automatischen Sendersuchlauf eingebaut, den Options / Channel scan startet. Mit Options / Save configuration speichert motv die Sender in einer Konfigurationsdatei, die auch xawtv nutzt. Wer das lieber von Hand macht, benutzt scantv. Dieses Programm sucht automatisch nach Sendern und speichert sie in der Datei $HOME/.xawtv. Um Änderungen an der Senderliste vorzunehmen, bearbeitet man einfach die Konfigurationsdatei mit einem Editor. [Bild auf] und [Bild ab] oder die Leertaste zappen in xawtv/motv von einem Sender zum nächsten. Das Scrollrad der Maus eignet sich übrigens auch dafür.

Kasten 1: Wie das Bild auf den Bildschirm kommt

Es gibt zwei Wege, die Daten von der Fernsehkarte auf dem Monitor darzustellen. Entweder schreibt die Karte diese per PCI-PCI-Transfer über den PCI-Bus direkt in den Speicher der Grafikkarte, was die CPU entlastet. Hierbei steuert der X-Server oder Xawtv selbst die TV-Karte an. Alternativ holt das Programm einzelne Frames von der Fernsehkarte und gibt diese genau wie beim Abspielen von Filmen über die Grafikkarte auf dem Bildschirm aus. Aus diesen Optionen ergeben sich drei verschiedene Operationsmodi:

Bei Overlay mit Xvideo-Extension steuert der X-Server die Fernsehkarte an. Dadurch "weiß" der X-Server, dass da ein Videobild ist. Wenn sich der sichtbare Teil des Fensters ändert (durch Verschieben, Vergrößern, teilweises Verdecken etc.), koordiniert er Fernsehkarte und Grafikkarte entsprechend und vermeidet, dass das Bild in einem falschen Fenster landet. Spielen Treiber und Grafikkarte mit, lässt der X-Server das Fernsehbild von der Grafikkarte auf die volle Bildschirmgröße hochskalieren. Leider funkioniert das nicht mit allen Grafikkarten. Außerdem kann Xawtv in diesem Modus derzeit keine Bilder oder Filme speichern.

Bei Overlay ohne Xvideo-Extension steuert Xawtv die Fernsehkarte direkt an. Diese schiebt das Videobild per PCI-PCI-DMA zur Grafikkarte, ohne dass der X-Server etwas davon mitbekommt. Das Fernsehbild landet dabei gelegentlich in Bildschirmbereichen, in denen es nichts verloren hat. Dieses Problem umgeht Xawtv durch einen erzwungenen Refresh, was zu einem störenden Flackern des ganzen Bildschirms führt.

Im Grabdisplay-Modus holt sich Xawtv die Bilder von der TV-Karte und gibt sie aus, was tendentiell weniger Hardwareprobleme macht (manche Motherboards kommen mit dem PCI-PCI-DMA-Transfers der Overlay-Modi nicht klar). In diesem Modus ist es möglich, das Bild mit Softwarefiltern (beispielsweise zum Deinterlacing) zu bearbeiten. Allerdings verbraucht Grabdisplay mehr Ressourcen. Wer im Vollbild fernsehen und nebenbei einen Kernel kompilieren oder MP3s erstellen will, braucht einen schnellen Rechner.

Zwischen Overlay ohne Xvideo und Grabdisplay schaltet xawtv per Menü hin- und her. Die USB-Webcam aus Listing 1 (-device /dev/video0) unterstützt übrigens kein Overlay, daher steht mit ihr nur Grabdisplay zur Verfügung.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...