Zeitrafferaufnahmen mit dem Raspberry Pi erstellen.

Vor Kurzem bat mich ein Bekannter, den mehrwöchigen Umbau seines neuen Ladenlokals in Form einer Zeitrafferaufnahme zu dokumentieren. Was liegt also näher, als für diese Aufgabe auf den Raspberry Pi zurückzugreifen.

Zeitrafferaufnahmen bestehen aus einer Vielzahl von Bildern, die über einen längeren Zeitraum in einem vorher festgelegten, regelmäßigen Abstand erzeugt werden. Für normale Filmaufnahmen, die das Geschehen realitätsnah und somit ruckelfrei darstellen, benötigt man bei Einhaltung der in Deutschland üblichen PAL-Norm 25 Einzelbilder für 1 Sekunde Film.
Da sich die Langzeitdokumentation aber über mehrere Wochen erstrecken soll, habe ich mich für 1 Bild/Minute entschieden. In einer Stunde werden so 60 Bilder geschossen. Bei einer späteren Bildfrequenz von 25 Bilder/Sekunde wird eine Realitätsstunde ergo in 2,4 Filmsekunden abgebildet. Ein Tag dauert dann 57,6 Filmsekunden, eine Woche 403,2 Filmsekunden, und das macht bei maximal 4 Wochen Umbauzeit (eher weniger) dann insgesamt 1612,8 Filmsekunden, sprich gute 27 Minuten. Das klingt erst mal recht ermüdend, und das würde es sicher auch sein.
Die Aufnahmezeit wird aber, wie später gezeigt, bei Einrichtung des Cronjobs auf 12 Stunden pro Tag beschränkt, da die Handwerker voraussichtlich nur zwischen 08:00 und 20:00 im Einsatz sein werden. Das Gesamtmaterial schrumpft also auf 13,5 Minuten zusammen. Schneidet man die langweiligen Passagen (Frühstück, Mittagspause, Besorgungen, Handlungen außerhalb des Kamerabereichs) später heraus, dann bleibt erfahrungsgemäß höchstens ein Viertel im endgültigen Film. Vier Wochen in gut 3 Minuten kann man dann schon ertragen, und ein ausreichender „Headroom“ hat noch niemals geschadet.
Also, frisch ans Werk:

Ich setze hier einmal voraus, dass das Kamera-Modul korrekt an der CSI-Schnittstelle angeschlossen wurde (Blaue Markierung muss zur Netzwerk-Buchse zeigen) und mittels

pi@raspberrypi ~ $ sudo raspi-config

aktiviert wurde. Falls im Konfigurationsmenü die Zeile „camera Enable/Disable camera addon support“ fehlt, sollte das System mit

pi@raspberrypi ~ $ sudo apt-get update

und

pi@raspberrypi ~ $ sudo apt-get upgrade

auf den aktuellen Stand gebracht werden.

Ob die Einrichtung der Kamera korrekt ist, lässt sich schnell über den Befehl „raspistill“ feststellen, der in dieser Form ein JPEG-Bild im Home-Order von pi erstellt:

pi@raspberrypi ~ $ raspistill -o test.jpg

Da sich der Raspberry Pi auf einer Baustelle befinden wird und deshalb nicht von einer durchgängigen Stromversorgung auszugehen ist, sollte die Aufnahme nach Stromausfällen selbständig wieder beginnen. Ferner sollte jedes generierte Bild einen eindeutigen Namen erhalten, da bei simpler, fortschreitender Nummerierung vorherige Bilder überschrieben würden. Es muss also ein Shell-Skript erstellt werden, das über einen Cronjob nach jedem Booten des Raspberry Pi automatisch ausgeführt wird.

Zuerst wird jedoch ein eigener Ordner im Home-Verzeichnis (hier ‚zeitraffer‘), in dem die Aufnahmen gesammelt werden:

pi@raspberrypi ~ $ mkdir ~/zeitraffer

Anschließend wird mit Starten des Editors nano das Shell-Script erstellt:

pi@raspberrypi ~ $ sudo nano ~/zeitraffer.sh

Der Code kann hier über den Befehl „Copy“ der Menüzeile des Codeblocks in die Zwischenablage kopiert und in nano eingefügt werden.

Die angegebenen Befehlsoptionen -w 1920 und -h 1024 sind hier eigentlich überflüssig. Sie dienen der Einstellung der Auflösung (-w für die Bildbreite, -h für die Bildhöhe). Der Befehl ‚raspistill‘ wählt ohne Angabe der Auflösung aber automatisch die höchstmögliche. Ich habe diese Einstellung dennoch implementiert, um zu verdeutlichen, wie im Bedarfsfall auch geringere Auflösungen eingestellt werden können.

Abgeschlossen wird das Erstellen des Shell-Scripts dann mit der Tastenkombination Strg+X zum Verlassen und Speichen, gefolgt von der Bestätigung der Sicherheitsabfrage mit Y oder J (je nach eingestellter Systemsprache) und dem Bestätigen des Dateinamens mit Enter.

Damit das erstellte Script ohne Fehlermeldung abgearbeitet werden kann, wird es mit folgendem Befehl als ausführbar deklariert:

pi@raspberrypi ~ $ sudo chmod +x ~/zeitraffer.sh

Bleibt nur noch das Einrichten des Cronjobs. Die zuständige Datei lässt sich mit folgendem Befehl bearbeiten:

pi@raspberrypi ~ $ crontab -e

In die sich daraufhin öffnende Datei wird hinter der letzten Zeile folgender Code eingefügt:

Gespeichert wird wieder mit Strg+X, Y (oder J) und Enter.

Ab jetzt reicht das Booten des Raspberry Pi aus, um die Aufnahme automatisch zu starten bzw. fortzusetzen. Die gesammelten Einzelbilder können dann später mit einem Programm wie MovieMaker o.ä. zu einem Film zusammengesetzt werden. Die nötigen Schritte werde ich im einem späteren Post erklären, den ich dann an dieser Stelle verlinken werde.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.