Wie kann ich 30.000 Bilder in einem Zeitrafferfilm kombinieren?

165843
Swift

Ich habe 30.000 Einzelbilder aufgenommen, die ich zu einem Film mit Zeitraffer kombinieren möchte. Ich habe QuickTime Pro, TimeLapse 3 und Windows Movie Maker ausprobiert, aber bei einer so großen Anzahl von Bildern scheitert jedes der Programme (ich habe SUPER © probiert, konnte es aber auch nicht ...?). Es scheint, dass alle diese Programme nach ein paar tausend Bildern abstürzen.

Die Bilder, die ich habe, sind alle im .JPG-Format mit einer Auflösung von 1280x800 und ich suche ein Programm, das diese Bilder in einem verlustfreien Format (etwas unkomprimiertes AVI-Format) für einen Timelapse-Film einsetzen kann weitere Bearbeitung. Hat jemand irgendwelche Ideen oder hat jemand so etwas mit einer ähnlichen Anzahl von Bildern ausprobiert?

62
hast du etwas wie Adobe Premiere oder Final Cut Pro ausprobiert? Mahmoud Hossam vor 13 Jahren 0
Haben Sie versucht, einen verlustfreien Videocodec wie HuffYUV zu verwenden? Hydaral vor 13 Jahren 0
JPEG ist verlustbehaftet, so dass Sie bereits an Qualität verloren haben, Sie können es nicht zurückbekommen. ctrl-alt-delor vor 8 Jahren 0

16 Antworten auf die Frage

50
klokop

Avidemux kann Filme aus mehreren Bildern erstellen. http://fixounet.free.fr/avidemux/

Sie können auch mencoder verwenden, ist jedoch etwas schwieriger zu bedienen, da alle Befehlszeilenoptionen vorhanden sind. Ich habe das benutzt:

mencoder mf://*.jpg -mf fps=xxx:type=jpg -ovc x264 -x264encopts bitrate=yyyy:threads=2 -o outputfile.mkv 

ich benutze

xxx = 25 and  yyy = 1200 

was produziert vids, die gut sind. Fügen Sie dem Film Melodien hinzu, indem Sie Folgendes einfügen:

-oac copy -audiofile audiofile.mp3 
Avidemux FELSEN! Schnelles Einfügen von 33.000 Bildern. Schnelles Speichern in unkomprimiertes AVI - und es wird automatisch in 4 GB AVI-Blöcke aufgeteilt. Aber alle sind spielbar! Swift vor 13 Jahren 2
+1 für Avidemux, ich habe jede Menge Videobearbeitung mit MeGUI gemacht und wusste gar nicht, dass es so eine gute Alternative gibt! Breakthrough vor 13 Jahren 2
Mencoder gibt avi aus, unabhängig vom Dateinamen der Ausgabe. Es gibt Optionen zur Ausgabe anderer Formate, aber der Code funktioniert nicht gut. Die empfohlene Methode ist, h.264-in-avi auszugeben und dann zu remuxen. Verwenden Sie stattdessen einfach ffmpeg. (Siehe die Antwort von Shenal Silva) Peter Cordes vor 9 Jahren 2
mencoder ist weniger gepflegt / verfügbar als im Jahr 2011. Das Äquivalent in MPV: `mpv mf: //*.jpg --mf-fps = 25 --ovc libx264 --ovcopts = bitrate = 1200: Threads = 2 -o Ausgabedatei.mkv` Sam Brightman vor 8 Jahren 0
Avidemux kehrt nur in VLC zurück und beschwert sich: "VLC unterstützt das Audio- oder Videoformat" PNG "nicht. Leider gibt es keine Möglichkeit, dies zu beheben." Vallentin vor 8 Jahren 0
Sorry, @Vallentin, kann dir da nicht helfen. klokop vor 8 Jahren 0
35
Shenal Silva

Verwenden Sie FFmpeg .

Dadurch wird eine Videodiashow (unter Verwendung des Videocodecs libx264) aus einer Reihe von PNG-Bildern mit den Namen img001.png, img002.png, img003.png,… erstellt.

Jedes Bild hat eine Dauer von 5 Sekunden. Ändern Sie die Variable entsprechend Ihrer Auswahl.

ffmpeg -f image2 -r 1/5 -i img%03d.png -c:v libx264 -pix_fmt yuv420p out.mp4 

Wenn Ihre Bilder vierstellig sind, verwenden Sie %04dusw. Wenn Ihre Bilder dieses Muster nicht aufweisen, können Sie zumindest unter Linux und OS X Shell-Globs verwenden:

ffmpeg -f image2 -pattern_type glob -i 'time-lapse-files/*.JPG' … 

Sie können die Framerate der Ausgabe auch ändern, indem Sie -rnach der Eingabe eine andere angeben.

Nur eine Warnung: Denken Sie nicht, dass Sie die printf-Syntax von ffmpeg umgehen können, und verwenden Sie * .jpg oder etwas anderes für komplexere Muster. Es wird tatsächlich jede Ihrer Bilddateien mit der ersten überschreiben! Ich habe es selbst ausprobiert. Christian vor 11 Jahren 8
I was stuggeling with this as well. I turns out you can do this but need to set the glob style flag. ffmpeg -pattern_type glob -i 'time-lapse-files/*.JPG' time-lapse.mp4 arno_v vor 10 Jahren 0
Sie können `-framerate` als Eingabeformat für image2 verwenden. Ich würde es nicht empfehlen, eine von den Eingangs-FPS abweichende Ausgabe von fps einzustellen, es sei denn, Sie möchten, dass ffmpeg Frames wirklich löschen oder duplizieren soll. (es sei denn, die Ausgabe in einen Container wie mkv, bei dem ffmpeg eine variable Framerate unterstützt.) Ja, gerade getestet, und Sie erhalten zusätzliche Dup-Frames, die durch x264 gespeist werden. Setzen Sie also einfach die FPS der Eingabe, setzen Sie jedoch -r` oder `- Framerate `VOR` -i ... / stuff` Peter Cordes vor 9 Jahren 2
Ich würde auch ffmpeg empfehlen. Ich habe hierüber gebloggt (weitere Details zur Vorbereitung und Argumentation): http://www.dsebastien.net/2015/01/25/simple-time-lapse-using-ffmpeg/ dSebastien vor 9 Jahren 2
`cat * .jpg | ffmpeg -framerate 60 -f image2pipe -i - ~ / output.mp4` Hier ist eine Alternative, wenn Sie nicht über -pattern_type glob` verfügen vearutop vor 7 Jahren 0
Soweit ich das beurteilen kann, hat FFmpeg einige Fehler im Parsing-Code für Platzhalterzeichen - aber ich habe einige ziemlich bedeutungsvolle Dateinamen auf meiner Seite gemacht (musste herausfinden, wie man Powershell dazu bringt, einen Zähler für eine datetime-sortierte Auflistungspipeline auszugeben - psst. Die Antwort ist eine Variable auf Skriptebene.) Timothy Lee Russell vor 6 Jahren 0
12
ChrisF

Wenn Sie einige grundlegende Berechnungen durchführen, werden Sie feststellen, dass Ihnen wahrscheinlich der Speicher ausgeht, wenn Sie versuchen, den Film nicht komprimiert zu halten.

Jeder Frame hat 1.024.000 Pixel. Bei 32 Bit pro Pixel sind das 32.768.000 Bit (4.096.000 Byte oder 3,9 MB ).

Wenn Sie das mit 30.000 Frames multiplizieren, benötigen Sie 117187,5 MB ( 114,45 GB ) Speicher, um den gesamten Film auf einmal zu speichern. Kein Wunder, dass QuickTime Pro nicht funktioniert .

Sie könnten versuchen, die Auflösung zu reduzieren, dies kann jedoch immer noch fehlschlagen.

Sie müssen den Film in kleinere Stücke aufbauen und das Ganze dann zusammennähen. Ich würde erwarten, dass es Anwendungen gibt, die dies tun, ohne den gesamten Film in den Speicher zu laden. Der endgültige Film muss ebenfalls komprimiert werden, da er auf der Festplatte 114 GB belegen würde. Ein Film belegt nur eine einzige DVD, während der Film 20 Minuten lang ist (bei 25 Bildern pro Sekunde).

AFAIK, es gibt weltweit kein Videobearbeitungsprogramm, das * alle * unkomprimierten Clips vor dem Parsen / Speichern vollständig im Speicher speichert. Breakthrough vor 13 Jahren 3
@Breakthrough ~ Aber wie setzt man es in einen komprimierten Clip zusammen? jcolebrand vor 13 Jahren 0
@Breakthrough - das stimmt wahrscheinlich, aber das OP wünscht sich einen unkomprimierten Film. ChrisF vor 13 Jahren 0
@ddrachenstern und @ChrisF - es gibt einen Unterschied zwischen sofortiger und langfristiger Lagerung. Es gibt kein Videobearbeitungsprogramm, das die gesamte Länge der unkomprimierten Videodaten im Speicher speichert. Selbst wenn Sie durch die Vorschau blättern, werden die Daten aus den auf der Festplatte gespeicherten Daten aus den verschiedenen Medienquellen (und möglicherweise etwas mehr für das Caching) wiederhergestellt. Wenn Sie ein Projekt schließlich "rendern", erhalten Sie die vollständige Videoausgabe (normalerweise als Stream). Die vollständige Videoausgabe kann dann so gespeichert werden (z. B. unkomprimiert / RAW) oder an einen Encoder gestreamt werden. Breakthrough vor 13 Jahren 2
@Breakthrough - das verstehe ich -, aber wenn die Programme für ein paar 10er oder 100er Bilder funktionieren, aber für 1000er nicht funktionieren, ist es * wahrscheinlich *, dass so etwas passiert. Wenn das OP von dieser Möglichkeit weiß, kann er entweder a) einen anderen Ansatz wählen oder b) die richtige Frage an die Software stellen. ChrisF vor 13 Jahren 0
Entschuldigung, als ich meinen ersten Kommentar abgegeben habe, wollte ich nur darauf hinweisen, dass das Problem kein Mangel an Gedächtnis ist. Ich meinte auch, dass, während ein Programm * einige * unkomprimierte Videodaten im Speicher ablegen kann (z. B. für die Vorschau), es niemals den gesamten Videostrom speichert (wiederum aufgrund der Probleme, die Sie in Ihrer Antwort aufgedeckt haben). Dies ist nur die Art und Weise, wie diese Programme erstellt werden, daher sollte dies kein Problem sein. Entschuldigung für eventuelle Fehlinterpretationen! Breakthrough vor 13 Jahren 1
11
JYelton

Versuchen Sie es mit PhotoLapse . eine Überprüfung der es auf Lifehacker.com gegeben hier .

enter image description here

Hier ist ein Video, das dieses Tool in Aktion zeigt: http://vimeo.com/1226517 Darokthar vor 13 Jahren 1
Ich hatte einen Tippfehler. Ich habe bereits Photolapse ausprobiert, der Rendering-Vorgang schlägt jedoch fehl. Wenn ich auf 10.000 Bilder herabsetze, wird die AVI-Datei fertiggestellt - die Datei ist jedoch unbrauchbar und kann nicht abgespielt werden. Swift vor 13 Jahren 0
@Swift Ich verstehe, dass Sie die Dateien in ihrer ursprünglichen Größe haben müssen. Ich habe vor dem Erstellen des Zeitraffer-AVI immer die mit Irfanview unterabgesampelten Bilder stapeln. Hoffentlich finden Sie die Lösung, die Sie brauchen! JYelton vor 13 Jahren 0
Der Link zu Photolapse zeigt deutliche Anzeichen von Totenstarre. Timothy Lee Russell vor 6 Jahren 0
@Timothy Link aktualisiert. JYelton vor 6 Jahren 0
Danke @JYelton. Ich habe sie schließlich mit FFmpeg zusammengenäht, aber ich möchte dieses auch ausprobieren, also schätze ich es. Timothy Lee Russell vor 6 Jahren 0
11
mrlitsta

Ja, ich weiß, dass dieser Thread über ein Jahr alt ist. Ich verwende das allerdings schon seit über 2 Jahren und es funktioniert mit 10.000 Bildern sehr gut:

1080p @ 24fps, kein Ton

ls -1v | grep JPG > files.txt mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=24 mf://@files.txt -vf scale=1920:1080 

4k @ 90fps, kein Ton

ls -1v | grep JPG > files.txt mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=21600000 -o windowsill_flowers_7.avi -mf type=jpeg:fps=90 mf://@files.txt -vf scale=3840:2160 

Ich musste viel mit dem Codec herumspielen, bevor ich etwas bekam, das youtube erkennen würde. Ein Beispiel für den 2. Block finden Sie hier: http://www.youtube.com/watch?v=4G_aaPG2QWk

8
Katu

I use Google's Picasa. It's also a very good photo organizer in my opinion. Here is how.

1) File > Add Folder to Picasa... > add the folder with your photos.

2) Right click your added folder in the left 'Folders' menu and > Select All Pictures

3) From the top menu > Create > Video > From Selection...

4) Now you're in the video maker > Video Tab > Transition Style > Time Lapse

5) You can Load an Audio Track, change the dimensions (I normally use 1024x768), add slides with text ini the Slide Tab...

6) Video Maker > Video Tab > Create Video. You can sign in with you google account and upload it to youtube from here too.

Back in the library, you can right click the video > locate in disk to see where the video was saved. Another good thing about using Picasa is that you can select all the pictures and go to the top menu Picture > Batch Edit > I'm Feeling Lucky. It will correct the contrast and colour of all the photos at the same time.

Before you create the video, you may want to add some movement to your time lapse with http://motiontimelapser.co.nr/ Disclamer: I'm the author.

Das funktionierte sehr gut für mich mit etwa 2500 Bildern, die mit einer GoPro im Burst-Modus aufgenommen wurden. Wenn Sie Picasa bereits verwenden, überprüfen Sie diese Lösung. lonstar vor 8 Jahren 0
Picasa wurde auf die Weide gesetzt. Timothy Lee Russell vor 6 Jahren 0
4
wjl

Ich war vor einer Weile mit einem ähnlichen Problem konfrontiert, als ich versuchte, einen Zeitraffer für ein Create-a-Thon in einem lokalen Hackerspace zu erstellen. Ich führe OS X aus, daher bin ich nicht sicher, wie sinnvoll es ist, dies unter Windows zu verwenden, aber ich habe MEncoder verwendet.

Dies ist der Befehl, den ich in terminal verwendet habe:

mencoder mf://*.jpg -mf w=800:h=600:fps=5:type=jpg -ovc copy -oac copy -o buildmadison.avi 

Es gibt zwei Probleme damit:

  1. Es ist AVI.
  2. Alles, was es tut, ist, die Bilder in einer einzigen Datei ohne Komprimierung zu speichern. Natürlich ist es sehr schnell, und es funktioniert wirklich!

Danach habe ich es durch ein anderes Dienstprogramm geführt, um es in ein halbwegs anständiges Format zu konvertieren.

MEncoder ist Teil des MPlayer-Projekts, das sich hier befindet: http://www.mplayerhq.hu/

4
Jyclop

Ich sehe, dass dieser Thread ziemlich alt ist, aber ich habe festgestellt, dass MakeAVI das beste Programm für mich ist!

Sie können es hier herunterladen: http://sourceforge.net/projects/makeavi/?source=dlp

  • Sie müssen es nur herunterladen und die ausführbare Datei im heruntergeladenen Ordner ausführen (kein Installationsprogramm).
  • Um die Bilder hinzuzufügen, klicken Sie auf die Schaltfläche "Dateien hinzufügen" in der oberen rechten Ecke und wählen Sie die Bilder aus, die Sie kompilieren möchten.
  • Nachdem sie importiert wurden, können Sie mit "Up" und "Down" in der Mitte links die Reihenfolge der Bilder anpassen, falls sie nicht in der richtigen Reihenfolge bleiben.
  • Um die Framerate der kompilierten Bilder anzupassen, können Sie das Textfeld im Frame "Playback Framerate" unten rechts auf die gewünschte Framerate ändern.
  • Da sich das Programm noch in der Betaphase (0.1.1) befindet, funktionieren einige Dinge nicht. Klicken Sie auf die Schaltfläche "Begin" und geben Sie den gewünschten Dateinamen an. Wenn Sie gefragt werden, welche Art von Komprimierung Sie wünschen, wählen Sie die gewünschte aus, mit Ausnahme der "Vollbilder (unkomprimiert)", die für mich nicht funktionierten.
  • Wenn Sie mit dem Kompilieren fertig sind, schauen Sie sich das Video an und sehen Sie, wie es ist. Wenn das Video leer ist (keine Länge), versuchen Sie, die Komprimierungsoptionen zu ändern. (Das ist passiert, als ich "Full Frames (Uncompressed)" ausprobiert habe.)

Ich konnte keine der anderen hier aufgeführten Methoden zum Laufen bringen, und diese funktionierte für mich! Ich hoffe es funktioniert für Sie! :)

3
Mike Moe

Hast du VirtualDub ausprobiert ?

Wenn Sie ein Image in virtualdub öffnen, werden Sie aufgefordert, die gesamte Sequenz zu laden. Dort können Sie die Bildrate anpassen, Filter hinzufügen (Zuschneiden, Schärfen), einen Encoder auswählen und das Video speichern.

Ich schlage vor, Sie experimentieren zunächst mit einer geringeren Anzahl von Bildern, und wenn Sie mit dem Ergebnis zufrieden sind, machen Sie den ganzen Stapel.

Edit: Hier ist ein einfaches Tutorial dazu. Sie müssen nur einen geeigneten verlustfreien Codec finden, wie den folgenden: MSU Lossless Video Codec .

2
AiDevs

Wir haben unsere Time-Lapse-Tool-Software getestet, um Videos aus 100.000 Bildern zu erzeugen, und es funktioniert wie ein Zauber. Alle diese Bilder können aus mehreren Ordnern hinzugefügt werden. Dies ist hilfreich für Fotos aus einer DSLR, die nach 10-k-Bildern in einem Ordner gruppiert sind.