ubuntuusers.de

Webcam

Wiki/Icons/Oxygen/camera-web.png Mittlerweile gehören Webcams zu den Standard-Geräten unserer Kommunikation über Computer und werden in Videochats und -Konferenzen eingebunden. Dementsprechend werden die meisten Webcams unter Linux gut unterstützt und werden automatisch beim Start angesprochen. Viele Webcam-Treiber werden in Open Source-Projekten gepflegt, die sich auf einen bestimmten Chipsatz oder Hersteller spezialisiert haben und von diesem Hersteller mehr oder weniger gut unterstützt werden.

Unter Linux hat sich als Schnittstelle für Anwendungsprogramme das Framework v4l2 (Video for Linux 2) etabliert. Ältere Applikationen verwenden noch die alte Version v4l und müssen daher ggfs. mit einem Kompatibilitäts-Parameter gestartet werden (siehe V4L2-Kompatibilität).

Webcam identifizieren

Vorhandene und eingebaute Webcams sollten beim Start des Linux-Systems automatisch erkannt und die entsprechenden Treiber geladen werden. Das kann einfach getestet werden, indem eine Video-Anwendung aufgerufen wird und das Gerät auf Funktion geprüft wird.

Siehe auch Webcam/Treiber: Die Webcam wird mit dem Kommando lsusb eindeutig identifiziert. Mit diesem Befehl lässt sich auch der geladene Treiber ausgeben. Mit den so gefundenen Informationen über Hersteller und Produkt-Bezeichnung und ggfs. der USB Hersteller- und Produkt-ID werden anschließend die Listen der unterstützten Webcams durchsucht (siehe Tabelle unten).

Der verwendete Webcam-Treiber bei einer automatischen Erkennung wird im Syslog genannt oder kann mit Kommandos ausgelesen werden. Für ältere Webcams, für die im aktuellen Kernel keine Treiber aufgeführt werden, können auf der Seite Webcam/Treiber in weiteren Links der Treiberentwickler recherchiert werden.

Unterstützte Webcams

Im Linux-Kernel werden verschiedene Webcam-Treiber gepflegt, mit denen viele im Handel erhältliche Webcams betrieben werden können. Wer beim Kauf einer Webcam ganz sicher gehen möchte, achtet darauf, eine UVC kompatible Webcam zu erhalten, die einen standard-konformen Treiber benutzt.

Die Webcam-Treiber des Linux-Kernels basieren üblicherweise auf den genutzten Chipsätzen, daher beziehen sich die folgenden Referenzen in der unten angeführten Tabelle auf die Webcam-Chipsätze. Welche Kameras welche Chipsätze verwenden muss, falls nicht in der u.a. Kernel Dokumentation erwähnt, bei den Herstellern recherchiert werden.

Liste der Webcam-Treiber:
Treibername Webseite / unterstützte Webcams Beschreibung
uvcvideo verschiedene Hersteller 🇬🇧 Die USB Class Video Spezifikation 🇬🇧 ist ein Standard zur Kontrolle von Webcams und anderen Videogeräten und wird mittlerweile von vielen Kameras unterstützt. Damit sind individuelle Treiber nicht mehr notwendig.
gspca v2 verschiedene Hersteller 🇬🇧 GSPCA ist ein Framework, das eine gemeinsame Schnittstelle der v4l2 API und eine lange Reihe von individuellen Webcam Treibern anbietet. Alle unter gspca vereinten Treiber werden aktuell unterstützt. Siehe auch in der Kernel Dokumentation 🇬🇧,
cpia2 🇬🇧 CPIA2 Homepage 🇬🇧 Treiber für Vision's CPiA2 (Colour Processor Interface ASIC), bspw. das Digital Blue QX5 Mikroskop
pwc 🇬🇧 PWC Wiki 🇬🇧 Kernel Treiber für einige Phillips PCA oder PCVC Serien und kompatible (bspw. Logitech Quickcam, Creative Webcam), sofern sie nicht UVC unterstützen.
stkwebcam Homepage 🇬🇧 Treiber für USB Syntek DC1125 basierende Geräte, wie bspw. EasyCAP framegrabber
zr364 Link 🇬🇧 Aiptek PocketDV 3300 im Webcam-Modus (Treiber zr364xx im Kernel)

Weitere Informationen über Treiber und Einstellmöglichkeiten sind auf der Seite Kernel Treiber zu finden.

Anwendungen

Es gibt unter Linux verschiedene Programme, mit denen man seine Webcam benutzen kann. Einige haben eine grafische Oberfläche und eignen sich so gut für Einsteiger. Von Haus aus kann Ubuntu nur mit Ekiga und VLC die Webcam nutzen, aber es gibt viele weitere gute Programme in den Quellen, welche sich mit Webcams gut verstehen. Hiervon wird im Folgenden eine Auswahl vorgestellt.

Instant Messaging

Ekiga/ekiga_logo.png

Ekiga

Ekiga ist ein Voice over IP-Programm mit dem SIP-Protokoll, welches auch Webcams unterstützt. Meist wird die Webcam schon beim ersten Start angezeigt, sonst muss man auf das Webcam-Symbol in der linken Leiste klicken. Die Bildeigenschaften der Webcam kann man im Reiter "Video" einstellen, welcher sich in der unteren Hälfte des Programmfensters befindet. Zum Auswählen einer Webcam oder um eine Webcam suchen zu lassen, falls sie nicht automatisch gefunden wurde, geht man auf "Bearbeiten → Einstellungen → Geräte → Videogeräte".

Empathy/empathy.svg

Empathy

Empathy unterstützt Voice/Video Anrufe über SIP und XMPP (Jabber).

Google Hangouts

Mit Google Hangouts (Nachfolger von Google Talk) können neben dem Chatten (Instant Messaging) auch kostenlose Videokonferenzen geführt werden. Die Videokonferenzen bieten Funktionen, um gemeinsam an Dokumenten zu arbeiten, YouTube Live Streaming (on air), Bilder zu erstellen und vieles mehr. Das Ganze funktioniert über Computer (Linux, Windows, Mac) sowie Smartphone App. Am Computer muss man zuerst diese Erweiterung ⮷ installieren. Danach kann man Hangouts über Google Mail (Gmail), Google+ oder Chrome Plugin 🇩🇪 nutzen, was den selben Komfort wie ein selbstständiger Chat Client bietet.

Kopete.png

Kopete

Kopete unterstützt Webcams für das Yahoo!-Protokoll. In der Regel wird die Webcam automatisch erkannt. Weitere Einstellungen kann man unter "Einstellungen → Geräte" vornehmen. Dort kann man auch zwischen verschiedenen Webcams auswählen oder sein Mikrofon konfigurieren. Für eine Webcam-Unterhaltung klickt man einfach auf das Kamera-Symbol im Gesprächsfenster.

Pidgin/pidgin_logo.png

Pidgin

Pidgin unterstützt Voice/Video Anrufe zwischen XMPP (Jabber) Kontakten. Offizielle Website 🇬🇧

qnext.png

qnext

qnext 🇬🇧 ist ein proprietäres Instant-Messaging-Programm, welches jedoch auch andere Funktionen wie Musik-Streaming, Bilder- oder einfachen Dateien-Upload enthält. Mit qnext kann man Webcams mit dem MSN- und dem eigentlichen qnext-Protokoll benutzen. Um seine Webcam einzurichten, geht man auf "Tools → Options... → Devices" und klickt dort auf "detect". Nun sollte qnext die Webcam eingebunden haben. Wenn man die Webcam benutzen will, klickt man einfach auf das kleine Webcam-Symbol im Chatfenster.

Skype

Skype unterstützt auch Videokonferenzen. Weitere Informationen gibt es im Artikel Skype.

Teams

Microsoft bietet für den Chat- & Videokonferenz-Client Teams einen Linux-Client an. Außerdem gibt es unter anderem unter teams-for-linux 🇬🇧 einen inoffiziellen Client für Microsoft Teams, der auch Webcams unterstützt.

Web-Videokonferenzen

Mit Hilfe von TokBox 🇬🇧 ist es möglich, unabhängig von einer bestimmten Software Videokonferenzen per Webcam abzuhalten.

Andere Anwendungen

guvcview.png
guvcview

guvcview

guvcview ist eine grafische Anwendung mit vielen Einstellungsmöglichkeiten,die auf luvcview von Logitech basiert. Dadurch ist sie gut für das erstmalige Testen einer Webcam geeignet. Hierfür das folgende Paket installieren [1]:

  • guvcview (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install guvcview 

Oder mit apturl installieren, Link: apt://guvcview

Starten lässt sich das Programm bei Ubuntu-Varianten mit einem Anwendungsmenü über "Multimedia → guvcview". Während ein kleines Vorschaufenster die aktuelle Ausgabe zeigt, lassen sich über das Hauptfenster bequem Bilder oder Videos erstellen.

camorama.png
Camorama

Camorama

Camorama 🇬🇧 kann Bilder von einer Webcam aufnehmen, sowohl einzeln als auch in zeitgesteuerten Intervallen. Auch ist es möglich, dass in einem gewissen zeitlichen Intervall immer wieder Bilder gemacht werden oder Bilder per Remote (ferngesteuert) aufzunehmen. Folgendes Paket muss installiert [1] werden:

  • camorama (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install camorama 

Oder mit apturl installieren, Link: apt://camorama

Camorama kann dann über das Menü mittels

  • "Anwendungen → Grafik → Camorama Webcam Betrachter"

gestartet werden. Um ein Bild aufzunehmen, muss man nur auf "Take Picture" klicken. Unter "Bearbeiten → Einstellungen" kann man unter anderem Einzelheiten zur zeitgesteuerten Aufnahme oder auch zur Remoteaufnahme finden. Ein etwaiger Blaustich des Bildes lässt sich wie folgt beheben: "(Rechtsklick im Feld) Effects → Add → Color Correction".

Hinweis: Das Programm muss mit V4L2-Kompatibilität gestartet werden.

cheese.png
Cheese

Cheese

Cheese ist eine lustige kleine Webcam-Anwendung ähnlich zu Photo Booth 🇬🇧 von Mac OS X. Bilder oder Videos der Webcam können mit verschiedenen Filtern versehen und gespeichert werden. Ein Countdown zählt bis zum Erstellen eines Bildes herunter, so dass man rechtzeitig "Cheeeeese" sagen kann.

Kamerka

Kamerka ist ein Webcam-Programm für KDE.

Kamoso

Kamoso ist ein kleines Webcam-Programm für KDE, das in der Lage ist einzelne Bilder aber auch Videos aufzuzeichnen. Bei der Video-Aufzeichnung greift es auch auf ein eventuell angeschlossenes Mikrofon zu, um den dazugehörigen Ton aufzunehmen. Außerdem ist es in der Lage aufgezeichnete Videos direkt nach Facebook oder Youtube hochzuladen.

q4vl2

q4vl2 🇬🇧 ist ein grafisches Tool für Qt, mit dem einfach Parameter für die Webcam eingestellt und getestet werden können. Diese Einstellungen sind dann auch für andere Webcam-Anwendungen aktiv. Es kann anstelle von v4l2ucp 🇬🇧 eingesetzt werden, das seit bionic nicht mehr in den Quellen ist.

VLC

Der VLC-Mediaplayer kann auch Webcams auslesen. Über das Menü "Medien → Aufnahmegerät öffnen" oder durch Drücken von Strg + C gelangt man in ein Auswahlmenü. Unter Aufnahmemodus sollte "Video for Linux 2" ausgewählt sein, ältere Modelle laufen ggf. nur über "Video for Linux". Unter Video-Gerätename gibt man "/dev/video0" oder bei mehreren Videogeräten das entsprechende an. Unter Audio-Gerätename gibt man das entsprechende Mikrofon an, ggf. auch den Namen des Geräts, der über den Befehl

cat /proc/asound/cards  

ausgelesen wird; der Name steht hinter der Nummer in eckigen Klammern, Beispiel

3 [U0x4710x303    ]: USB-Audio - USB Device 0x471:0x303
                      USB Device 0x471:0x303 at usb-0000:00:02.0-4, full speed

Hier würde als Audiogerät über die Angabe hw:U0x4710x303 das Mikrofon der Webcam verwendet.

Nach einem Klick auf Wiedergabe wird das Video der Kamera angezeigt. Außerdem kann man mit VLC auch Webcam-Videos live ins Netzwerk Streamen. Das geht wie mit einem normalen Video, nur das man die Kamera als Medium auswählen muss (Aufnahmegerät).

Kommandozeilenanwendungen

cWatchTheHamster

cWatchTheHamster 🇬🇧 ist ein neues Projekt, das sich insbesondere durch sparsamste Hardware-Anforderungen auszeichnet. Server und Client basieren auf Java. Ein zusätzlicher Android-Client macht die Webcam auch auf dem SmartPhone verfügbar.

fswebcam

fswebcam 🇬🇧 ist eine kleine aber feine Webcam Anwendung, mit deren Hilfe man Fotos schießen und bearbeiten kann.

ffmpeg

Mit FFmpeg lassen sich Fotos oder Videos von der Webcam aufnehmen. Folgendes Kommando nimmt z.B. ein Foto auf und speichert es unter image.jpg. Voraussetzung ist, dass die Kamera über /dev/video0 angesprochen werden kann:

ffmpeg -f video4linux2 -s 640x480 -r 1 -i /dev/video0 -vframes 1 -f image2 image.jpg 

Motion

Mit Motion 🇬🇧 ist es möglich, den Datenstrom einer Webcam auf Veränderungen zu prüfen und so eine Bewegungserkennung zu realisieren. Das Kommandozeilen-Programm ist in den offiziellen Paketquellen enthalten und kann über das Paket motion installiert werden.

MPlayer

MPlayer ist ein Media-Player für Linux, mit welchem man auch Webcams auslesen kann. Folgendes Kommando gibt Bilder von der Webcam in einem Fenster wieder (die Kamera wird über /dev/video0 angesprochen):

mplayer tv:// 

Falls eine externe Kamera angesteckt wird und bereits eine eingebaute existiert (z.B. in Notebooks), wird diese mit /dev/video1 angesprochen und kann wie folgt ausgelesen werden:

mplayer tv:// -tv device=/dev/video1 

Webcam und TV-Karte

Sowohl Webcams als auch analoge TV-Karten werden i.d.R. als Gerätedatei /dev/video? ('?' ist eine Zahl die von 0 hochzählt) in das System eingebunden. Werden auf dem Rechner neben einer Webcam auch eine TV-Karte betrieben, können diese /dev/video0 bzw. /dev/video1 etc. belegen. Je nach Nutzung muss der Webcam- bzw. TV-Anwendungen beim Start oder in den Einstellungen die korrekte Gerätedatei angegeben werden. Manche Programme begegnen dem auch dadurch, dass sie die Auswahl der Gerätedatei bzw. der Bildquelle für die Webcam ermöglichen:

  • Camorama über den Parameter -d:

    camorama -d /dev/video1 
  • Ekiga über "Bearbeiten → Einstellungen → Videogeräte → Aufnahmegerät"

  • Empathy über gconf-editor /system/gstreamer/0.10/default/videosrc ; String v4l2src in v4l2src device="/dev/video1" abändern

  • Skype über "Optionen → Video → Webcam wählen"

Langsame Bildrate

Wenn die Bildrate zu langsam ist, oder erst nach einer geschätzten Sekunde auf einmal von 25-30fps auf 5-12fps sinkt, kann man versuchen, die Belichtungs-Automatik auszuschalten. Das geht z.B. mit guvcview mit der Option -o. Der Schalter ist auf der Seite "Bildeinstellungen" und trägt die Bezeichnung "Belichtung, automatische Priorität". Siehe auch 361256

Bild drehen

Bei manchen integrierten oder auch bei hängend angebrachten Webcams steht das Bild auf dem Kopf. Mit Video for Linux 2 Universal Control Panel 🇬🇧 (v4l2ucp) lässt sich dies korrigieren bzw. das Bild drehen:

  • v4l2ucp

Befehl zum Installieren der Pakete:

sudo apt-get install v4l2ucp 

Oder mit apturl installieren, Link: apt://v4l2ucp

Soundprobleme

Bei über USB angeschlossenen Webcams kann es vorkommen, dass zwar das Video jedoch nicht der Sound erkannt wird. In diesem Fall kann es helfen, wenn man über

gstreamer-properties 

oder "PulseAudio Volume Control" die richtige Soundquelle auswählt. Siehe Sound Problembehebung (Abschnitt „Auf-ALSA-umstellen“).

Ein weiteres im Zusammenhang mit Logitech Webcam's beobachtetes Problem ist der fehlende Ton vom eingebauten Microphone. Gleichzeitig tauchen in den Logfiles (kern.log, messages, syslog) zahlereiche Meldungen wie

... cannot set freq 16000 to ep 0x86

auf. Der Auslöser für diesen Fehler ist das Kernelmodul snd-usb-audio. Alle Versuche, dieses Problem mit Konfigurationsänderungen zu lösen, sind bisher gescheitert. Einen funktionierenden Workaround findet man in diesem Blog 🇬🇧 . Mit einer passenden "udev-rule" wird snd-usb-audio im Problemfall neu geladen. Der Workaround wurde für Ubuntu entwickelt, funktioniert aber auch unter Debian-Wheezy einwandfrei.

Diese Revision wurde am 13. Mai 2022 12:32 von dirkolus erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Webcam, Internet, Kommunikation, Hardware