TheJoe.it Into the (open) source

2mar/133

Video deshake con Linux: stabilizzare un video mosso con Transcode

Attenzione!

Questo articolo è stato scritto nel 2013, potrebbero esserci stati sviluppi circa l'argomento trattato.
In caso di dubbi lasciate un commento in fondo all'articolo.
Grazie.

canon_mossa

Oggi parliamo di un altro pezzo di software a riga di comando per Linux: Transcode. Questo piccolo tool permette di stabilizzare un video in cui il cameraman (o presunto tale) non abbia la mano troppo ferma. Può succedere in molte occasioni: sovraeccitamento, folla, freddo, poco spazio, febbre, sommossa, guerriglia urbana, guerra che la ripresa venga mossa e per evitare lo stimolo del vomito ogni volta che rivediamo i filmati delle vacanze un piccolo team di sviluppatori ha scritto transcode, poche riga di codice per Linux.

Il programma "capisce" grazie a una mappatura iniziale dei frame del video quanto la videocamera sia mossa, calcola la ripresa ottimale e scrive un secondo file video corretto. Vediamo come funziona nel dettaglio:

Scarichiamo transcode dal sito ufficiale e compiliamolo, oppure installiamolo tramite i repository del nostro sistema operativo (userò Ubuntu in questo tutorial).

sudo apt-get install transcode

Il processo di stabilizzazione si fa in due passaggi: il primo analizza il video e produce un file con le informazioni per la stabilizzazione. Questo è il primo comando:

transcode -J stabilize -i video.mov

C'è la possibilità che la versione installata automaticamente dai repository non abbia il pieno supporto ai codec della nostra videocamera e mostri questo errore: "transcode [filter_stabilize.so] warning: unsupported Codec: 2 (11| 0| 9)". Alcuni siti suggeriscono di utilizzare i codec mplayer con il comando così formato:

transcode -J stabilize --mplayer_probe -i video.mov

Anche se questo sembra funzionare a molti, purtroppo a me no, e visto che non ho molta voglia di indagare su mplayer sono passato all'installazione manuale dei codec (che trovo molto più sbrigativa).

Troviamo i codec in un sito dedicato ancora alla stabilizzazione video di transcode. Da questo sito possiamo scaricare il codec più adatto al nostro hardware (nel mio caso x86_64). È un archivio compresso .tgz, scarichiamo, scompattiamo e troviamo al suo interno i file filter_stabilize.so e filter_transform.so. A questo punto dovremo solo spostare i due file (librerie) in "/usr/lib/transcode", semplicemente con questo comando:

sudo mv /percorso/per/il/file/filter_* /usr/lib/transcode/

Ovviamente sostituendo "/percorso/per/il/file/" con il path corretto. Inseriamo la password e siamo a cavallo. Ripetiamo il primo comando e non dovremmo più avere problemi di sorta.

Il secondo passaggio utilizzerà il file creato dal primo passaggio per correggere il video frame per frame:

transcode -J transform -i video.mov -y xvid -o video_stabilizzato.avi

Non c'è bisogno che lo dica: il video stabilizzato si troverà nella stessa directory del video originale.

Importanti considerazioni finali

Transcode è un programma geniale, molto leggero e molto utile, ma ho riscontrato che il video stabilizzato ha delle piccole imperfezioni nelle parti in cui l'immagine è così sovraesposta da "bruciarsi" (parte dell'immagine in cui la luce è più intensa di quella che può "registrare" il sensore della fotocamera, apparirà bianca senza possibilità di correzione postuma). Nello specifico vedo in ogni frame dei puntini e delle linee, che servono da guida al software per raddrizzare i frame mossi, ma nel video elaborato non si dovrebbero vedere. Questa è una piccola pecca che non pregiudica il funzionamento del software, e se la ripresa (pur mossa) è fatta bene senza frame bruciati, non si sentirà. Resta il fatto che è un piccolo bug sicuramente risolvibile, ma ancora non risolto.

About

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

Commenti (3) Trackback (0)
  1. attendo il video TheJoe! 😀

  2. Da provare.. :)
    Ho visto qlk video sul tubo
    e sembra che funzioni bene..


Leave a comment

Ancora nessun trackback.