Der Raspi soll für uns ohne Aufsicht in der Natur viele tausend Bilder machen, die wir dann zu einem Zeitraffer-Film zusammenfassen wollen. Eine kleine Software ist schnell geschrieben, deshalb soll es hier auch nicht um die Programmierung, sondern um das Drumherum gehen.
Um eine Timelapse-Aufnahme herzustellen, werden in mehr oder weniger kurzen Abständen Einzelaufnahmen gemacht und zu einem Film zusammengefügt. Nur in wenigen Kameras ist eine solche Funktion bereits eingebaut.
Und bei echten Langzeitaufnahmen treten gleich mehrere Probleme auf. Zum einen muss die Kamera über Stunden oder Tage mit Strom versorgt werden und viele Aufnahmen hintereinander machen. Der interne Akku einer Spiegelreflexkamera stößt da schnell an seine Grenzen. Weil die meisten Kameras sich selber nicht für Langzeitaufnahmen konfigurieren lassen, muss zudem ein programmierbarer Fernauslöser unterstützt werden. Bei Aufnahmen in der Natur wird es außerdem zum Problem, seine teure Kamera längere Zeit unbeobachtet zu lassen, weil Diebstahl droht oder weil schlechtes Wetter einsetzen könnte.
Prinzipiell eignen sich Action-Cams, sie haben meistens aber begrenzte Einstellmöglichkeiten. Und wer das Handy nutzen möchte, mit mehr oder weniger guten Timelapse-Apps an Bord: Das ist dann eher etwas für kleinere Kreativ-Projekte.

©Swen Hopfe
Also warum nicht die Flexibilität des Raspberry Pi und seine Pi Cam dazu nutzen? Die ist mit ihrem weiten Aufnahmewinkel gut geeignet. Dass sie nur einen Fixfokus hat, macht uns nichts aus. Der Pi Zero W reicht völlig und ist keine kostspielige Angelegenheit. Mit einer Stromversorgung aus einer Powerbank kommt man mehrere Tage hin. Daneben kann man das Ganze robust und für den Außeneinsatz geeignet aufbauen.

©Swen Hopfe
Zuerst bauen wir ein Gehäuse für unsere Timelapse-Kamera. Wir nutzen das Standardgehäuse des Zero, mit Öffnungen für die Cam im Deckel und für die GPIO-Leiste im Boden. Zwei Pins können wir da brauchen, bei denen zwei Bedientaster den Pegel umschalten. Hier könnte man auch noch Status-LEDs anbringen. Aber alles sollte so einfach wie möglich aufgebaut sein. Damit es keine Reflektionen gibt, wurde der Deckel geschwärzt. Die Stromversorgung übernimmt eine schlanke Powerbank, wo uns für die Anbindung ein kurzes USB-Kabel ausreicht.

©Swen Hopfe
Das Gehäuse des Pi Zero steht bei uns hochkant. Am besten, man lässt keine Öffnungen oder Anschlussbuchsen nach oben zeigen, damit dort keine Feuchtigkeit eindringen kann. Wird Regen erwartet, kann man auch eine Schutzabdeckung aufsetzen. Das geschieht an dem Aluminiumgestänge, das auch zum Aufstellen im Gelände seine Funktion hat. In das Röhrchen kann man einen Stab mit Stativ-Aufnahme oder einen Erdspieß einstecken. Der Abstandhalter aus Aluminium dient bei Befestigung an einem Baum dazu, die gewünschte Neigung der Kamera zu bewerkstelligen.

©Swen Hopfe
Mit der entsprechenden Software lässt man das Ganze nun nach den eigenen Wünschen ablaufen. So kann man zum Beispiel die Aufnahme in der Nacht pausieren lassen und sie am nächsten Morgen fortsetzen.
Bei uns dient die Software im Wesentlichen zur Steuerung der Pi Cam, dem Auswerten der Taster und um aufzupassen, dass die interne Speicherkarte nicht überläuft. Zum Speichern der Bilder nutzen wir nur die SD-Karte des Pi. Bei einer 16-GB-Karte kann man im freien Speicherplatz immerhin mehrere tausend JPG-Dateien ablegen. Aber es geht ja auch noch größer oder mittels zusätzlichem Speicher am USB-Port des Pi, da sind kaum Grenzen gesetzt.
Zum Hochfahren wird einfach das Stromversorgungskabel gesteckt, dann startet unser Python-Skript mit der Aufnahmesequenz. Will man das verhindern, beispielsweise, um nur die fertigen Bilder von der Cam zu holen, dann drückt man während des Starts den dafür vorgesehenen Bedientaster. Der zweite Taster ist für das definierte Herunterfahren vorgesehen.
Für die eigentlichen Aufnahmen findet sich im Skript eine Schleife, um im festgelegten Zeitintervall jeweils raspistill aufzurufen. Die Bildparameter richten sich unter anderem danach, welche Auflösung man im späteren Videomaterial wünscht.
So kann ein Aufruf aus Python aussehen:
os.system('raspistill -w 2400 -h 1800 -rot 180 -t 500 -o ' + filename)
Da wir keine Verzweigungen im Skript haben, reicht uns zur zeitlichen Steuerung des Abstands zwischen zwei Aufnahmen eine einfache Pausenangabe mittels sleep . Natürlich kann man das auch eleganter lösen.
Je langsamer sich die Objekte bewegen, desto größer dürfen die Abstände zwischen zwei Aufnahmen sein. Jetzt sollte man sich überlegen, über welchen Zeitraum man beobachten möchte. Dadurch ergibt sich eine maximale Anzahl Bilder, die wir im Skript eingetragen haben.
Ist alles abgearbeitet, fährt der Pi von selber herunter. Das erschien uns als eine geeignete Methode, um nicht zu einer bestimmten Zeit vor Ort sein zu müssen und um ohne Speicherabfrage auf einfache Art und Weise einen Überlauf der Karte zu verhindern. Um das Limit zu kennen, sollte man vorher abschätzen, wie groß eine einzelne Aufnahme ungefähr wird und wissen, wie viel freier Speicher zur Verfügung steht.
Hier ein Überblick mit Beispielwerten für typische Aufnahmesituationen:

Im ersten Beispiel erzeugen 4500 JPG-Dateien bei zirka 2 MB pro Datei (2400×1800 Pixel) etwa 9 Gigabyte Daten auf der SD-Karte des Pi. Im späteren Film entscheidet die Anzahl der Frames pro Sekunde über Geschwindigkeit und Dauer der Wiedergabe.
Möchte man den Betrachter nicht mit zu langen Sequenzen langweilen, stellt man bei der Erstellung des Videos eine höhere Framerate ein. Natürlich läuft dann alles schneller ab. Auf der anderen Seite sollte man für ansehnliche Ergebnisse nicht unter 15 fps kommen. Mitunter kommt man um Kompromisse nicht herum.
Am besten, man hat einfach eine große Menge Bildmaterial zur Verfügung. Wir schießen das jetzt mit unserem Raspi.

©Swen Hopfe
Dann heißt es, aus den vielen Einzelbildern ein Video zu erstellen. Für die Weiterverarbeitung gibt es genug Software wie „Virtual Dub“ oder diverse Videoschnittprogramme, auch speziell zum Thema, beispielsweise „LR Timelapse“. Im Programm kann man dann weitere Korrekturen vornehmen.
Bevor man aber alles verarbeitet, lohnt sich der Blick ins Verzeichnis, um schlechte Aufnahmen vorab auszusortieren. Manchem ist schon eine Spinne vors Objektiv gelaufen…
Die Kamera hier ist die bisher einfachste, die ich auf Basis Raspberry Pi gebaut habe. Dennoch profitiert sie aus anderen Projekten und hat wieder ein paar Eigenschaften für den speziellen Anwendungszweck bekommen. So landet jede neue Sequenz in einem eigenen Unterordner, und den Dateinamen der Einzelbilder ist ein Index vorangestellt, so dass man alles möglichst problemlos in der Weiterverarbeitung importieren kann.
Ist man in Reichweite des eigenen Netzwerks, kann man sich dazu auch auf dem Zero per ssh einloggen und muss zur Übertragung der Bilder nicht die Speicherkarte ziehen.

©Swen Hopfe
Unsere Timelapse-Kamera hat sich bereits bewährt und ich hatte schon viel Spaß beim Aufnehmen und Herstellen von Zeitraffer-Videos. Eine professionelle Kamera ist es nicht. Aber man kann mitten in der Natur arbeiten und richtig viel Bildmaterial aufnehmen, ohne teures Kamera-Equipment zu belasten.
Und man hat ganz individuelle Abläufe zur Verfügung, die legt man vorher in der Software auf dem Pi fest. Die Kamera vor der Waldwiese am Abend aufhängen und ohne Akkuwechsel tagelang Fotos schießen, da muss Standard-Hardware passen.
Für die Zukunft ist ein Monitor als Einrichthilfe angedacht, vielleicht mittels Bildübertragung an ein Tablet.
Was Sie noch alles mit einem Raspberry Pi anstellen können, lesen Sie in weiteren Beiträgen von Swen Hopfe:
So steuern Sie mit Raspberry Pi eine Infrarotkamera
Wetter-Daten mit dem Raspberry Pi empfangen
Digitalmikroskop mit Monitor am Raspberry Pi
Raspberry Pi und Pi Cam als Scanner verwenden
Nächtliche Tierfotografie mit NoIR-Cam und Raspberry Pi
Webcam mit Raspberry Pi Zero W einrichten