Top 20 comandi per ffmpeg

 

 

Per correttezza preciso che sono i miei Top 20 comandi 🙂 Io sono un utilizzatore assiduo di ffmpeg ed ho pensato di mettere nero su bianco i comandi che uso frequentemente, del resto credo di non essere il solo a cui piace usare prevalentemente la shell. Inizio con il menzionare alcuni comandi semplicissimi per poi successivamente passare ad alcuni più complessi, come al solito il punto di partenza da consultare è sempre il man o il web 🙂 La base da cui partire, anche se sembra banale è la conoscenza dei formati e dei codec, quindi:

Base:

ffmpeg -formats

ffmpeg -codecs

Video:

per ottenere info su un video:

ffmpeg -i video.avi

convertire da .avi a .mpg e viceversa:

ffmpeg -i input.avi output.mpg

convertire da .avi a .flv:

ffmpeg -i input.avi -sameq -ar 44100 output.flv

convertire da .flv a .mpg:

ffmpeg -i input.flv -sameq -ab 56k -ar 22050 -b 500 -s 640x480 output.mpg

convertire da .avi a .mpeg per lettori dvd:

ffmpeg -i input.avi -target pal-dvd -ps 2000000000 -aspect 16:9 output.mpeg

tagliare una sequenza video, dove -ss rappresenta il tempo d'inizio e t la fine:

ffmpeg -vcodec copy -acodec copy -i input.avi -ss 00:00:30 -t 0:0:15 output.avi

convertire video per ipod/iphone:

ffmpeg -i input.flv -acodec libfaac -ab 96k -ac 2 -vcodec libx264 -vpre hq -vpre ipod320 -threads 0 -crf 22 output.mp4

Audio:

estrarre suono da un video e convertirlo in mp3:

ffmpeg -i input.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 output.mp3

cancellare suono da un video:

ffmpeg -i input.avi -an -b 1200 output.avi

aggiungere suono ad un video:

ffmpeg -i input.wav -i input.avi output.mpg

convertire da wav a mp3:

ffmpeg -i input.wav -ab 128 output.mp3

Immagini:

convertire un video in una sequenza di immagini:

ffmpeg -i input.flv -an -r 1 -y -s 320x240 video%d.jpg

estrarre immagine da una sequenza prestabilita:

ffmpeg -i input.flv -an -ss 00:00:25 -t 00:00:01 -r 1 -y video%d.jpg

Screencast:

ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0 /tmp/screencast.mpg

oppure:

ffmpeg -y -t 60 -r 25 -s 1280x1024 -f x11grab -i :0.0 screencast.avi

screencast utilizzando un microfono + oss:

ffmpeg -s 1280x1024 -r 25 -f x11grab -i :0.0 -f oss -i /dev/dsp screen.avi

screencast utilizzando un microfono + arecord:

arecord -D default -t raw -c 1 -f S16_LE -r 48000 - | ffmpeg -f s16le -ab 128k -ar 48000 -ac 1 -i --acodec mp2 -f x11grab -r 2 -s 1280x1024 -i :0.0 -vcodec mpeg4 screen.avi

screencast prendendo il suono direttamente da  un file mp3:

ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0 -i percorso_del_file.mp3 -ar 22050 -ac 1 -acodec mp2 -ab 128k screen.avi

Questi sono i miei Top 20 comandi per ffmpeg, messi nero su bianco sperando di fare contento qualcun'altro 😉 e sopratutto spero che qualcuno ne posti di altri, poichè sono molto interessato 🙂

Screencast da shell completo

 

Ed eccoci alla fine della trilogia dello Screencast, trilogia non voluta dato che quando ho iniziato a fare la prima guida, non pensavo certo di continuare, ma poi c'è stata la seconda guida ed adesso la terza ed ultima. Il filo conduttore di queste guide è sostanzialmente lo stesso e cioè si  continua sempre parlando dello Screencast usando il terminale, quindi niente gui, diciamo un sistema per quei piccoli esseri immortali come me. Come sempre quando si fa o si scrive una cosa, il risultato migliore lo si ottiene quando ci si confronta e ci si stimola a vicenda, e questo è quello che è successo con un mio lettore, deer , che ha contribuito alla nascita di questo post, come si può evincere dai commenti nei post precedenti e che ringrazio. A questo punto iniziamo a parlare di come fare uno Screencast completo on the fly. Quello che ci serve è questo script dopo:

chmod a+x recordSoundAndDesktop.sh

./recordSoundAndDesktop.sh

Questo script non fa altro che catturare il video in .avi e successivamente convertire il file .wav creato da arecord in .mp3, il tutto in maniera velocissima. Dato che siamo in argomento voglio citare anche la possibilità di fare uno screencast utilizzando l'audio direttamente da un file. Il comando è il seguente:

ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0 -i percorso_del_file.mp3 -ar 22050 -ac 1 -acodec mp2 -ab 128k screen.avi

Altri screecast fatti da me e deer con questo script.

Screencast da shell personalizzato

 

Per ottenere uno screencast con Linux esiste un ottimo programma come gtk-recordMyDesktop, che non è niente altro che un fronted per recordMyDesktop. Lo screencast alla fine viene esportato come formato .ogg. Un altro metodo, secondo me migliore poichè largamente personalizzabile è quello di usare ffmpeg, con il seguente comando:

ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0 /home/UTENTE/Desktop/screencast.mpg

alla fine basta premere q per terminare.

In questo esempio come risoluzione io ho usato 1280x1024, e come formato finale .mpg., ma si può scegliere una risoluzione diversa e soprattutto di esportare in formato differente, a secondo della nostra esigenza.

Aggiornamento:

Un altro comando utile in alternativa può essere questo:

ffmpeg -y -t 60 -r 25 -s 1280x1024 -f x11grab -i :0.0 screen.avi