Seit ein paar Monate liegt bei mir das Raspberry Pi Modul Kamera Noir V.21 rum und ich habe es bisher nie gebraucht. Und so wollte ich das mal ändern und habe darum mir in den Kopf gesetzt ein kleines Zeitraffer Video zu erstellen.

Gesagt getan, zuerst habe ich das Kamera Modul an mein Raspberry Pi montiert (NoIR Camera Module V2.1) und dann habe ich in den Settings die Kamera aktiviert.

Sobald ihr das gemacht habt, könnt ihr loslegen.

Speicherort anlegen

Da ich gerne die Bilder gleich an meinem Mac anschauen wollte, ging ich in den HTML Ordner. Diesen Ordner habe ich ja erstellt, als ich den Webserver konfiguriert habe.

Regelmässig Bilder schiessen

Danach habe ich im Raspberry Pi Visual Studio Code geöffnet und folgendes Python Script geschrieben:

1
2
3
4
5
6
7
8
9
10
11
from picamera import PiCamera
from time import sleep
 
camera = PiCamera()
 
bilder_nummer = 0
while True:
 sleep(20) #Bild wird gemacht alle 20 Sekunden und abgelegt
 bilder_name = 'bild{0:05d}.jpg' .format(bilder_nummer)
 camera.capture(bilder_name)
 bilder_nummer +=1

Wie man sehen kann, wird hier ein Bild alle 20 Sekunden angelegt und als bild00005.jpg zum Beispiel direkt in diesem Ordner abgelegt. Mit dieser Lösung habe ich pro Stunde (3*60 = ) 180 Bilder generiert.

Bild in Video umwandeln

Danach musste ich aus diesen tausenden Bildern nun ein Video zusammen erstellen und dafür habe ich den folgenden Code in Termin verwendet.

1
ffmpeg -r 30 -f image2 -s 1920x1080 -i image%04d.jpg -vcodec libx264 -crf 25  -pix_fmt yuv420p video.mp4

Ich versuche mal ein paar Dinge zu erklären:

– Es wird also der ffmpeg Befehl verwendet
– 30 fps wird gemacht
– Das Video hat eine grösse von 1920*1080 also 1080p
– image%04d.jpg so heissen die Bilder
– und das Video heisst am schluss video.mp4

Nachdem dieses Video dann erstellt worden ist, kann ich es abrufen.

Video

Da ich nicht wollte, dass man gewisse Personen erkennt, habe ich das Video in der Grösse danach mit einem Schneideprogram kurz zusammengeschnitten und auch gekürzt – hier seht ihr die 20 Sekunde lange Version