Grande Fab!!!
Post meraviglioso e suggerimenti utilissimi, proprio adesso che ho una telecamerina me ne approfitterò per seguire le tue orme!
E’ diffusa l’opinione che per fare video editing professionale servano computer molto potenti e software costosi.
E’ fuor di dubbio che software ad hoc semplificano di molto la vita a chi ha la necessità di produrre video in quantità e in tempi brevi, ma in genere questi software sono prodotti complessi, imparare ad utilizzarli e conoscere tutti i loro trucchi richiede del tempo e talvolta chi li usa per la prima volta o sporadicamente incontra delle difficoltà per fare delle cose all’apparenza banali.
Per quanto poi possa essere completo un programma di video editing, ci sarà sempre qualcosa che non si potrà fare, oppure per farla occorrerà scrivere “estensioni” o “plug in”.
Per questo, dopo aver perso un paio di giorni ad installare e provare ad utilizzare vari software di video editing, ho deciso di utilizzare i classici (per chi li conosce) programmi open source ffmpeg, mencoder, imagemagick per fare un semplice video clip con la mia Linux Box.
In poco tempo sono riuscito a fare quello che volevo, cioè prendere un file avi, estrarre due frame ogni secondo per ottenere un effetto accelerato, applicare dei filtri per migliorare l’immagine, aggiungere delle scritte in sovraimpressione, aggiungere una traccia audio e creare un file flv, fruibile con un playerino flash via web.
La ricetta:
Il primo passo è convertire il file originale in una serie di immagini, per questo ho utilizzato ffmpeg.
$ mkdir frames $ ffmpeg -i <file.avi> -y -an -sameq -f image2 -r 2/1 frames/%08d.jpg $ cp -r frames frames1
Il comando scompone il file video di ingresso nelle varie immagini che lo compongono, prelevandone 2 ogni secondo e copiandole nella directory “frames”
Il secondo passo è quello di generare dei testi che ruotano.
Per questo ho scritto uno script python, “edit.py” che utilizza “convert” per sovraimporre i testi su alcune immagini.
import subprocess
parameters=((0,60,90,"START"),
(270,554,50,"viadotto Giubileo del 2000"),
(567,1290,70,"via Flaminia"),
(1300,1742,70,"corso Francia"),
(2716,2800,60,"corso Rinascimento"),
(3792,4100,50,"via Cristoforo Colombo"),
)
def do():
global parameters
for i in range (1,4199):
#for i in range (1,50):
wtd=False
for parameter in parameters:
start,end,pointsize,s = parameter
if i>=start and i<=end:
wtd=s
rot = (i-start)*3
break
if wtd:
src="frames/%.8d.jpg" % (i)
dest="frames1/%.8d.jpg" % (i)
draw = "rotate %s gravity Center text 0,0 "%s"" % (rot,wtd)
subprocess.call (["convert",src,"-fill","red","-pointsize",str(pointsize),"-draw",draw,dest])
if __name__ == "__main__":
do()
Una volta generati i frames con le scritte occorre soltanto riassemblarli.
Per questo, dopo aver fatto girare "edit.py", ho utilizzato mencoder.
$ python edit.py $ mencoder "mf://frames1/*.jpg" -audiofile audio.ogg -o output.flv -ofps 30 \ -vf eq=15:0,denoise3d,spp=6,scale=320:240 -of lavf \ -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -ovc lavc \ -lavcopts vcodec=flv:vbitrate=640:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 \ -oac mp3lame -lameopts br=64 -srate 22050 -af lavcresample=22050
Il risultato è un video accelerato o "time lapse".
I vari parametri dati a mencoder servono per selezionare il codec flv, impostare una serie di filtri per migliorare l'immagine, selezionare il formato audio di uscita, specificare quali sono le sorgenti di ingresso e il file di uscita.
Il consiglio, se volete approfondire l'argomento, è quello di leggere con attenzione la documentazione e di sperimentare in pratica i vari parametri.
Tanto per fare un esempio, questo comando produce un file mpeg4 a partire dalle immagini contenute nella directory frames1
$ mencoder "mf://frames1/*.jpg" -ovc lavc \ -lavcopts vcodec=mpeg4:mbd=1:vbitrate=1800 \ -o output.avi -oac copy -audiofile audiofile.mp3
Ad ogni modo, nel caso del file flv, il risultato è questo:
Per la cronaca, il file dal quale sono partito è stato fatto con la Action Cam ATC2K.
Stai leggendo “ Time lapse video con ffmpeg, mencoder e imagemagick ”, un post di Fabrizio Zellini
Grande Fab!!!
Post meraviglioso e suggerimenti utilissimi, proprio adesso che ho una telecamerina me ne approfitterò per seguire le tue orme!
Bel lavoro, molto interessante ! Allo stesso modo si potrebbero inserire effetti speciali di ogni tipo …
Ciao,
ho visto che anche tu come me utilizzi molto il Pc e il videoediting
iosono interessato a qualche proramma che renda meno facile la DUPLICAZIONE dei DVD video da me fatti da visionare sui lettori DVD home.
So che ogni protezione ha la sua contromossa, ma dato che giro filmati amatoriali mi occorre qualcosa che scoraggi i meno pratici alla copia, quindi nulla di particolarmente complicato ma che funzioni .
Puoi Aiutarmi?
Hai questo tipo di programma o conosci qualche metodo?
Aspetto tue Notizie
saluti
Leon Wolf
Ciao Leon, non conosco software di criptazione dvd.
Immagino però che, visto che gli algoritmi di criptazione sono brevettati, tali software siano soggetti al pagamento di una licenza.
caro Fabrizio
la documentazione che produci è interessante .
Io sono uno che sa fare di tutto, ma passando gli anni mi rendo conto che è meglio non saper fare nulla così nessuno ti cerca per farti risolvere problemi semi impossibili.
Comunque sia c’è sempre un vecchio rimedio : se ti chiedono di fare un lavoro non dire di no tu fallo molto male e vedrai che non ti cercherà più nessuno.
ciao e grazie della documentazione.
E’ vero, è fondamentale poi non fare mai l’errore di dire che ti intendi di computer !!
XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
6 Commenti
commenta | feed commenti [?] | trackback uri [?]