In diesem Beitrag möchte ich dir zeigen, wie du ein kurzes Video per Tastendruck am Raspberry Pi Zero 2 W aufnehmen kannst.
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.
Benötigte Ressourcen für dieses Projekt
Für den Nachbau dieses kleinen Projektes benötigst du:
- einen Raspberry Pi Zero 2 W*,
- ein 40 Pin GPIO Header*,
- zwei Breadboardkabel, weiblich – männlich*,
- ein Breadboard*,
- einen Taster für die Printmontage*,
- eine USB WebCam*, sowie
- ein Adapterkabel von Micro-USB auf USB Typ A Buchse* **
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
** 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.
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:
Parameter | Beschreibung |
---|---|
-f video4linux2 | Format |
-s 1920×1080 | Auflösung des Videos |
-i /dev/video0 | Device – USB Cam |
-t 00:00:15 | Dauer der Aufnahme (15 Sekunden) |
-vcodec mpeg4 | Codec welcher verwendet werden soll |
-y ~/cam/`date +%y-%m-%d-%H-%M-%S`.mp4 | Ablageort des Videos |
-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.
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.
1 thought on “Raspberrry Pi Zero 2 W – Video per Tastendruck aufnehmen”