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 --helpo pagine man o web. Ciò consente il controllo della frequenza dei fotogrammi e del formato di output.
.jpgfile 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.txte 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 mencoderper creare un AVIvideo 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 faultcon ffmpeg.
ffmpegcomando, -sameqora 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 Clipmenu, 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.