Mit ffmpeg Zeitraffervideos erstellen

Zeitraffervideos sind irgendwie faszinierend, weil Sie bewegte Bilder zeigen, die aber eigentlich „stehend“ oder einzeln aufgenommen wurden. Wie ihr solche Videos mit eurer Webcam unter Linux erstellen könnt schreibe ich euch in folgendem Artikel.

Um diese Bilder aufnehmen zu können braucht Ihr eine Webcam, Linux und ffmpeg. Mit folgendem Befehl schiesst ihr die Bilder mit Eurer Webcam.

s=5;i=1;until [ ]; do ffmpeg -f video4linux2 -s 640x480 -r 1 -i /dev/video0 \
-vframes 1 -f image2 pic`printf %05d $i`.jpg;i=$(($i+1));sleep $s;done

Variable “s” entspricht der Zeit, die zwischen den Bildern „geschlafen“ wird. Bei video4linux2 müsst ihr euren Treiber auswählen, bei meiner Cam wäre es entsprechend der video4linux2 Treiber. Ich habe beim Dateinamen mit printf mal eine 5-stellige Zahl angenommen, je nachdem wie viele Bilder Ihr aufnehmen wollt, müsst Ihr es entsprechend anpassen. Eventuell führt ihr dem Befehl gleich in dem Verzeichnis aus, in dem Ihr die Bilder später auch haben möchtet, sonst müllt ihr euch vielleicht euer Home zu. Das Skript lässt sich entsprechend mit STRG+C abbrechen.
Nach und nach füllt sich euer Ordner und mit der Thumbnail-Ansicht zeigt sich schon ein kleiner Zeitraffer ab.

Um die Bilder nun zu einem Video zusammen zu packen müsst ihr folgenden Befehl im Verzeichnis eurer Wahl ausführen:

ffmpeg -r 10 -f image2 -i pic%05d.jpg zeitraffer.mp4

Der Parameter -r beschreibt die Rate mit der das Video erzeugt wird, also je größer die Zahl, desto schneller ist das Video vorbei, je mehr Bilder werden verwendet. So bietet es z.B. an, verschiedene Videos mit verschiedenen Raten zu erstellen. Ich habe beispielsweise aus ca. 1400 Bildern ein 1, 2 und 5 minütiges Video erstellt.

Der Artikel ließ eine ganze Zeit auf sich warten, weil ich die Bilder ohne Prefix erstellen ließ und das beim Erstellen des Videos zu Segmentation Faults im ffmpeg führte.

Funktioniert die Anleitung bei euch? 🙂

Favourite Zeitraffervideos:

Quellen: