Raspberry Pi – Kamera Inbetriebnahme
Passend für den Raspberry Pi gibt es ein praktisches Kamera-Modul. Das Modul misst gerade einmal 25mm × 20mm × 9mm und ist mit einem 8-Megapixel-Sensor mit Fixfokus-Objektiv ausgestattet, der hochauflösende Fotos und Videos ermöglicht. Die Auflösung liegt bei 3280 x 2464 Pixel und Videos sind mit 1080p, 720p und 640x480p möglich. Das Kamera Modul gibt es in zwei Ausführungen:
StandardvarianteDie Standardausführung des offiziellen Raspberry Pi Kamera Moduls ist mit einem IR Filter ausgestattet und daher ideal für normale Aufnahmen bei ausreichender Beleuchtung / bzw. Tageslicht. | NoIR VarianteIm Unterschied zur Standardausführung besitzt die NoIR-Variante keinen IR Filter. Mit dem NoIR-Modul und einer Infrarotbeleuchtung kann man daher Nachtaufnahmen anfertigen. |
Praktischer Helfer (optional)
Scorpi – flexible Kamerahalterung
ScorPi ist eine flexible Schwanenhals-Halterung, mit der man das Kamera-Modul an der USB-Buchse des Raspberry Pi befestigen kann. Die Kamera kann so sehr flexibel ausgerichtet werden.
Inbetriebnahme
Lieferung und Anschluss
Das kleine Kamera-Modul wird schlicht verpackt in einem Antistatikbeutel mit vormontiertem Flachbandkabel geliefert. Die Kamera kann so direkt an die CSI-Schnittstelle (Camera Serial Interface) des Raspberry Pi angeschlossen werden. Der Vorteil von CSI gegenüber USB besteht in der direkten Verbindung von Kamera-Modul und dem Broadcom BCM2835 (SoC).
Die CSI-Schnittstelle des Raspberry Pi befindet sich zwischen dem HDMI- und Ethernet-Anschluss. Diese wird über das 15-polige Flachbandkabel mit dem Kamera-Modul verbunden. Dazu zieht man den Steckverbinder der CSI-Schnittstelle nach oben, setzt das Flachbandkabel mit blauer Markierung Richtung Ethernet-Anschluss ein und drückt den Verschluss wieder nach unten. Fertig!
Kamera aktivieren
Nachdem die Kamera angeschlossen ist, muss zuerst der Kamera-Support in Raspbian aktiviert werden. Die Aktivierung ist spielend einfach möglich über das Konfigurationstools raspi-config. Dort einfach Punkt 5 anwählen und die Kamera auf Enable setzen. Zum Abschluss muss der Raspberry Pi noch rebootet werden, bevor die Kamera genutzt werden kann.
$ sudo raspi-config
Kamera-LED deaktivieren
Um Reflektionen hinter einer Glasscheibe zu verhindern oder um die Kamera schlichtweg im “Stealth-Modus” zu betreiben, kann die rote Aufnahme-LED deaktiviert werden. Dazu ist folgender Eintrag in der Datei config.txt im /boot-Verzeichnis mit anschließendem Neustart notwendig:
disable_camera_led=1
Bilder und Videos
Das Kamera-Modul wird über die beiden Kommandozeilenprogramme raspistill und raspivid angesprochen, die über vielfältige Optionen verfügen. Das Programm raspistill dient zur Aufnahme von Bildern, raspivid dementsprechend zur Aufnahme von Videos. Dabei ist zu beachten, dass raspivid Videos ausschließlich im H264-Format abspeichert. Die Datei muss daher für die meisten Zwecke zuerst in ein gebräuchliches Format konvertieren werden.
Einzelbild
Um ein einzelnes Bild mit der Kamera aufzunehmen, genügt der Befehl:
$ raspistill -o test.jpg
Dabei definiert der Parameter -o den Speicherort bzw. den Dateinamen des aufgenommenen Bildes
Zeitraffer-Aufnahme
Raspistill kann auch für eine Zeitraffer-Aufnahme genutzt werden:
$ raspistill -o img_%04d.jpg -tl 5000 -t 3600000
Damit erstellt raspistill eine Stunde lang alle 5 Sekunden ein Bild (alle Zeitangaben werden in Millisekunden gemacht). Der Parameter -o definiert dabei wieder den Speicherort des aufgenommenen Bildes und mit %04d im Dateiname wird raspistill angewiesen, die Dateien fortlaufend als 4-stellige Zahl durchzunummerieren.
Um ein richtiges Zeitraffer-Video zu bekommen, müssen aus den vielen Einzelbilder nun mit ffmpeg noch ein Video erzeugt werden:
$ ffmpeg -qscale 5 -r 4 -b 9600 -i img_%04d.jpg zeitraffer.mp4
Video mittels raspivid
Um ein kurzes, 5-sekündiges Video mit der Standardauflösung von 1920×1080 aufzuzeichen:
$ raspivid -o video.h264
Für ein längeres Video kann man die gewünschte Aufzeichnungszeit, z.B. 30 Sekunden, mit dem Parameter -t (Angabe wieder in Millisekunden) angeben. Will man zusätzliche die Auflösung des Videos auf 1280×720 ändern, ergibt sich folgender Befehl:
$ raspivid -o video.h264 -w 1280 -h 720 -t 30000
Um das erzeugte H264-Video in das gebräuchlichere MPEG4-Format umzuwandeln, greifen wir auf ein kleines Zusatzprogramm zurück:
$ sudo apt-get install gpac $ MP4Box -fps 30 -add video.h264 video.mp4
Hallo Manuel,
hast du noch einen Tipp für mich wie ich eine Art Motion Detection hinbekomme?
Danke und Gruß
Danny
Hi Danny,
für solche Zwecke ist “motion” (sudo apt-get install motion) perfekt geeignet. Leider scheint motion die Raspberry Pi Kamera (noch) nicht zu erkennen. Im Raspberry Pi Forum findet sich jedoch eine Modul für motion, mit dem die Raspberry Pi Kamera funktionieren soll: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=43&t=44966
Eine andere Lösung funktioniert über ein Python Script und ist hier beschrieben: http://www.raspberrypi.org/phpBB3/viewtopic.php?p=358259
Hallo Manuel,
tolle Anleitung und Übersicht. Gefällt mir sehr.
Könntest du mir sagen warum das Kommando ffmpeg in meinem Raspberry Pi mit Wheezy nicht findet. Hast du es separat installieren müssen?
Danke und Gruß
Robert
Hallo Robert,
ja ffmpeg muss zuerst installiert werden.
Wenn du lediglich aus Einzelbildern ein Video erzeugen willst, müsste die per
verfügbare Version ausreichen.
Leider enthält diese unter Debian verfügbare Version jedoch nicht die H264 Bibliotheken, d.h. für die Umwandlung eines H264 Videos in das MP4 Format ist nur mit einer neueren Version möglich. Diese muss jedoch von Hand kompiliert (dauert mehrere Stunden!) und installiert werden.
Deshalb habe ich oben im Artikel die Umwandlung mit Hilfe von MP4Box eingefügt.
Hallo Manuel,
ich möchte gerne einen 24h via PiCam einrichten. Ist das mgl.? Bzw. Kannst du dafür ein Tut schreiben? Ich habe ein paar Seiten auf Englisch gefunden, jedoch läuft da bei mir gar nichts :(
Schönem Sonntag
Genau das würde mich auch interessieren. Ich möchte die Raspberry Pi Cam auch als Überwachungskamera für 24 Stunden am Tag einsetzen. Gibt es dafür ne Lösung?
Hallo zusammen,
die Kamera ist fantastisch und soweit leicht zu bedienen. Nur möchte ich jetzt gerne den Befehl raspistill -o test.jpg über einen Button auf einer Webseite, die auf dem Raspberry Pi läuft aufrufen. Wie stelle ich das am geschicktesten an? Ich bin wirklich völlig unbedarft in php.
1000 Dank im Voraus und viele Grüße
Muhackl
Hallo,
danke für die schönen Tut´s.
Das mit dem Einzelbild hat auch super funktioniert.
Die Serienaufnahmen auch.. doch das Umwandeln in MP4, schien unendlich zu dauern >30min.
Kann das sein?
Beim ” raspivid -o video.h264 ” stürtzt mei PI ab.. bzw. er bootet neu.
Bevor er das macht, sehe ich ganz kurz mein Bild von der Kamera, wie bei Einzelaufnahmen auch, und dann ist alles Schwarz, weil er neu bootet.
Eine Fehlermeldung konnte ich nicht erkennen bei dem Tempo.
Kannst Du da vielleicht einen Hinweis geben.. oder jemand Anderes?
Danke Euch schon mal.
Die Umwandlung in das Zeitraffer-Video kann recht lange dauern, besonders dann wenn du viele Einzelbilder hast.
Warum dein RPi beim erstellen eines Videos mit raspivid abstürzt kann ich mir nicht so ganz erklären …
Hallo Manuel,
inzwischen läuft es manchml mit dem Video. Bin mir noch nicht ganz sicher was es genau ist, aber ich tippe auf das überlastete Netzteil.
Aber eine andere Frage: Kann man auf Deine beschriebene Weise auch Streams oder Video´s allgemein mit mehr als 30fps erstellen?
Soweit ich weiß, kann das kamera-Modul doch auch 60fps.
Ich hätte aber auch noch eine PlayStation3-USB-CAM, die mit kleinerem Bild sogar 120fps könnte.
Wie könnte man das denn nutzen?
Vielleicht ein weiteres Tutorial um so einem Neuling wie mir, das mal etwas näher zu bringen?
Anwendung: fliegende Vögel im Käfig, die Katze beim jagen, oder auch nur die vorbeifahrenden Autos am Fenster, oder auch noch das zerscheppern eine Tasse in Zeitlupe.
Ein sehr schönes Tutorial. Ich möchte euch allerdings auch auf die rechtliche Seite hinweisen. Sobald die Cam öffentlichen Raum überwacht und wenn es nur der Gehsteig vor dem Haus oder das Treppenhaus in einem Mehrfamilienhaus ist, müsst ihr ein Hinweisschild anbringen und evtl. sogar Nachbarn um Erlaubnis fragen.
Hallo zusammen,
ich würde gern die Kameraaufzeichnungen mit einem Bewegungssensor aktivieren.
Hat das schon mal jemand realisiert?
Hallo Klaus,
dies dürfte relativ einfach über die GPIO-Schnittstelle umsetzbar sein. Mit einem Python Skript kann dann das Schaltsignal eines Bewegungsmelders (z.B. https://www.amazon.de/PIR-Bewegungsmelder-Alarmerkennung-Raspberry-Arduino-GPIO-Kabel/dp/B0104LSJGQ/ref=sr_1_1?ie=UTF8&tag=dde0b6-21&qid=1476719137&sr=8-1) ausgewertet und weitere Aktion (z.B. aktivieren der Kamera) ausgelöst werden.