AA_wolken.jpg

© Sanjarok, Photocase.com

Schöne Aussicht

Fünf Webcams im Test

Angeblich machen Webcams unter Linux keine Probleme mehr. Ein kleiner Test mit fünf wahllos herausgegriffenen Geräten bestätigt diesen Eindruck – wenn auch mit kleinen Einschränkungen.

Um am neuesten Internet-Hype teilzunehmen, brauchen Sie eine Webcam. Beim Chat-Roulette, der Erfindung eines Moskauer Schülers, verbindet Sie der Server willkürlich mit den Webcams anderer Roulette-Teilnehmer. "Das ist oft brutal, manchmal lustig – und macht viele Nutzer süchtig", schreibt Spiegel Online.

Als Voraussetzung für das Spiel brauchen Sie eine funktionierende Webcam, die Sie dann via Adobe Flash im Netz freigeben. Auch die populäre VoIP-Software und Gnomes Spaßprogramm Cheese machen ohne Webcam wenig her.

Da es jedoch in letzter Zeit immer mal wieder Beschwerden von Nutzern gab, deren Webcams unter nicht Linux liefen, haben wir eine Stichprobe genommen. Fünf willkürlich bei Saturn ausgewählte Kameras nahmen am Test teil. Keine einzige von ihnen unterstützt laut Verpackung offiziell Linux. Für Microsofts Kamera braucht man demnach für die Installation sogar den Internet Explorer 6/7 – wie also schlagen sich diese Kameras unter Ubuntu 10.04?

Was bisher geschah

Noch vor wenigen Jahren galt die Inbetriebnahme von Webcams unter Linux als Glückssache. Meist mussten Sie einen externen Treiber im Quellcode herunterladen und ein Kernel-Modul kompilieren, bevor die Kamera lief. Eine grundlegende Verbesserung der Situation trat Ende 2008 ein, als sowohl die GSPCA- als auch die UVC-Treiber im Kernel landeten. Beide unterstützen jeweils für sich eine stattliche Anzahl Webcams, deren Treiber Linux nun – so die Theorie – direkt beim Anstöpseln der Webcams laden sollte.

Die GSPCA-Treiber [1] stammen vom französischen Arzt Michel Xhaard, der seit 2003 im Alleingang Hunderte von Treibern für USB-Webcams entwickelte. Der Name geht auf die ursprüngliche Intention Xhaards zurück, Treiber für die Sunplus Serie mit SPCA-Chipsatz zu entwickeln. UVC [2] steht hingegen für USB Video Class: Die Treiber stecken seit Version 2.6.26 im Kernel, wobei es sich bei der USB Video Class um eine Klasse von Geräten handelt, die Videoinhalte über den USB-Port streamt.

Welchen Treiber Ihre Webcam benutzt, finden Sie heraus, wenn Sie [Alt]+[F2] drücken und gnome-terminal eintippen, um ein Terminalfenster aufzurufen. In dieses schreiben Sie tail -f /var/log/messages und stecken dann Ihre Kamera in einen der USB-Ports an Ihrem Rechner. Die Ausgabe sieht etwa so aus wie in Abbildung 1, in dem Text erscheinen wahlweise die Stichwörter gspca oder uvcvideo.

Abbildung 1

Abbildung 1: Im oberen Bereich des Terminal zeigt der Tail-Befehl, was das System tut, wenn Sie die Kamera anschließen. Darunter zeigt "lsmod | grep uvc" die geladenen UVC-Module.

Beide Treiberfamilien unterstützen v4l2 (und zum Teil v4l, die alte Version). Die Abkürzung v4l steht für "Video for Linux"; es handelt sich dabei um einen Bestandteil des Kernels, der Funktionen bereit hält, um mit Geräten zu reden, die Videostreams anbieten. Zu den unterstützten Geräten zählen neben Webcams auch DVB-Karten und alles, was sonst mit Videostreaming zu tun hat. Der Kernel bringt die Version 2 von v4l mit, das auf den Namen v4l2 hört.

Da aber noch nicht alle Anwendungen v4l2 unterstützen, gibt es einen Kompatibilitätsmodus für solche, die noch über das ältere v4l mit den Videokameras kommunizieren. Zum Beispiel gehört Skype zu diesen Anwendungen, was die weiter unten erwähnten Probleme verursacht.

Anschluss finden

Um zu testen, ob Ihre Videokamera funktioniert, installieren Sie am besten das Paket cheese. Dabei handelt es sich um eine Anwendung für Videokameras, die es nicht nur erlaubt, Standbilder und Videos mit Hilfe Ihrer Webcam aufzunehmen (Abbildung 2), sondern zugleich lustige Effekte über das Bild zu legen, um den Film oder die Bilder dann an Freunde zu verschicken. Das Bild Ihrer Videokamera sollte Cheese ohne weiteres Zutun zeigen.

Abbildung 2

Abbildung 2: Cheese zeigt, ob Ihre Kamera grundsätzlich funktioniert. Skype eignet sich für solche Tests eher weniger.

Bei Skype wird es schon etwas schwieriger, denn die Software setzt auf das klassische v4l. Nutzen Sie eine Kamera, die den UVC-Treiber aus dem Kernel verwendet, rufen Sie Skype einfach auf, begeben sich in die Optionen und wählen dort den Reiter Video. Dort sollte Skype im Aufklappmenü Webcam wählen eine Kamera anzeigen – oder besser gesagt die Schnittstelle für diese, meist /dev/video0 oder /dev/video1. So heißt üblicherweise die Gerätedatei, über die Ubuntu Webcams in das System einbindet. Klicken Sie in dem schwarzen Kasten rechts daneben auf Test, erscheint Ihr Videobild (Abbildung 3).

Abbildung 3

Abbildung 3: In den Optionen von Skype testen Sie, ob die Software Ihre Kamera erkennt. Ist das nicht der Fall, wenden Sie einen Trick an.

Bei Kameras, die den GSPCA-Treiber verwenden, klappt dieser einfache Weg nicht perfekt. Hier lädt der Kernel offenbar das Modul nicht, das für die Abwärtskompatibilität von v4l sorgt. Es gibt aber zum Glück einen einfachen Workaround, um solche Kameras zum Laufen zu bringen. Dafür müssen Sie wissen, wo sich die ausführbare Datei von Skype befindet, meist unter /usr/bin/skype. Dann starten Sie die Software einfach über die Kommandozeile. Auf 32-Bit-Systemen geben Sie zum Beispiel:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype

ein, um die Anwendung zu starten. Verwenden Sie einen 64-Bit-Rechner, lautet der Befehl hingegen:

LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so /usr/bin/skype

Beachten Sie das Leerzeichen zwischen den beiden Pfaden. Im Anschluss sollte der eben gezeigte Weg über die Videooptionen von Skype das Bild zu Tage fördern. In unserem Kasten tragen wir diesem Umstand in der Zeile Skype-Video benötigt Preload Rechnung, die zeigt, ob Sie für Ihre Webcam diesen Workaround benötigen. Dieser funktioniert womöglich auch für andere Anwendungen, die Webcams unterstützen, aber noch v4l einsetzen.

Einem Freund empfehlen