Ich möchte unter Ubuntu einen Zeitraffer aus einer Sammlung von Bildern erstellen. Ich möchte HD-Videos machen und idealerweise einen Soundtrack hinzufügen.
Ffmpeg wird es tun. Wenn Sie Bilder haben img001.jpg, img002.jpg, img003.jpg, ...
, tun Sie Folgendes in der Befehlszeile:
ffmpeg -i img*.jpg output.mpeg
Es gibt mehr Optionen in den ffmpeg --help
Manpages oder im Web. Diese ermöglichen die Kontrolle über die Bildrate und das Ausgabeformat.
.jpg
Dateien als Ausgabedatei betrachtet werden. Ich verstehe File 'DSCF6134.JPG' already exists. Overwrite ? [y/N]
- nicht so toll. Meine Lösung bestand darin, eine Dateiliste mit zu generieren \ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt
und diese dann mit zu laden ffmpeg -f concat -i files.txt output.mpeg
.ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg
Zuerst benennen wir alle *.JPG-Dateien basierend auf ihrem Erstellungsdatum um. Manchmal ändern Kameras den Dateinamen oder nur die Reihenfolge ist irgendwie nicht das, was wir wollen. Das Umbenennen nach dem Erstellungsdatum funktioniert jedoch immer:
jhead -n%Y%m%d-%H%M%S *.JPG
Danach legen wir diese Liste in einer Datei ab:
ls -1tr | grep -v files.txt > files.txt
Und verwenden Sie dann mencoder
, um ein AVI
Video mit 20 fps zu erstellen. Beachten Sie, dass dies eine riesige Videodatei erzeugt, die normalerweise etwa die gleiche Größe wie alle Bilder hat, die summiert werden.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 'mf://@files.txt'
Normalerweise fotografiere ich für Zeitraffer mit der niedrigsten Auflösung meiner Kamera (5 MP), die ein Seitenverhältnis von 4:3 hat. Um ein richtiges 1080p-Video zu erzeugen, wird das Bild zuerst auf eine Breite von 1920 Pixel neu skaliert und dann auf eine Höhe von 1080 beschnitten. Auf diese Weise ändere ich den Inhalt der Fotos nicht, sondern beschneide nur:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
Der Grund, warum ich Mencoder verwende, um die Fotos zusammenzusetzen, ist, dass ich eine segmentation fault
mit ffmpeg habe.
ffmpeg
Befehl wird die -sameq
Option jetzt durch ersetzt-qscale 0
Blender ist eine gute Lösung, wenn Sie mit Bewegungszeitraffer (Hyperlapse) oder unruhigem Filmmaterial zu tun haben. Es verfügt über Bewegungsverfolgungsfunktionen, sodass Sie einen festen Punkt auswählen können, der während des gesamten Zeitraffers verfolgt werden soll. Sie können auch Rotationsprobleme beheben.
Vielleicht interessiert Sie auch das Projekt timelapse-darktable . Es macht es einfach, Bilder mit Darktable nachzubearbeiten und einen Zeitraffer der Serie zu erstellen. Anweisungen zur Verwendung finden Sie hier: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse
Sie können mencoder verwenden. Optionen sind ziemlich explizit:
Wenn sie sich alle im aktuellen Verzeichnis mit geordneten Namen befinden und Sie die Liste in der Datei /tmp/files.txt haben möchten:
ls -1 *jpg > /tmp/files.txt
Wenn die Ausgabedatei /tmp/test.avi mit 30fps sein soll:
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Kdenlive kann auch Zeitraffer über das Add Slideshow Clip
Menü generieren, wie in diesem Tutorial erklärt .
Laut derselben Seite hat Openshot eine ähnliche Funktionalität, empfiehlt es aber nicht, weil es "viel zu fehlerhaft" ist. Wenn es sich jedoch um Ihren bevorzugten Videoeditor handelt, werden Sie erfreut sein zu wissen, dass Sie einfach eine Folge richtig benannter Dateien (001.jpg bis NNN.jpg) in ein Openshot-Fenster ziehen und dort ablegen können, um sie auch als Zeitraffer zu importieren.
Frederico Schardong
Frederico Schardong
anarcat