Come posso combinare 30.000 immagini in un filmato timelapse?


69

Ho scattato 30.000 immagini fisse che voglio combinare in un filmato timelapse. Ho provato QuickTime Pro, TimeLapse 3 e Windows Movie Maker, ma con un'enorme quantità di immagini, ognuno dei programmi ha esito negativo (ho provato SUPER ©, ma non sono riuscito a farlo funzionare ...?). Sembra che tutti questi programmi vadano in crash dopo qualche migliaio di immagini.

Le immagini che ho sono tutte in formato .JPG, con una risoluzione di 1280x800, e sto cercando un programma in grado di mettere queste immagini in un filmato timelapse in una sorta di formato senza perdita (AVI grezzo / non compresso andrebbe bene) per ulteriore modifica. Qualcuno ha qualche idea o qualcuno ha provato qualcosa di simile con un numero simile di immagini?


hai provato qualcosa come Adobe Premiere o Final Cut Pro?
Mahmoud Hossam,

Hai provato a utilizzare un codec video senza perdita di dati come HuffYUV?
Hydaral,

jpeg è in perdita, quindi hai già perso la qualità, non puoi recuperarla.
ctrl-alt-delor

Risposte:


54

Avidemux può creare filmati da un mucchio di immagini. http://fixounet.free.fr/avidemux/

Puoi anche usare mencoder, ma è un po 'più difficile da usare, con tutte le opzioni della riga di comando e tutte. Sto usando questo:

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

Io uso

xxx = 25 and 
yyy = 1200

che produce video che vanno bene. Aggiungi brani al film inserendo:

-oac copy -audiofile audiofile.mp3

2
Avidemux ROCKS! Inserimento rapido di 33.000 immagini. Salvataggio rapido su AVI non compresso e viene suddiviso automaticamente in blocchi AVI da 4 GB. Ma tutti sono giocabili!
Swift,

2
+1 per Avidemux, ho fatto tonnellate di editing video usando MeGUI e non sapevo nemmeno che esistesse una valida alternativa!
Breakthrough

2
mencoder emette avi, indipendentemente dal nome del file di output. Esistono opzioni per produrre altri formati, ma il codice non funziona bene. Il modo consigliato è quello di produrre h.264-in-avi, quindi rimodellare. Usa invece ffmpeg. (vedi la risposta di Shenal Silva)
Peter Cordes,

mencoder è meno mantenuto / disponibile di quanto non fosse nel 2011. L'equivalente in MPV:mpv mf://*.jpg --mf-fps=25 --ovc libx264 --ovcopts=bitrate=1200:threads=2 -o outputfile.mkv
Sam Brightman,

Avidemux ritorna solo in VLC lamentandosi "VLC non supporta il formato audio o video" PNG ". Sfortunatamente non c'è modo per risolvere questo problema."
Vallentin,

39

Usa FFmpeg .

Questo creerà una presentazione video (usando il codec video libx264) da una serie di immagini png, chiamate img001.png, img002.png, img003.png, ...

Ogni immagine avrà una durata di 5 secondi, cambia la variabile in base alla tua scelta.

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

Se le tue immagini hanno quattro cifre, usa %04d, ecc. Se le tue immagini non hanno questo schema, puoi usare i globs di shell, almeno su Linux e OS X:

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

È inoltre possibile modificare il framerate di output specificandone un altro -rdopo l'input.


8
Solo una nota di avvertimento: non pensare di poter bypassare la sintassi di printf di ffmpeg e basta usare * .jpg o qualcosa per schemi più complessi. In realtà sovrascriverà tutti i tuoi file di immagini con il primo! L'ho provato da solo.
Christian

Stavo lottando anche con questo. Ho scoperto che puoi farlo ma devi impostare la bandiera in stile glob. ffmpeg -pattern_type glob -i 'time-lapse-files / *. JPG' time-lapse.mp4
arno_v

2
È possibile utilizzare -framerateper il formato di input image2. Vorrei sconsigliare di impostare un output fps diverso dall'input fps, a meno che non si desideri effettivamente eliminare ffmpeg o duplicare i frame. (a meno che non venga inviato a un contenitore come mkv in cui ffmpeg supporta frame rate variabile.) Sì, appena testato e ottieni frame duplex extra alimentati attraverso x264, quindi basta impostare l'FPS dell'input, ma inserendo -ro -frameratePRIMA-i .../stuff
Peter Cordes

2
Consiglierei anche ffmpeg. Ho scritto un blog su questo qui (maggiori dettagli sulla preparazione e sugli argomenti): dsebastien.net/2015/01/25/simple-time-lapse-using-ffmpeg
dSebastien

cat *.jpg | ffmpeg -framerate 60 -f image2pipe -i - ~/output.mp4qui è un'alternativa se non hai a -pattern_type globdisposizione
vearutop il

12

Se esegui alcuni calcoli di base, vedrai che probabilmente stai esaurendo la memoria se stai cercando di mantenere il film non compresso.

Ogni fotogramma è di 1.024.000 pixel. A 32 bit per pixel sono 32.768.000 bit (4.096.000 byte o 3,9 MB ).

Se lo moltiplichiamo per 30.000 fotogrammi, hai bisogno di 117187,5 MB ( 114,45 GB ) di memoria per conservare l'intero film in memoria in una volta sola - non c'è da meravigliarsi che QuickTime Pro non vada a buon fine.

Potresti provare a ridurre la risoluzione ma potrebbe non riuscire.

Dovrai costruire il film in pezzi più piccoli e poi ricucire il tutto. Mi aspetto che ci siano applicazioni che lo fanno senza caricare l'intero film in memoria. Anche il film finale dovrà essere compresso, di nuovo poiché occuperebbe 114 GB sul disco rigido. Un film occupa un solo DVD, dopo tutto, mentre il film dura 20 minuti (a 25 fotogrammi al secondo).


3
AFAIK, non esiste un programma di editing video al mondo che memorizzi qualsiasi clip non compressa interamente in memoria prima dell'analisi / salvataggio.
Breakthrough

@Breakthrough ~ Ma come lo componi in una clip compressa?
jcolebrand,

@Breakthrough - probabilmente è vero, ma l'OP vuole un film non compresso.
ChrisF,

2
@ddrachenstern e @ChrisF: esiste una differenza tra archiviazione immediata e archiviazione a lungo termine. Non esiste un programma di editing video che memorizzi l'intera lunghezza dei dati video non compressi in memoria. Anche quando si scorre l'anteprima, verranno ricreati i dati da ciò che è stato memorizzato sul disco rigido dalle varie origini multimediali (e forse un po 'di più per la memorizzazione nella cache). A parte questo, quando finalmente "renderizzi" un progetto, ottieni l'output video completo (di solito come stream). L'output video completo può quindi essere salvato così com'è (ad esempio non compresso / RAW) o trasmesso in streaming a un codificatore.
Breakthrough

1
Scusa, quando ho fatto il mio primo commento, volevo solo sottolineare che il problema non è la mancanza di memoria. Volevo anche dire che mentre un programma può memorizzare alcuni dati video non compressi (ad esempio per l'anteprima), non memorizza mai l'intero flusso video (di nuovo, a causa dei problemi che hai messo in luce nella tua risposta). Questo è solo il modo in cui vengono creati questi programmi, quindi questo non dovrebbe essere un problema. Ci scusiamo per eventuali interpretazioni errate!
Sfondamento

11

Sì, lo so che questa discussione ha più di un anno. Lo uso da oltre 2 anni e funziona benissimo con oltre 10.000 immagini:

1080p @ 24fps, nessun suono

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 a 90 fps, nessun suono

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

Prima di ottenere qualcosa che YouTube riconoscesse, ho dovuto fare molto casino con il codec. Un esempio che utilizza il secondo blocco è disponibile qui: http://www.youtube.com/watch?v=4G_aaPG2QWk


11

Prova PhotoLapse ; una recensione è disponibile su Lifehacker.com qui .

inserisci qui la descrizione dell'immagine


1
Ecco un video che mostra questo strumento in azione: vimeo.com/1226517
Darokthar,

Ho avuto un refuso. Ho già provato Photolapse, ma non riesce nel processo di rendering. Se calo a 10.000 immagini, completa il file AVI, ma il file è inutile e non può essere riprodotto.
Swift,

@Swift Capisco che è necessario che i file abbiano le dimensioni originali. Ho sempre eseguito il batch delle immagini sottocampionate usando Irfanview prima di creare il timelapse avi. Spero di trovare la soluzione di cui hai bisogno!
JYelton,

Il collegamento a Photolapse mostra chiari segni di rigor mortis.
Timothy Lee Russell,

@Timothy Link aggiornato.
JYelton,

8

Uso Google Picasa. Secondo me è anche un ottimo organizzatore di foto. Ecco come.

1) File> Aggiungi cartella a Picasa ...> aggiungi la cartella con le tue foto.

2) Fare clic con il tasto destro del mouse sulla cartella aggiunta nel menu "Cartelle" a sinistra e> Seleziona tutte le immagini

3) Dal menu principale> Crea> Video> Dalla selezione ...

4) Ora sei nel creatore di video> scheda Video> Stile di transizione> Time Lapse

5) È possibile caricare una traccia audio, modificare le dimensioni (normalmente utilizzo 1024x768), aggiungere diapositive con testo nella scheda Diapositive ...

6) Video Maker> Scheda Video> Crea video. Puoi accedere con il tuo account Google e caricarlo su YouTube anche da qui.

Di nuovo nella libreria, puoi fare clic con il pulsante destro del mouse sul video> trova nel disco per vedere dove è stato salvato il video. Un altro aspetto positivo dell'utilizzo di Picasa è che puoi selezionare tutte le immagini e andare al menu principale Immagine> Modifica batch> Mi sento fortunato. Correggerà il contrasto e il colore di tutte le foto contemporaneamente.

Prima di creare il video, potresti voler aggiungere un po 'di movimento al tuo lasso di tempo con http://motiontimelapser.co.nr/ Disclamer: sono l'autore.


Questo ha funzionato davvero bene per me con circa 2500 immagini scattate con una GoPro in modalità burst. Se usi già Picasa, dai un'occhiata a questa soluzione.
Lonstar,

Picasa è stato messo al pascolo.
Timothy Lee Russell,

5

Ho affrontato un problema simile qualche tempo fa quando ho provato a creare un timelapse per un crea-un-thon in uno spazio di hacker locale. Eseguo OS X, quindi non sono sicuro di quanto sia possibile utilizzarlo su Windows, ma ho usato MEncoder.

Questo è il comando che ho usato nel terminale:

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

Ci sono due problemi con questo:

  1. È AVI.
  2. Tutto ciò che fa è spostare le immagini in un unico file senza compressione. Certo, è veloce, e funziona davvero!

Successivamente l'ho eseguito attraverso un'altra utility per convertirlo in un formato decente a metà.

MEncoder fa parte del progetto MPlayer, che si trova qui: http://www.mplayerhq.hu/


4

Vedo che questo thread è un po 'vecchio, ma ho scoperto che MakeAVI è il miglior programma per me!

Puoi scaricarlo qui: http://sourceforge.net/projects/makeavi/?source=dlp

  • Tutto quello che devi fare è scaricarlo ed eseguire l'eseguibile all'interno della cartella scaricata (nessun programma di installazione).
  • Quindi per aggiungere le immagini, basta premere il pulsante "Aggiungi file" nell'angolo in alto a destra e selezionare le immagini che si desidera compilare.
  • Una volta che sono stati importati, è possibile utilizzare "Su" e "Giù", nella parte centrale sinistra, per regolare l'ordine delle immagini nel caso in cui non rimangano in ordine.
  • Quindi, per regolare la frequenza dei fotogrammi delle immagini compilate, è possibile modificare la casella di testo all'interno della cornice "Frequenza fotogrammi di riproduzione", lato inferiore destro, sulla frequenza dei fotogrammi desiderata.
  • Poiché il programma è ancora in versione beta (0.1.1), alcune cose non funzionano. Premi il pulsante "Inizia" e specifica il nome del file desiderato. Quando viene richiesto il tipo di compressione desiderato, selezionare quello desiderato, ad eccezione di "Full frame (non compresso)" che non ha funzionato per me.
  • Quindi, una volta terminata la compilazione del video, vai a guardare il video e guarda come è. Se il video è vuoto (nessuna lunghezza), prova a modificare le opzioni di compressione. (È quello che è successo quando ho provato "Full Frames (Uncompressed)")

Non sono riuscito a far funzionare nessuno degli altri metodi elencati qui, e questo ha funzionato per me! Spero che funzioni per te! :)


3

Hai provato VirtualDub ?

Quando apri un'immagine in virtualdub, ti verrà chiesto di caricare l'intera sequenza. Da lì: regola la frequenza dei fotogrammi, aggiungi alcuni filtri (ritaglia, affina), scegli un codificatore e salva il tuo video.

Ti suggerisco di sperimentare inizialmente con un numero inferiore di immagini e, se sei soddisfatto del risultato, esegui l'intero batch.

Modifica: ecco un semplice tutorial su questo. Tutto quello che devi fare è trovare un codec lossless adatto, come questo: MSU Lossless Video Codec .


2

Abbiamo testato il nostro software Time-Lapse Tool per generare video da immagini a 100k e funziona come un fascino. Tutte queste immagini possono essere aggiunte da più cartelle, il che è utile per le foto della DSLR raggruppate per 10k immagini nella cartella.


2

Se stai usando Premiere Pro, inserisci le immagini in una cartella dedicata, assicurati che siano numerate in sequenza e in sequenza, quindi in Premiere Pro fai clic con il pulsante destro del mouse sulla finestra Progetto e scegli "Importa", seleziona la prima immagine e selezionare la casella di controllo "Sequenza di immagini". Tirerà automaticamente tutte le immagini in una sequenza chiamata thefirstimageName.jpg ma con un'icona "stack" di immagine. Questo è tutto. Trascinalo in una sequenza, quindi esegui il rendering (Esporta -> Media) come 1080p, quindi importa l'esportazione come nuovo video clip. Consiglio vivamente di esportarlo e reimportarlo come clip perché Premiere Pro e Media Encoder possono essere danneggiati con filmati ad alta risoluzione se si armeggiano con tagli e variazioni di velocità, quindi esportare i filmati ad alta risoluzione a 1080p, compromettendo la qualità, ripristina la stabilità.


1

Solo per divertimento, ecco un altro modo (no, chiaramente NON sto cercando di perfezionare il mio processo.) Non risulta che Windows voglia modificare il risultato che mencoder produce dall'altra mia risposta. Questa è una versione più facile da modificare usando ffmpeg:

1080p@90fps, no sound, IMG_00000.JPG - IMG_99999.JPG
    ffmpeg -r 90 -i IMG_%05d.JPG -vcodec libx264 -vpre medium -crf 22 -threads 0 -vf scale=1920:-1 -r 15 -metadata title="foo"

0

Prima dovevo fare qualcosa del genere. Sono stato in grado di farlo con successo in quicktime pro facendolo 500 frame alla volta. Li salverei come un singolo film per poi passare al successivo. Quindi, unirei tutti i 500 segmenti di frame nell'ultima cosa.


Una specie di imbroglio per un software "professionale"!
Swift,

0

Vorrei anche votare per Virtualdub (in realtà ho fatto questa operazione, non ricordo se fossero così tanti). In seguito è anche facile rimuovere i frame che non vuoi, ecc. Forse potresti provare a utilizzare un formato video senza perdita di dati per renderizzarlo e memorizzarlo, come il codec di Camstudio . Per un timelapse ... forse va bene anche il codec tecnico (TSCC), ma funziona solo se hai acquistato (o ottenuto una vecchia versione da una rivista) Camtasia, in quanto installa la versione di codifica del codec. Realizza video davvero piccoli. E probabilmente è apropiato per un lasso di tempo.


0

Un altro programma che puoi usare è Time Lapse MovieMonkey

Ha fatto il lavoro di creazione del mio ultimo film time lapse davvero molto, molto velocemente. E non ho dovuto leggere le istruzioni. È semplice e intuitivo, ma ha abbastanza impostazioni avanzate. Ed è gratuito.

L'autore afferma che è stato testato con 50.000 immagini.


Il link è deceduto.
Timothy Lee Russell,

0

Ottengo risultati davvero buoni dall'utilizzo di Picasa o GoPro-studio .

Sono impegnato con un video per diario di me che costruisco una tavola da surf usando questi strumenti. Un lavoro in corso è stato pubblicato sul mio profilo su YouTube (cerca "Surfbordbou" - Non sono ancora consentiti più di 2 link per post)

Il creatore di film di Picasa è davvero facile da usare, con 2 clic e hai il timelapse di una serie di immagini selezionate.


Benvenuti nel sito. Quando dici che stai ottenendo buoni risultati, è fare lo stesso tipo di attività e lavorare con una quantità di immagini nell'ordine di grandezza della domanda? Questo è un punto chiave e dovresti discuterne nella tua risposta. Se la risposta è sì, descrivila e avrai una risposta vincente. In caso contrario, sono informazioni utili ma non un'ottima risposta a questa domanda. In tal caso, eliminare questa risposta, porre una nuova domanda sull'esecuzione dell'attività e quindi rispondere alla propria domanda con la soluzione. Sarebbe un'altra combinazione vincente.
fixer1234,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.