Raspberrry Pi Zero 2 W – Video per Tastendruck aufnehmen

In diesem Beitrag möchte ich dir zeigen, wie du ein kurzes Video per Tastendruck am Raspberry Pi Zero 2 W aufnehmen kannst.

Raspberry Pi Zero 2 W - Video per Tastendruck aufnehmen
Raspberry Pi Zero 2 W – Video per Tastendruck aufnehmen

Im Beitrag Raspberrry Pi Zero 2 W – Foto per Tastendruck aufnehmen habe ich dir bereits gezeigt, wie du ein Foto aufnehmen kannst. Nun soll es darum gehen, ein Video aufzunehmen.

In diesem Beitrag verwende ich jedoch keine Pi Cam, sondern eine USB WebCam. In meinem Fall ist es die Logitech c920 welche bei korrekter Ausleuchtung recht gute Leistung liefert.

WebCam - Logitech c920
WebCam – Logitech c920

Benötigte Ressourcen für dieses Projekt

Für den Nachbau dieses kleinen Projektes benötigst du:

* Die Adapter von Micro USB auf USB Ty A Buchse gibt es auch als Stecker, quasi ohne Kabel, jedoch sind diese zu breit und würde den Stromstecker behindern.

Was zusätzlich recht nützlich ist, ist ein Gehäuse für den Raspberry Pi Zero, hier gibt es diverse Bauformen zu unterschiedlichen Preisen.

Acryl- / PVC Gehäuse für den Raspberry Pi Zero
Acryl- / PVC Gehäuse für den Raspberry Pi Zero

Der Pi Zero 2 W wird beim Betrieb mit einer WebCam nicht wirklich warm, daher könnte man theoretisch auch ein geschlossenes Gehäuse verwenden. Jedoch kommt es dann auch wieder auf die Umgebungstemperatur an.

Einrichten der USB WebCam am Raspberry Pi Zero

Wie erwähnt verwende ich eine USB WebCam welche unter Linux zunächst eingerichtet werden muss. Die hier verwendete Logitech c920 wird bereits erkannt.


pi@raspberrypi:~ $ lsusb
Bus 001 Device 002: ID 046d:082d Logitech, Inc. HD Pro Webcam C920
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:~ $

Installieren benötigter Pakete

Damit wir die USB WebCam verwenden können, müssen wir zunächst ggf. das Paket ffmpeg installieren.

 sudo apt install ffmpeg

Wenn das Paket „ffmpeg“ installiert ist, testen wir dieses mit einer kleinen Befehlszeile auf der Konsole.

ffmpeg -f video4linux2 -s 1920x1080 -i /dev/video0 -t 00:00:15 -vcodec mpeg4 -y ~/cam/`date +%y-%m-%d-%H-%M-%S`.mp4

Beschreibung der Befehlszeile:

ParameterBeschreibung
-f video4linux2Format
-s 1920x1080Auflösung des Videos
-i /dev/video0Device – USB Cam
-t 00:00:15Dauer der Aufnahme (15 Sekunden)
-vcodec mpeg4Codec welcher verwendet werden soll
-y ~/cam/`date +%y-%m-%d-%H-%M-%S`.mp4Ablageort des Videos
Erläuterung der Parameter
-t 00:00:03

ffmpeg -f video4linux2 -s 1920x1080 -i /dev/video0 -vframes 100 -vcodec mpeg4 -y ~/cam/`date +%y-%m-%d-%H-%M-%S`.mp4

Anschluss des Tasters an den Pi Zero

Wir wollen das Video per Tastendruck aufnehmen, dazu schließe ich einen Taster per GPIO2 und GND an den Pi an.

Schaltung - Raspberry Pi Zero mit Pi Camera & Taster
Schaltung – Raspberry Pi Zero mit Pi Camera & Taster

Aufnehmen von einem Video per Tastendruck am Raspberry Pi

Schreiben wir nun ein kleines Python3 Skript, welches das oben genannte Skript per Tastendruck ausführt.

import os
from gpiozero import Button
from time import sleep

button = Button(2)

try:
      print("Programm gestartet.")
      while True:
         # Wenn der Taster gedrückt ist, mache...
         if button.is_pressed:
            # Speichern von 100 Frames
            # os.system('ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -vframes 100 -vcodec mpeg4 -$
            # Speichern eines Videos von 15 Sekunden
            os.system('ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -t 00:00:15 -vcodec mpeg4 -$
            print("Video wurde gespeichert.")
except KeyboardInterrupt:
   print("Programm beendet.")

Wenn man nun den Taster betätigt, dann wird die Befehlszeile ausgeführt.

Raspberry Pi Zero 2 W - aufnehmen von Videos per Tastendruck
Dieses Video ansehen auf YouTube.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.