Voglio creare un timelapse da una raccolta di immagini, sotto Ubuntu. Vorrei realizzare video HD e aggiungere idealmente una colonna sonora.
Voglio creare un timelapse da una raccolta di immagini, sotto Ubuntu. Vorrei realizzare video HD e aggiungere idealmente una colonna sonora.
Risposte:
Ffmpeg lo farà. Se hai delle immagini, img001.jpg, img002.jpg, img003.jpg, ...
sulla riga di comando fai:
ffmpeg -i img*.jpg output.mpeg
Ci sono più opzioni fornite in ffmpeg --help
o pagine man o web. Ciò consente il controllo della frequenza dei fotogrammi e del formato di output.
.jpg
file come file di output. Capisco File 'DSCF6134.JPG' already exists. Overwrite ? [y/N]
- non così eccezionale. La mia soluzione era quella di generare un elenco di file con \ls *.JPG | sed "s/^/file '/;s/$/'/" > files.txt
e quindi caricarlo con ffmpeg -f concat -i files.txt output.mpeg
.
ffmpeg -pattern_type glob -i "picture*.jpg" output.mpeg
Innanzitutto rinominiamo tutti i file * .JPG in base alla data di creazione. A volte le telecamere cambiano il nome del file o semplicemente ordinarle non è in qualche modo ciò che vogliamo. Tuttavia, rinominarli entro la data di creazione funziona sempre:
jhead -n%Y%m%d-%H%M%S *.JPG
Dopodiché inseriamo questo elenco in un file:
ls -1tr | grep -v files.txt > files.txt
Quindi utilizzare mencoder
per creare un AVI
video usando 20 fps. Nota che questo genererà un enorme file video, di solito con le stesse dimensioni di tutte le immagini sommate.
mencoder -nosound -noskip -oac copy -ovc copy -o output.avi -mf fps=20 'mf://@files.txt'
Di solito fotografo foto con timelapse con la risoluzione più bassa della mia fotocamera (5 MP), con un rapporto di aspec di 4: 3. Per generare un video 1080p corretto, l'immagine viene prima ridimensionata a 1920 pixel di larghezza, quindi la ritaglio a 1080 di altezza. In questo modo non sto modificando il contenuto delle foto, sto solo ritagliando:
ffmpeg -i output.avi -y -sameq -vf scale=1920:1440,crop=1920:1080 output-final.avi
Il motivo per cui utilizzo mencoder per mettere insieme le foto è perché ho ottenuto un file segmentation fault
con ffmpeg.
ffmpeg
comando, -sameq
ora l'opzione è sostituita da-qscale 0
Blender è una buona soluzione se hai a che fare con motion timelapse (hyperlapse) o riprese instabili. Ha funzionalità di motion tracking in modo da poter scegliere un punto fisso da tracciare durante il timelapse. Puoi anche risolvere i problemi di rotazione.
Potresti anche essere interessato al progetto timelapse-darktable . Semplifica il post-processamento delle immagini con darktable e il time-lapse della serie. Le istruzioni su come utilizzarlo sono disponibili qui: https://code.google.com/p/timelapse-darktable/wiki/generateTimelapse
Puoi usare mencoder. Le opzioni sono abbastanza esplicite:
Se si trovano tutti nella directory corrente con i nomi ordinati e si desidera l'elenco nel file /tmp/files.txt:
ls -1 *jpg > /tmp/files.txt
Se vuoi che il file di output sia /tmp/test.avi con 30fps:
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4 -o /tmp/test.avi -mf type=jpeg:fps=30 mf://@/tmp/files.txt
Kdenlive può anche generare timelaps utilizzando il Add Slideshow Clip
menu, come spiegato in questo tutorial .
Secondo lo stesso sito , Openshot ha una funzionalità simile ma non lo consiglia perché è "troppo difettoso". Tuttavia, se è il tuo editor video preferito, sarai felice di sapere che puoi semplicemente trascinare e rilasciare una sequenza di file con nome appropriato (da 001.jpg a NNN.jpg) in una finestra di Openshot per importarli anche come timelapse.