Timelapse ist ein kleines Python3 Werkzeug, um mit einem Raspberry Pi und einer Pi Kamera in einem vordefiniertem Intervall Fotos aufzunehmen. Diese können dann mit zb. ffmpeg oder jeder anderen Video Software zu einem Zeitraffer Video konvertiert werden.
Verzeiht den Namen, ich bin was das angeht nicht wirklich kreativ 😅. Anstelle dieses Tools kannst du auch einfach das Command Line Tool raspistill nutzen. Dieses liefert dir mit einem Kommando fast das gleiche Ergebnis. Warum also habe ich dieses Tool geschrieben? Ganz einfach, ich brauchte ein Use Case um meine neu erlernten Python Fähigkeiten zu trainieren und mir war langweilig.
Um dieses Tool nutzen zu können brauchst du einen Raspberry Pi. Ich nutze für meine Aufnahmen einen Raspberry Pi 3b, du kannst aber auch jede andere Variante nutzen. Außerdem brauchst du eine der folgenden Pi Kameras:
- Camera Module v1
- Camera Module v2
- HQ Camera An diesem Modell können via Adapter auch große Objektive verwendet werden.
Mit einer Powerbank kannst du das Setup auch in der Natur nutzen 😉.
- Raspberry Pi OS empfohlen
- Python3
- python-picamera
Ich nutze für dieses Projekt die neuste Version des Raspberry Pi OS, da dieses bereits alles benötigte an Board hat.
Du kannst auch ein anderes OS wie Ubuntu nutzen, dazu muss aber das nötige Python Modul installiert werden. Eine ausführliche Anleitung findest du in der Picamera Dokumentation.
git clone http://gitea.ori:3000/Python/timelapse.git
cd timelapse
python3 timelapse.py
./captures/[Datum und Uhrzeit der Aufnahme]/
"rotation": "0 = Normal; 90 = Dreht das Bild um 90°, 180 = Dreht das Bild um 180°, etc."
"resolution": {
"width": "Bildbreite",
"height": "Bildhöhe"
}
"text": {
"size": "Schriftgröße",
"foreground": "Schriftfarbe",
"background": "Hintergrundfarbe der Beschriftung"
}
"timelapse": {
"auto_mode": "Wenn 'true' wird Timelapse mit der in 'auto_capture_mode' eingetragenen Option gestartet.",
"auto_capture_mode": "Timelapse biete zwei Modi: day und night.",
"images": "Gesamtanzahl der Bilder die gemacht werden, zb: 5.",
"interval": "Intervall in dem die Bilder gemacht werden in Sekunden. Hier sollte ggf. 'shutter_speed' mit einbezogen werden. zb: 10."
}
"day": {
"iso": "Iso in der das Bild aufgenommen wird. 0 = Iso 0, 800 = Iso 800, etc.."
}
"night": {
"iso": "Iso in der das Bild aufgenommen wird. 0 = Iso 0, 800 = Iso 800, etc..",
"shutter_speed": "Verschlusszeit in Mikrosekunden 6000000 = 6 Sekunden."
}
"statistics": {
"enable": "Wenn 'true' schreibt Timelapse Statistiken zu der Bilder Serie in die Datei: data/statistics.json.",
"json": "Speicherort der Statistiken, zb: ./data/statistics.json"
}