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.
- Motion mit UV4L auf dem Raspberry Pi
- Raspberry Pi Kamera-Modul mit Motion als kleine Überwachungskamera
Ich habe die folgenden beiden Webcams getestet
- Logitech QuickCam for Notebook Deluxe
- Logitech 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).
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 aus kommentiert 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 Einstellungen 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.
Gib mir gerne einen Kaffee ☕ aus!
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.
bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

ist absolut technik-begeistert und großer Fan von Linux und Open Source. Raspberry Pi Bastler der ersten Stunde und nach wie vor begeistert von dem kleinen Stück Hardware, auf dem er tolle Projekte umsetzt. Teilt hier seine Erfahrungen mit Nextcloud, Pi-hole, YubiKey, Synology und openmediavault und anderen spannenden IT-Themen. Nutzt Markdown und LaTeX zum Dokumentieren seiner Projekte und Gitea zum Versionieren. Sitzt vor einem 49“ Monitor, nutzt Windows und MacOS zum Arbeiten, Linux auf seinen Servern und virtuellen Maschinen und hört dabei Spotify und MP3s und Radio-Streams über seinen RadioPi.
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?
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.
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.
Hi. i am trying to follow your guiode to build my system with an onboard camera and a usb camera. Here is the output of the system that it can see the cameras:pi@rpimqtt:~ $ v4l2-ctl –list-devicesmmal service 16.1 (platform:bcm2835-v4l2): /dev/video0Microsoft® LifeCam HD-3000: Mi (usb-20980000.usb-1): /dev/video1pi@rpimqtt:~ $i can grab video and photos by using raspistill and fswebcam to check if the cameras work correctly. here is the motion.conf filedaemon onprocess_id_file /var/run/motion/motion.pidsetup_mode offlogfile /var/log/motion/motion.loglog_level 6log_type allv4l2_palette 17input -1norm 0frequency 0power_line_frequency -1rotate 0width 1280height 960framerate 80minimum_frame_time 0netcam_keepalive offnetcam_tolerant_check offrtsp_uses_tcp onauto_brightness offbrightness 0contrast 0saturation 0hue 0roundrobin_frames 1roundrobin_skip 1switchfilter offthreshold 1500threshold_tune offnoise_level 32noise_tune ondespeckle_filter EedDlsmart_mask_speed 0lightswitch 0minimum_motion_frames 1pre_capture 5post_capture 5event_gap 60max_movie_time 0emulate_motion offoutput_pictures onoutput_debug_pictures offquality 75picture_type jpegffmpeg_output_movies offffmpeg_output_debug_movies offffmpeg_timelapse 0ffmpeg_timelapse_mode dailyffmpeg_bps 400000ffmpeg_variable_bitrate 0ffmpeg_video_codec mpeg4ffmpeg_duplicate_frames trueuse_extpipe offsnapshot_interval 0locate_motion_mode offlocate_motion_style boxtext_right %d-%m-%Y\n%T-%qtext_left rpi0w_CAMERA %ttext_changes offtext_event %Y%m%d%H%M%Stext_double offtarget_dir /home/pi/camera_imagessnapshot_filename %v-%Y%m%d%H%M%S-snapshotpicture_filename %Y_%m_%d/%v-%d%m%Y_%H%M%S-%qmovie_filename %Y_%m_%d/%v-%d%m%Y%_H%M%S-%qtimelapse_filename %d%m%Y-timelapseipv6_enabled offstream_port 8081stream_quality 50stream_motion offstream_maxrate 1stream_localhost offstream_limit 50stream_auth_method 0webcontrol_port 8080webcontrol_localhost offwebcontrol_html_output ontrack_type 0track_auto offtrack_iomojo_id 0track_step_angle_x 10track_step_angle_y 10track_move_wait 10track_speed 255track_stepsize 40quiet oncamera /etc/motion/camera1-dist.confcamera /etc/motion/camera2-dist.conf#################################################camera1-dist.confcamera_id = 1videodevice /dev/video0input -1text_left CAMERA 1picture_filename CAM1_%v-%Y%m%d%H%M%S-%qstream_port 8081#################################################camera2-dist.confcamera_id = 2videodevice /dev/video1input 1text_left CAMERA 2picture_filename CAM2_%v-%Y%m%d%H%M%S-%qstream_port 8082###################################################if i go to http://IP:8080 i see twice the onboard camera and the usb it says unable to open camerahttps://ibb.co/nfgNyPB
Vielen Dank.