Ich bin ein großer Fan von Timelapse-Aufnahmen, daher wollte ich mal eine eigene Lösung schaffen, welche über einen längeren Zeitraum ohne das Handy oder die Spiegelreflex über Stunden irgendwo zu positionieren funktioniert.

Ein Raspberry Pi Zero W hatte ich noch zur Hand und auch eine Full HD Kamera mit Nachtsicht, welche mit dem Raspberry PI Zero sehr gut zusammenarbeitet.


Hardware

Kamera

Zum Befestigen:

Sonstiges

  • PowerBank, Usb-Kabel, bisschen Holz und paar M3 - Schrauben.
Kamera Aufbau mit Raspberry Pi Zero W

Software

Es lohnt sich immer den Raspberry Pi auf dem neusten Stand zu haben. Also bevor wir loslegen führen wir einmal folgende Befehle aus.

sudo apt update
sudo apt upgrade
sudo rpi-update

Als nächstes müssen wir die Kamera aktiveren. Dazu tippen wir folgenden Befehl ein.

sudo raspi-config

Um die Kamera zu aktivieren, müssen wir den Punkt 5. Interfacing Options anwählen.

Danach P1 Camera auswählen und mit Enter bestätigen.

Und  als letzten Schritt, die Kameraeinstellung auf Yes ändern.

Die Kamera ist jetzt aktiv und kann verwendet werden. Hierzu können wir ein Testbild mit folgendem Befehl erstellen.

raspistill -o meinbild.jpg

Nach einem kurzen Moment sollte das Bild meinbild.jpg erfolgreich erstellt sein im selben Verzeichnis. Jetzt heißt es optimieren! Das Standardbild kommt als 4:3 (2592 x 1944).

Folgende wichtige Parameter gibt es:

Parameter Beschreibung
--width Breite des Bildes
--height Höhe des Bildes
-vf Vertikal-Spiegelung des Bildes (Vertical Flip)
-hf Horizontal-Spiegelung des Bildes (Horizontal Flip)

Wenn das Testbild erfolgreich funktioniert mit den gewünschten Einstellungen, dann können wir nun die Einstellungen übernehmen und eine Timelapse erstellen.

Tipp zum Scharfstellen der Raspberry Pi Kamera hier vorne dran drehen:

Drehen zum Scharfstellen

Um die Timelapse zu starten erweitern wir den angepassten raspistill-Befehl.

nohup raspistill -tl 3000 -t 9999999999 -o image-batch%06d.jpg -vf &
Parameter Beschreibung
-tl Die Timelapse-Zeit in welchem Abstand das Foto gemacht werden soll in Milisekunden.
-t Wie lange die Timelapse laufen soll, ich mach immer 99999999 und breche händisch ab.
-o image-batch%06d.jpg Ist der Dateiname der einzelenen Bilder. Die werden immer als image-batch000000.jpg - Also Name + 6 Zahlen (Digets) gespeichert.

Mit dem Befehl nohup(?) und dem & am Ende sorgt ihr dafür, dass falls eure Verbindung vom SSH-Client verloren geht, die Timelapse dennoch weiterarbeitet und gleichzeitig ihr weiterhin die Console zur Verfügung habt, um zu schauen ob es funktioniert.

Nach der gewünschten Zeit die Timelapse beenden. Der Raspberry Pi Zero ist leider zu lahm, um vernünftig ein Video aus den Bilder zu erzeugen. Mit einem normalen Raspberry Pi funktioniert es wahrscheinlich.

Ich habe die Bilder dann vom Raspberry Pi Zero  herunter kopiert auf ein anderes Linuxsystem. In meinem Fall ein Nvidia Jetson Nano.

Um die ganzen Einzelbilder zu einem Video zu  machen habe ich mencoder verwendet und um später noch einige Konvertierungen durchzuführen ffmpeg.

sudo apt install mencoder ffmpeg

Mit folgendem Befehlt erstellt ihr das Timelapse-Video.

mencoder mf://*.jpg -mf w=1920:h=1080:fps=25:type=jpg -ovc lavc -lavcopts vcodec=msmpeg4v2:vbitrate=16000:keyint=15:mbd=2:trell -oac copy -o output.avi

Wenn man das Video per Whatsapp oder Ähnliches versenden will, dann könnt ihr die Qualität etwas runterschrauben mit folgendem Befehl.

ffmpeg -i output.avi -vf scale=1024:768,setdar=4:3 whatsapp.avi  -hide_banner

Am besten ist es, wenn man die Datei noch als mp4 konvertiert, dann kann man sie am besten verschicken via Whatsapp & Co.

ffmpeg -i whatsapp.avi whatsapp.mp4

Beispiel

Ausschnitt vom Treiben am Bienen Hotel (Alle 3 Sekunden ein BIld)

Cheers Jörg