Bewegtbild mit einer USB-Webcam aufnehmen


Diese Anleitung funktioniert so mit Debian Wheezy. Sie funktioniert NICHT mit Debian Jessie!

Ziel: Eine Webcam soll in schneller Folge Bilder aufnehmen.
Diese sind über einen Webbrowser anzuzeigen.
Es kann ein Webbrowser im Beaglebone oder der eines anderen Computers im Netzwerk sein.




Empfehlung: Probiere zuerst dieses Experiment!


Schritt 1: Wird die Webcam am USB erkannt?

Um die am USB hängenden Geräte zu sehen, gibt man im Terminal ein: lsusb
Die Ausgabe im Terminal sah bei mir so aus:

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 005: ID 0df6:005b Sitecom Europe B.V.
Bus 001 Device 029: ID 145f:018d Trust

In der letzten Zeile findet sich der Eintrag für meine Webcam. Ein Modell der Marke "Trust".



Schritt 2: Installieren der Software

Um periodisch Bilder mit der Webcam aufzunehmen, eignet sich das Programm "motion".
Installiere es im Terminal mit: sudo apt-get install motion



Schritt 3: ein Ordner für Motion
Motion braucht einen Ordner, in dem die ganzen Bilder zwischenspeichert werden.
Gib im Terminal ein: sudo mkdir /srv/motion
Auf diesen Ordner soll Motion die Rechte haben, ihn zu benutzen.
Gib im Terminal ein: sudo chown motion.motion /srv/motion
Damit wäre Motion der Besitzer dieses Ordners.



Schritt 4: den Start des Motion-Services erlauben
Dazu änderst Du in der Datei /etc/default/motion die Zeile, die den Webcam-Dienst startet.
Gib im Terminal ein: sudo nano /etc/default/motion
Im Editor nano änderst Du das "no" in ein "yes".
      
    start_motion_daemon=yes


Speichern kannst Du in nano mit STRG + O und Verlassen kannst Du nano mit STRG + X.



Schritt 5: Verhalten von Motion festlegen
In der Datei motion.conf kann man das Verhalten von Motion festlegen.
Gib im Terminal ein: sudo nano /etc/motion/motion.conf

Der Editor nano öffnet Dir die Datei und Du solltest folgende Änderungen vornehmen:
(Du mußt einwenig nach diesen Stichworten suchen)

daemon on
width 352
height 288
framerate 5
quality 100
ffmpeg_cap_new off
target_dir /srv/motion
webcam_quality 100
webcam_maxrate 15
webcam_localhost off

Wobei hier die Breite (width) und die Höhe (height) die Pixel meiner Webcam sind.

Speichern kannst Du im Editor nano mit STRG + O und Verlassen kannst Du nano mit STRG + X.



Schritt 6: Motion starten

Zum Starten von Motion gib ein: sudo service motion start

Nach Änderung der Datei motion.conf solltest Du Motion immer neustarten
mit: sudo service motion restart

Zum Stoppen von Motion gib ein: sudo service motion stop



Schritt 7: "Film" im Netzwerk ansehen

Öffne auf Beaglebone oder einem anderen Computer im Netzwerk einen Webbrowser!
Gib in der Adresszeile ein: 192.168.178.26:8081
(Natürlich musst Du die IP-Adresse DEINES Beaglebones nehmen.)
Oder Du versuchst: beaglebone.local:8081






Was tun, wenn's nicht klappt?

Gib im Terminal ein: dmesg
Suche in der Ausgabe nach dem Begriff webcam!
Bei mir sah der untere Teil der Ausgabe so aus:
[ 6300.494924] uvcvideo: Found UVC 1.00 device Trust Webcam (145f:018d)
[ 6300.510430] input: Trust Webcam as /devices/platform/bcm2708_usb/usb1/...
[ 6575.100163] usb 1-1.2.3: USB disconnect, device number 28
[ 6577.898425] usb 1-1.2.2: new high-speed USB device number 29 using dwc_otg
[ 6578.019383] usb 1-1.2.2: New USB device found, idVendor=145f, idProduct=018d
[ 6578.019415] usb 1-1.2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 6578.019433] usb 1-1.2.2: Product: Trust Webcam
[ 6578.019447] usb 1-1.2.2: Manufacturer: Vimicro Corp.

Mit diesen Informationen (Product, idProduct usw.) bist Du in der Lage, im Internet nach einem Treiber für Deine Webcam zu suchen.



Eine praktische Umsetzung dieses Experimentes findest Du hier.