Webcam-Anbindung mittels fswebcam unter Wheezy-Raspian

Hat man Debian, Ubuntu oder Mint und eine Webcam, dann kann man mit einfachen Mitteln Snapshots oder Streams von der Cam holen. Das gilt auch fuer den Raspberry Pi. Wenn sie denn unterstuetzt wird. Dazu sollte man wie folgt vorgehen:

 

Nach dem Einstecken der Cam koennen mittels lusb oder dmesg einige nuetzliche Informationen geholt werden. Eine Ausgabe von dmesg sieht dann beispielsweise so aus:

 

sw@work $ dmesg

[   18.885951] input: Live! Cam Sync HD VF0770 as /devices/platform/…/input/input0
[   19.019303] usbcore: registered new interface driver uvcvideo
[   19.091846] USB Video Class driver (1.1.1)

 

Sieht man so etwas aenliches, kann man zufrieden sein. Es wird eine Kamera erkannt und ueber input0angebunden. Am besten, das Geraet ist wie hier UVC-faehig, so wird kein spezieller Treiber benoetigt. Das trifft auf eine ganze Reihe von Modellen zu.

Zur Sicherheit (oder etwa vor einem Kauf) sollte man den Namen der Webcam hernehmen und in eine Liste wie diese schauen:

 

Linux UVC driver & tools auf ideasonboard

 

Ist die eigene Webcam dort vertreten, kann man schon einen Versuch wagen, also fswebcam installieren und probeweise ein Bild holen:

 

sw@work $ aptitude install fswebcam

sw@work $ fswebcam -v -r“640×480″ /home/$USER/t.jpg

sw@work $ gpicview /home/$USER/t.jpg

 

In unserem Beispiel entsteht ein Bild t.jpg im Heimatverzeichnis und wird anschliessend angeschaut. Hat der Rechner wie ein Raspi dann mal keinen X-Server am Start und kein grafisches Interface, dann eben das Bild zu einem anderen Rechner im Netz uebertragen und dort betrachten.

 

Unterstuetzt das Geraet v4l und eben UVC, so gibt es eine Reihe von weiteren Tools, die ihr auch gerne ausprobieren koennt. So vor allem das motion-Paket, einfacher aber auch luvcview zum Beispiel. Ich waehlte fuer meine Loesungen, bei der ein Raspi in Verbindung mit einer vorhandenen Webcam fuer eine vollwertige HD-IP-Cam genutzt wurde, letztlich wieder fswebcam. Ich uebertrage dabei nur Bilder zu bestimmten Tageszeiten (ffmpeg fuer einen Stream wird nicht benoetigt).

Aber es wird fuer die Snapshots eine Reihe von Einstellungen gesetzt. Bei der Cam fuer draussen sind das eine ganze Menge, da dort auch proprietaere Parameter zur Cam mittels -s-Option durchgereicht werden (Weissabgleich etc). Fuer die Raspi-Cam im Homeoffice ist es ueberschaubarer, da sieht ein Aufruf genau so aus:

 

pi@homeserver $ fswebcam -v -r“1280×720″ –scale „640×360“ –rotate 90 –jpeg 95 –title „RasPi Cam“ –subtitle „smartewelt.de“ –font „:16“ /home/pi/snap.jpg

 

Angaben, wie „-d /dev/video/video0“ kann man weglassen, wenn sie die Standard-Einstellung repraesentieren. Oben wird noch die Komprimierung des Jpeg gesetzt, das resultierende Image auf hochkant gedreht und ein Banner mit einem etwas groesseren Font erzeugt. Das Holen eines hochaufloesenden Bild mit anschliessendem Down-Scaling hat sich gut gemacht, da dort noch Artefakte reduziert werden.

 

Das Ganze sieht dann so aus: Raspi-Cam

 

Findet einfach eure Lieblingseinstellungen und habt Spass dabei!

 

9 Replies to “Webcam-Anbindung mittels fswebcam unter Wheezy-Raspian”

  1. Hi,
    was hast du für zusätzliche Settings im Outdoorbereich beim fswebcam gesetzt?
    Bin noch am probieren, leider habe ich noch nicht die optimale Einstellung gefunden.

  2. Hi Klesk,

    Danke fuer Deine Nachricht. Ja, das ist ein bisschen schwierig. Bei mir kam noch dazu, dass die Cam fuer die Aussenaufnahmen hinter einer doppelt verglasten Scheibe (Bodenfenster) sitzt und einen Autofokus hat, der dann ab und zu etwas ausgesetzt hat. Das ist aber ein zusaetzliches Thema. Der Einfachheit halber hier komplett fuer die Outdoor-Cam (bis auf die Textbanner, das spare ich mir mal):

    fswebcam -d /dev/video0 -v –jpeg „98“ -D2 -F8 -S5 -r960x540 –scale „800×450“ -i0 -pMJPEG

    Es gab bei mir also vor allem die Pause, das Ueberspringen der ersten Frames und eine Runterskalierung. Vorher habe ich deshalb eine Reihe von Fehlern gehabt. Vielleicht sind also die Parameter „-D2 -F8 -S5“ bei mir der Schluessel gewesen, denn die lasse ich bei meiner zweiten Cam (Indoor, bessere Lichtverhältnisse usw.) einfach weg und es geht auch. Sicherlich kommt es aber auch auf die jeweilige Webcam an. Vielleicht musst Du die einfach ‚mal gegen ein anderes Modell austauschen. „fswebcam“ ist darueber hinaus noch etwas unhandlich mit den Parametern, weil auf der Kommandozeile nicht so genau geregelt ist, wann Leerzeichen notwendig sind und wann „Gaensefuesschen“ gesetzt werden muessen.

    Das oben funktioniert(e) bei mir aber sehr gut und fast fehlerfrei ueber viele Monate. Mittlerweile ist die Webcam ersetzt und die Zusatzcam fuer den Raspberry erworben, welche am speziellen Port mit Flachbandkabel verbunden ist und wo es die Anwendung „raspistill“ gibt…

    Viele Gruesse
    SH

  3. Hey,

    Ich expirementiere auch grad mit dem Pi und einer Webcam rum(bin noch Pi unerfahren) und ich habe alles geupdatet und die kamera wird auch erkannt, doch immer wenn ich ein foto mache, wird es zwar abgespeichert und ich kann es öffnen es ist jedoch komplett schwarz.
    ne idee?

    grüße

  4. Hallo Jakob,

    wahrscheinlich nutzt Du nicht die Pi-Kamera, sondern also eine Webcam, die über den USB-Port angebunden ist.
    Auf den ersten Blick kann ich mir nur vorstellen, dass zwar alles funktioniert, aber die Werte für die Cam (Helligkeit, Kontrast usw.) nicht passen. Oder aber es gibt ein Problem mit der Kommunikation zum Pi, weil das Modell nicht richtig unterstützt wird.

    Eine externe Webcam tue ich im Moment noch an einem zweiten Pi nach wie vor nutzen (genauso wie im Artikel beschrieben). Das alte „fswebcam“ funktioniert dort klaglos, mit „motion“ bin ich nie richtig zurecht gekommen. Ich habe aber auch zwei Cams aussortiert, funktioniert hat das mit einer MS Life Cam und einer Logitech. Erst später habe ich dann auf diverse Kompatibilitätslisten geschaut, welche Cams zu empfehlen sind. Nach denen solltest Du vielleicht auch mal googlen.

    Wenn Du weitere Hilfe brauchst, sende doch eine Info, welche Anwendung Du nutzt, um die Bilder auf den Pi zu ziehen und welche Cam.

    Ansonsten, viele Grüße zurück.
    Swen

  5. Hall Swen,

    Erstmal Danke für die schnelle Antwort 😉

    Und ja genaue ich habe eine Webcam per USB an meinen Pi angeschlossen. Einmal eine NoName Camera und ein anderes Mal mit einer Logitech C170 (die laut mehreren Quellen im Internet eigentlich funktionieren müsste).
    Beide werden in dmesg erkannt und die LEDs etc leuchten auch.

    Ich benutzte fswebcam und mache genau wie du oben in deinem ersten Beispiel ein Foto und lasse es speichern und rufe es dann mit gpicview auf. Alles funtioniert nur eben, dass die Bilder komplett schwarz sind(bis auf unten den Banner mit dem Timestamp)…

    Echt komisch… Aufm Mac funtionierne beide Kameras ohne Probleme…

    grüße

  6. Hey,

    Gelöst… Der hat das Bild einfach immer zu früh aufgenommen irgendwie… Hab nen Delay eingebaut jett gehts 🙂

  7. Hallo,

    bei mir werden die Bilder meiner Creative Live! Cam Chat HD nur mit dem Timestamp gespeichert, ich habe es auch mit verschiedenen Delays probiert, jedoch ohne Erfolg. Kann mir jemand behilflich sein?

    MfG
    PhaseV

  8. Hallo PhaseV,

    helfen gerne. Geht sicher nur mit etwas mehr Erklärung aber. Nutzt Du die Cam mittels dem Tool fswebcam und was ist das Problem des Timestamp genau? Gruß Swen

  9. Ich hatte das gleiche Problem mit dem „schwarzen“ Bild.
    Ein delay scheint nicht in jedem Fall zu reichen.
    Es macht sich bei manchen Modellen erforderlich die ersten FRAMES zu überspringen.
    fswebcam -S 5 image.jpg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Blue Captcha Image
Refresh

*