Stefan's Weblog

8Feb/163

Motion mit mehreren Kameras

Beim Durchstöbern meiner alten Computersachen bin ich kürzlich auf zwei etwas ältere Webcams gestoßen. Bevor ich die weiter verstauben lasse, habe ich mir gedacht, diese an meinen Raspberry Pi anzuschließen, auf dem bereits Motion läuft. In meinen beiden früheren Beiträgen habe ich bereits aufgezeigt, wie man das Rpi-Kameranmodul an den kleinen PC anschließt und konfiguriert.

Ich habe die folgenden beiden Webcams getestet

  • Logitec QuickCam for Notebook Deluxe
  • Logitec QuickCam Pro 4000

Ich habe mich für die Erste entscheiden, die QuickCam for Notebook Deluxe

Eigentlich ist die Konfiguration einer zweiten Kamera keine große Sache. Es wird neben einer motion.conf-Datei für jede Kamera eine weitere Konfigurationsdatei benötigt. Die Konfigurationsdatei für jedde angeschlossene Kamera heißt threadx.conf ( x ist durch eine Zahl zu ersetzen).
motion-thread

Ich habe mir die Konfiguration recht einfach gemacht. An meinem Pi war bereits das Kamera-Modul angeschlossen und sämtliche UV4L-Pakete installiert.
Deshalb funktionieren die nachfolgenden Befehle bei mir "out-of-the-box" und meine Webcam wurde auch sofort erkannt.

Mit dem Befehl kann man prüfen, ob die USB-Kamera auch vom Pi erkannt wird

lsusb


In der Liste sollte irgendwo die Logitec-Kamera auftauchen.

Eine Überprüfung wo die beiden Kameras, Webcam und Pi-Kameraboard, zu finden sind ist mit dem Befehl möglich.

v4l2-ctl --list-devices

Bei mir wurde die USB-Kamera auf /dev/video0 eingebunden und das Pi-Kameraboard war auf /dev/video1 zu finden. Diese beiden Informationen sind für die weitere Konfiguration zwingend erforderlich.

Thread-Dateien anlegen

Ich habe mir das Leben einfach gemacht und meine bestehende motion.conf-Datei einfach zweimal kopiert und in thread1.conf und thread2.conf umbenannt. Anschließend habe ich die motion.conf editiert. Dort müssen die folgenden Parameter auskommentiert werden. Diese sind pro Kamera in der jeweiligen thread-Datei anschließend einzutragen.

# Videodevice to be used for capturing  (default /dev/video0)
# for FreeBSD default is /dev/bktr0
# CHANGED
; videodevice /dev/video0

# Target base directory for pictures and films
# Recommended to use absolute path. (Default: current working directory)
# CHANGED
;target_dir /mnt/pics/motion

# The mini-http server listens to this port for requests (default: 0 = disabled)
# CHANGED
;webcam_port 8081

Besonders wichtig, in der motion-conf findet ihr am Ende die Einstellungen für die thread-Dateien.

# Remember: If you have more than one camera you must have one
# thread file for each camera. E.g. 2 cameras requires 3 files:
# This motion.conf file AND thread1.conf and thread2.conf.
# Only put the options that are unique to each camera in the
# thread config files. 
; thread /usr/local/etc/thread1.conf
; thread /usr/local/etc/thread2.conf
; thread /usr/local/etc/thread3.conf
; thread /usr/local/etc/thread4.conf


Tragt ein, wo ihr die thread-Dateien für eure Kamera ablegt, damit Motion diese auch findet. Dabei könnt ihr den Pfad beliebig wählen, z.B. das Home-Verzeichnis eures Benutzers.
; thread /usr/local/etc/thread1.conf
wird dann zu
thread /usr/local/etc/thread1.conf

thread1.conf

In dieser Datei müsst ihr nur die folgenden Parameter prüfen und auf die Kamera abstimmen

videodevice /dev/video0

target_dir /mnt/pics/motion1

webcam_port 8081

text_left Camera 1

# Image width (pixels). Valid range: Camera dependent, default: 352
width Wert-Eintragen

# Image height (pixels). Valid range: Camera dependent, default: 288
height Wert-Eintragen


Auch die Eisntellngen für den E-Mail-Versand, solltet ihr das aktiviert haben, lässt sich individuell pro thread-Datei anpassen.

thread2.conf

videodevice /dev/video1

target_dir /mnt/pics/motion2

webcam_port 8082

text_left Camera 2

# Image width (pixels). Valid range: Camera dependent, default: 352
width Wert-Eintragen

# Image height (pixels). Valid range: Camera dependent, default: 288
height Wert-Eintragen

Nach den Anpassungen lässt sich Motion wie gewohnt starten und die Kamera-Streams auf den beiden Ports 8081 und 8082 anschauen.

Bildquelle: raspberrypi.org

hat dir dieser Artikel gefallen?

Dann abonniere doch diesen Blog per RSS Feed!

Kommentare (3) Trackbacks (0)
  1. Hallo Stefan,danke für den Artikel und deine Mühe. Bei mir wird demnächst auch mal wieder eine Kamera an den Pi angeschlossen. Das es auch mit mehreren funktioniert ist gut zu wissen. Wie sah es dabei mit der Performance aus?

  2. Hallo Tony,

    die Performance ist eigentlich ganz gut. Die Qualität der Bilder ist halt abhängig von der verwendeten Kamera. So eine alte Webcam, wie ich nutze, kann natürlich nicht mit dem RPi-Kamera-Modul mithalten. Jedoch ist der Stream recht brauchbar und die aufgenommenen Bilder auch ganz okay.
    Der Pi schafft die Verarbeitung der Bilder auch ganz gut und knickt nicht unter einer zu hohen Last zusammen.

  3. Hallo,

    Artikel ist für den einfachen Fall … 1x usb-cam + 1x pi-cam.
    Wenn 2 bis 4 usb-cam’s angeschlossen werden sollen, ist es nicht mehr einfach.
    Die USB-ports / der pi verarbeitet nur eine cam, es muss also umgeschaltet werden, was mit einer gewissen Zeitspanne erfolgt und für eine Überwachung ungeeignet ist.


Leave a comment

Noch keine Trackbacks.

%d Bloggern gefällt das: