come fare un video time lapse con una webcam

Il time lapse è una tecnica cinematografica che ha come risultato un video in cui il tempo di riproduzione è “compresso”, tanto per fare un esempio, in un solo secondo di quel film ci sono 60 secondi della scena reale.
Nuvole che corrono, piante che germogliano in pochi secondi, lavori complessi che avanzano velocemente sono tutti i video time lapse che siamo abituati a vedere.
Come si fa un video time lapse ?
La tecnica è abbastanza semplice e consiste nel riprodurre i frames che compongono l’immagine ad una frequenza maggiore con la quale sono stati ripresi.
Avendo a disposizione una webcam e un computer una ricetta semplice potrebbe essere questa:
da un lato prelevare dalla webcam un frame ogni tot che verrà memorizzato in una directory (ogni frame avrà un nome univoco basato sul timestamp ovvero la data e l’ora di acquisizione), per questo basta fare uno script che in crontab “campioni” l’immagine dalla webcam oppure usare un programma che già fa questo: su Linux per esempio camstream o camorama.

Dall’altro occorre un programma che prenda queste immagini e le trasformi in un video.
Per questo c’è l’insostituibile mencoder.
Per dire a mencoder di creare un video data una lista di immagini il comando da dare è questo:

mencoder mf://@lista.txt -ovc lavc -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800 -o output.avi

Dove nel file “lista.txt” ci sono i files che devono comporre la scena, uno per riga.
Codec e bitrate vanno scelti in base al formato di uscita e alla qualità che si vuole ottenere.
Il file di lista può essere creato molto semplicemente:

cd image-directory
ls *.jpg | tail -n 960 | sort > lista.txt

Il comando semplicente lista i files della directory , prende gli ultimi 960, li ordina per nome e crea il file di lista.
Il naming dei file immagine deve essere tale che una volta ordinati i primi siano i più vecchi:
un formato potrebbe essere: YYYYMMDDHHMMSS.jpg dove YYYY è l’anno, MM il mese, DD il giorno, HH l’ora, MM i minuti e SS i secondi.
Esempio 20090901123812.jpg identifica che quell’immagine è stata acquisita alle 12:38:12 del primo settembre 2009.