FFmpeg: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(Scrittura guida da articolo ezine + revisione)
(verificata)
 
(Una versione intermedia di un altro utente non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Wheezy|Jessie|Testing_2015|Unstable_2015}}
{{Versioni compatibili|Jessie|Stretch|Buster}}
__TOC__
__TOC__
{{E-zine
{{E-zine
Riga 5: Riga 5:
|articoli=[http://e-zine.debianizzati.org/web-zine/numero_1/?page=85 FFmpeg]
|articoli=[http://e-zine.debianizzati.org/web-zine/numero_1/?page=85 FFmpeg]
}}
}}
= FFmpeg =
== Introduzione ==
== Introduzione ==
 
'''FFmpeg''' è un software a riga di comando che permette eseguire diverse operazioni su file audio e video. Queste operazioni possono essere di conversione (da/verso altri formati di file), di elaborazione (cambio di bitrate, ridimensionamento di visualizzazione), oppure di estrazione (estrapolazione di dati da diverse sorgenti, quali possono essere file, sorgenti analogiche o digitali, ecc).<br/>
FFmpeg è un software a riga di comando che permette eseguire diverse operazioni su file audio e video. Queste operazioni possono essere di conversione (da/verso altri formati di file), di elaborazione (cambio di bitrate, ridimensionamento di visualizzazione), oppure di estrazione (estrapolazione di dati da diverse sorgenti, quali possono essere file, sorgenti analogiche o digitali, ecc).
FFmpeg nasce come programma a riga di comando: infatti con pochi parametri è possibile compiere le operazioni descritte in precedenza. Questo lo rende un software veloce, preciso e molto pratico, anche per chi non è molto abituato ad adoperare la shell. Per quanto riguarda la conversione di file (il programma nasce principalmente per questo), FFmpeg può essere utilizzato sia in modalità semplice (senza passare alcun parametro o alcuna opzione), sia in modalità estesa (specificando diversi parametri o alias) che permettono di ampliare le possibilità quasi all'infinito.<br/>
FFmpeg nasce come programma a riga di comando: infatti con pochi parametri è possibile compiere le operazioni descritte in precedenza. Questo lo rende un software veloce, preciso e molto pratico, anche per chi non è molto abituato ad adoperare la shell. Per quanto riguarda la conversione di file (il programma nasce principalmente per questo), FFmpeg può essere utilizzato sia in modalità semplice (senza passare alcun parametro o alcuna opzione), sia in modalità estesa (specificando diversi parametri o alias) che permettono di ampliare le possibilità quasi all'infinito.
'''FFmpeg''' è inoltre multipiattaforma: sviluppato principalmente per l'ambiente Linux, è possibile installarlo anche su Windows o Mac OS X.
FFmpeg è inoltre multipiattaforma: sviluppato principalmente per l'ambiente Linux, è possibile installarlo anche su Windows o Mac OS X.


== Installazione ==
== Installazione ==
 
'''FFmpeg''' è presente nei repository ufficiali, e pertanto con [[privilegi di amministrazione]] basta un semplice:
FFmpeg è presente nei repository di ufficiali di Wheezy e Testing (Stretch), ma per Jessie è disponibile solo attraverso i backports. In questo caso è dunque necessario attivare i backports (si veda la guida [[Backports|Il repository Backports]]) prima di procedere all'installazione, che si fa con un semplice
<pre>
 
# apt install ffmpeg
<pre># apt-get install ffmpeg</pre>
</pre>


Le dipendenze non sono molte, anche perchè le determinate librerie collegate ai vari codec sono installate su Debian di default. Essendo anche un programma senza interfaccia grafica, non necessita di librerie quali Gtk o Qt.
Le dipendenze non sono molte, anche perchè le determinate librerie collegate ai vari codec sono installate su Debian di default. Essendo anche un programma senza interfaccia grafica, non necessita di librerie quali Gtk o Qt.


== Piccolo glossario ==
== Piccolo glossario ==
 
Prima di utilizzare il programma '''FFmpeg''' è utile conoscere il significato di alcuni termini, almeno i più importanti.
Prima di utilizzare il programma FFmpeg è utile conoscere il significato di alcuni termini, almeno i più importanti.


;Aspect-ratio: L'aspect-ratio riferito al video, indica il rapporto tra la larghezza e l'altezza dell'immagine riprodotta. I più diffusi sono il 4:3 e il formato wide 16:9.
;Aspect-ratio: L'aspect-ratio riferito al video, indica il rapporto tra la larghezza e l'altezza dell'immagine riprodotta. I più diffusi sono il 4:3 e il formato wide 16:9.
Riga 36: Riga 32:


== Utilizzo ==
== Utilizzo ==
La sintassi di utilizzo è estremamente semplice e molto intuitiva:
La sintassi di utilizzo è estremamente semplice e molto intuitiva:
<pre>
$ ffmpeg {[opzioni_input] -i inputfile} ... {[opzioni_output] outputfile} ...
</pre>


<pre>$ ffmpeg [[inputfile options][-i inputfile]]... {[outputfile options] outputfile}...</pre>
Gli esempi che seguono si riferiscono alle applicazioni che normalmente vengono effettuate sui vari file audio e video. Per operazioni più complesse, le quali necessitano di molti parametri da specificare a '''FFmpeg''', si rimanda alla lettura di <code>man ffmpeg</code>.
 
Gli esempi che seguono si riferiscono alle applicazioni che normalmente vengono effettuate sui vari file audio e video. Per operazioni più complesse, le quali necessitano di molti parametri da specificare a FFmpeg, si rimanda alla lettura di <code>man ffmpeg</code>.


Prima di iniziare, sarebbe bene impartire il comando:
Prima di iniziare, sarebbe bene impartire il comando:
<pre>
$ ffmpeg -formats
</pre>
per controllare i formati audio/video supportati da '''FFmpeg''', così da non incorrere in successivi errori. Il suddetto comando visualizza anche i codec che si possono utilizzare per le varie operazioni. Prima di utilizzare '''FFmpeg''' è buona norma avere delle informazioni sul file audio/video su cui operare, come il bit-rate, il tipo di codifica audio e/o video, la dimensione, ecc.


<pre>$ ffmpeg -formats</pre>
Tali informazioni si possono recuperare direttamente con '''FFmpeg''', con il comando:
 
<pre>
per controllare i formati audio/video supportati da FFmpeg, così da non incorrere in successivi errori. Il suddetto comando visualizza anche i codec che si possono utilizzare per le varie operazioni. Prima di utilizzare FFmpeg è buona norma avere delle informazioni sul file audio/video su cui operare, come il bit-rate, il tipo di codifica audio e/o video, la dimensione, ecc. Tali informazioni si possono recuperare direttamente con FFmpeg, con il comando:
$ ffmpeg -i inputvideo.avi
 
</pre>
<pre>$ ffmpeg -i inputvideo.avi</pre>
 
per il files video, oppure:
per il files video, oppure:
 
<pre>
<pre>$ ffmpeg -i inputaudio.mp3</pre>
$ ffmpeg -i inputaudio.mp3
 
</pre>
per i files audio. Nella shell ci compariranno diversi messaggi. A noi interessano le righe finali, le quali ci restituiscono i valori che ci interessano: bit-rate, tipologia di campionamento, durata, ecc.
per i files audio. Nella shell ci compariranno diversi messaggi. A noi interessano le righe finali, le quali ci restituiscono i valori che ci interessano: bit-rate, tipologia di campionamento, durata, ecc.


=== Operazioni su file video ===
=== Operazioni su file video ===
 
In questa sezione analizzeremo le operazioni che solitamente vengono effettuate sui file video, soffermandoci sui parametri principali che bisogna "passare" al programma '''FFmpeg'''. Precisiamo che, salvo alcune eccezioni, i parametri impostati di default su '''FFmpeg''' vanno più che bene.
In questa sezione analizzeremo le operazioni che solitamente vengono effettuate sui file video, soffermandoci sui parametri principali che bisogna "passare" al programma FFmpeg. Precisiamo che, salvo alcune eccezioni, i parametri impostati di default su FFmpeg vanno più che bene.


Conversione di un file video da formato mpg a formato avi:
Conversione di un file video da formato mpg a formato avi:
 
<pre>
<pre>$ ffmpeg -i inputvideo.mpg outputvideo.avi</pre>
$ ffmpeg -i inputvideo.mpg outputvideo.avi
</pre>


Elaborazione di un file video con cambio di aspect-ratio:
Elaborazione di un file video con cambio di aspect-ratio:
 
<pre>
<pre>$ ffmpeg -i inputvideo.mpg -aspect 16:9 outputvideo.mpg</pre>
$ ffmpeg -i inputvideo.mpg -aspect 16:9 outputvideo.mpg
 
</pre>
Il parametro -aspect determina il valore di aspect-ratio che assumerà il file video di uscita.
Il parametro <code>-aspect</code> determina il valore di aspect-ratio che assumerà il file video di uscita.<br/>
Nel nostro caso, il file inputvideo.mpg verrà elaborato e ridimensionato a 16:9. Da notare che il parametro può anche essere immesso in forma decimale come rapporto di 16/9, cioè 1.33.
Nel nostro caso, il file inputvideo.mpg verrà elaborato e ridimensionato a 16:9. Da notare che il parametro può anche essere immesso in forma decimale come rapporto di 16/9, cioè 1.33.


Elaborazione di un file video con impostazione di un bitrate di 64k:
Elaborazione di un file video con impostazione di un bitrate per il video di 64k:
 
<pre>
<pre>$ ffmpeg -i inputvideo.avi -b 64k outputvideo.avi</pre>
$ ffmpeg -i inputvideo.avi -b:v 64k outputvideo.avi
</pre>


Elaborazione di un file video con impostazione di un frame-rate di 24 fps:
Elaborazione di un file video con impostazione di un frame-rate di 24 fps:
 
<pre>
<pre>$ ffmpeg -i inputvideo.avi -r 24 outputvideo.avi</pre>
$ ffmpeg -i inputvideo.avi -r 24 outputvideo.avi
</pre>


Inserimento di un file audio in un file video (colonna sonora):
Inserimento di un file audio in un file video (colonna sonora):
<pre>
$ ffmpeg -i audio.mp3 -i inputvideo.avi outputvideo.avi
</pre>


<pre>$ ffmpeg -i audio.mp3 -i inputvideo.avi outputvideo.avi</pre>
Per quanto riguarda l'inserimento di bande colorate in un file video, le opzioni <code>-padleft</code>, <code>-padright</code>, <code>-padtop</code>, <code>-padbottom</code> e <code>-padcolor</code> sono state rimosse, è ora necessario usare delle opzioni di filtro. La sintassi da usare è la seguente:
 
<pre>
Per quanto riguarda l'inserimento di bande colorate in un file video, le opzioni -padleft, -padright, -padtop, -padbottom e -padcolor sono state rimosse, è ora necessario usare delle opzioni di filtro. La sintassi da usare è la seguente:
$ ffmpeg -i inputvideo.avi -vf pad=width=640:height=480:x=0:y=40:color=black outputvideo.avi
 
</pre>
<pre>$ ffmpeg -i inputvideo.avi -vf pad=width=640:height=480:x=0:y=40:color=black outputvideo.avi</pre>
I valori <code>width</code> (oppure '''<code>w</code>''' in forma abbreviata) e <code>height</code> (oppure '''<code>h</code>''') definiscono le dimensioni del nuovo video, incluse le bande da inserire. I valori <code>x</code> e <code>y</code> sono invece le coordinate ove sarà posizionato l'angolo superiore sinistro del video originale (espressi in righe e colonne). Il comando nell'esempio darà quindi come risultato un file video con dimensioni 640x480; il video originale ha l'angolo sinistro posizionato in (0,40) e il resto dello spazio è riempito con bande nere.
 
I valori <code>width</code> e <code>height</code> definiscono le dimensioni del nuovo video, incluse le bande da inserire. I valori <code>x</code> e <code>y</code> sono invece le coordinate ove sarà posizionato l'angolo superiore sinistro del video originale (espressi in righe e colonne). Il comando nell'esempio darà quindi come risultato un file video con dimensioni 640x480; il video originale ha l'angolo sinistro posizionato in (0,40) e il resto dello spazio è riempito con bande nere.
 
Anche per il ritaglio di parti di video sono state abbandonate le opzioni -cropleft, -cropright, -croptop, -cropbottom ed è necessario usare un'opzione di filtro simile a quella vista per il padding:
 
<pre>$ ffmpeg -i inputvideo.avi -vf crop=w=100:h=100:x=12:y=34 outputvideo.avi</pre>


Anche per il ritaglio di parti di video sono state abbandonate le opzioni <code>-cropleft</code>, <code>-cropright</code>, <code>-croptop</code>, <code>-cropbottom</code> ed è necessario usare un'opzione di filtro simile a quella vista per il padding:
<pre>
$ ffmpeg -i inputvideo.avi -vf crop=w=100:h=100:x=12:y=34 outputvideo.avi
</pre>
Questo comando darà come risultato un file video con dimensioni 100x100, ricavato ritagliando il file in input; il margine sinistro del video ritagliato si trova lungo la retta <code>x=12</code> all'interno del video iniziale, il margine superiore si trova lungo la retta <code>y=34</code>.
Questo comando darà come risultato un file video con dimensioni 100x100, ricavato ritagliando il file in input; il margine sinistro del video ritagliato si trova lungo la retta <code>x=12</code> all'interno del video iniziale, il margine superiore si trova lungo la retta <code>y=34</code>.


Per specificare i valori numerici da usare nelle precedenti operazioni è possibile usare anche dei valori relativi al posto di quelli assoluti: per esempio <code>iw</code> e <code>ih</code> sono rispettivamente la larghezza e l'altezza del video di input. Per una lista di tali costanti si veda <code>man ffmpeg</code>.
Per specificare i valori numerici da usare nelle precedenti operazioni è possibile usare anche dei valori relativi al posto di quelli assoluti: per esempio <code>iw</code> e <code>ih</code> sono rispettivamente la larghezza e l'altezza del video di input. Per una lista di tali costanti e di tutti i filtri con relative opzioni si veda <code>man ffmpeg-filters</code>.


=== Operazioni su file audio ===
=== Operazioni su file audio ===
 
In questa sezione analizzeremo le operazioni che solitamente vengono effettuate sui file audio, soffermandoci sui parametri principali che bisogna "passare" al programma '''FFmpeg'''.
In questa sezione analizzeremo le operazioni che solitamente vengono effettuate sui file audio, soffermandoci sui parametri principali che bisogna "passare" al programma FFmpeg.


Estrazione audio da un file video come file mp3:
Estrazione audio da un file video come file mp3:
 
<pre>
<pre>$ ffmpeg -i inputvideo.avi -ar 44100 -ab 192 -ac 2 audio.mp3</pre>
$ ffmpeg -i inputvideo.avi -ar 44100 -b:a 192 -ac 2 audio.mp3
 
</pre>
I parametri -ar e -ab impostano rispettivamente la frequenza di campionamento a 44100 Hz ed il bitrate audio a 192 kb/sec. Questi valori indicano una buona qualità, paragonabile all'audio di un CD. Il parametro -ac imposta i canali del file di uscita, nel nostro caso 2, pertanto stereo. Se vogliamo possiamo cambiare l'estensione del file di uscita con wav oppure flac.
I parametri <code>-ar</code> e <code>-b:a</code> impostano rispettivamente la frequenza di campionamento a 44100 Hz ed il bitrate audio a 192 kb/sec. Questi valori indicano una buona qualità, paragonabile all'audio di un CD. Il parametro <code>-ac</code> imposta i canali del file di uscita, nel nostro caso 2, pertanto stereo. Se vogliamo possiamo cambiare l'estensione del file di uscita con wav oppure flac.


Conversione di un file audio da formato wav a formato mp3:
Conversione di un file audio da formato wav a formato mp3:
 
<pre>
<pre>$ ffmpeg -i inputaudio.wav -ar 44100 -ab 192 -ac 2 outputaudio.mp3</pre>
$ ffmpeg -i inputaudio.wav -ar 44100 -b:a 192 -ac 2 outputaudio.mp3
</pre>


== Programmi che utilizzano FFmpeg ==
== Programmi che utilizzano FFmpeg ==
 
Data l'estrema versatilità e potenza, '''FFmpeg''' è utilizzato da diversi altri software di elaborazione audio/video (alcuni anche di tipo professionale), che lo mantengono come dipendenza fondamentale. Di seguito forniamo un piccolo elenco:
Data l'estrema versatilità e potenza, FFmpeg è utilizzato da diversi altri software di elaborazione audio/video (alcuni anche di tipo professionale), che lo mantengono come dipendenza fondamentale. Di seguito forniamo un piccolo elenco:


;WinFF: interfaccia grafica del programma FFmpeg, disponibile per diverse piattaforme tra cui anche Microsoft Windows.
;WinFF: interfaccia grafica del programma FFmpeg, disponibile per diverse piattaforme tra cui anche Microsoft Windows.
Riga 126: Riga 126:
;DVDslideshow: software per la creazione di slideshow.
;DVDslideshow: software per la creazione di slideshow.


Merita una citazione a parte il pacchetto FFplay (strettamente collegato a FFmpeg), il quale permette di eseguire files multimediali audio/video, basandosi sulle librerie intrinseche di FFmpeg. Non ci soffermeremo su questo aspetto, data l'importanza più rilevante che nell'ambito multimediale hanno le operazioni di conversione ed elaborazione.
Merita una citazione a parte <code>ffplay</code> (strettamente collegato a '''FFmpeg''' e attualmente distribuito dallo stesso pacchetto), il quale permette di eseguire files multimediali audio/video, basandosi sulle stesse librerie. Non ci soffermeremo su questo aspetto, data l'importanza più rilevante che nell'ambito multimediale hanno le operazioni di conversione ed elaborazione.
{{Autori|
{{Autori
Autore = [[Utente:Spoon|Spoon]] 13:01, 13 dic 2015 (CET) (originariamente scritta da pmate)
|Autore = [[Utente:Spoon|Spoon]] 13:01, 13 dic 2015 (CET) (originariamente scritta da pmate)
|Estesa_da=
|Verificata_da=
:[[Utente:HAL 9000|HAL 9000]] 22:06, 18 ott 2019 (CEST)
|Numero_revisori=1
}}
}}
[[Categoria:Audio]]
[[Categoria:Audio]]
[[Categoria:Shell]]
[[Categoria:Shell]]
[[Categoria:E-zine]]
[[Categoria:E-zine]]

Versione attuale delle 20:06, 18 ott 2019

Debian-swirl.png Versioni Compatibili

Debian 8 "jessie"
Debian 9 "stretch"
Debian 10 "buster"
Banner e-zine.png
Questa guida è basata sui seguenti articoli presenti all'interno del numero 1 dell'e-zine di Debianizzati.org :

FFmpeg


Introduzione

FFmpeg è un software a riga di comando che permette eseguire diverse operazioni su file audio e video. Queste operazioni possono essere di conversione (da/verso altri formati di file), di elaborazione (cambio di bitrate, ridimensionamento di visualizzazione), oppure di estrazione (estrapolazione di dati da diverse sorgenti, quali possono essere file, sorgenti analogiche o digitali, ecc).
FFmpeg nasce come programma a riga di comando: infatti con pochi parametri è possibile compiere le operazioni descritte in precedenza. Questo lo rende un software veloce, preciso e molto pratico, anche per chi non è molto abituato ad adoperare la shell. Per quanto riguarda la conversione di file (il programma nasce principalmente per questo), FFmpeg può essere utilizzato sia in modalità semplice (senza passare alcun parametro o alcuna opzione), sia in modalità estesa (specificando diversi parametri o alias) che permettono di ampliare le possibilità quasi all'infinito.
FFmpeg è inoltre multipiattaforma: sviluppato principalmente per l'ambiente Linux, è possibile installarlo anche su Windows o Mac OS X.

Installazione

FFmpeg è presente nei repository ufficiali, e pertanto con privilegi di amministrazione basta un semplice:

# apt install ffmpeg

Le dipendenze non sono molte, anche perchè le determinate librerie collegate ai vari codec sono installate su Debian di default. Essendo anche un programma senza interfaccia grafica, non necessita di librerie quali Gtk o Qt.

Piccolo glossario

Prima di utilizzare il programma FFmpeg è utile conoscere il significato di alcuni termini, almeno i più importanti.

Aspect-ratio
L'aspect-ratio riferito al video, indica il rapporto tra la larghezza e l'altezza dell'immagine riprodotta. I più diffusi sono il 4:3 e il formato wide 16:9.
Bit-rate
Il bit-rate indica la quantità di dati, espressa in bit, necessaria per riprodurre un elemento digitale, sia esso video o audio. Pertanto avremo sia il bit-rate video che il bit-rate audio. Riferendosi a informazioni che si protraggono nel tempo, il bit-rate viene espresso in bit al secondo (o nelle varianti Kilobit e Megabit, rispettivamente Kbit/sec e Mbit/sec). Maggiore sarà questa quantità di dati e maggiore sarà la qualità (o la fedeltà in caso di registrazione) del prodotto che vogliamo rappresentare. Come riferimento possiamo indicare un bit-rate di almeno 1,2 Mbit/sec per un segnale audio e un bit-rate di almeno 200 Mbit/sec per un segnale video.
Top, Bottom, Right, Left
In un video, indicano rispettivamente la parte superiore, quella inferiore, quella di destra e quella di sinistra. Utili per un taglio (crop) dell'immagine, per l'inserimento di una banda colorata, oppure per l'inserimento di parti di testo (descrizioni o sottotitoli).
Codec
Il codec è un particolare software che tramite complesse leggi matematiche consente di memorizzare e comprimere le immagini (per quanto riguarda i video) e i suoni (per quanto riguarda l'audio). Lo stesso codec poi risulta essenziale per una riproduzione delle sequenze memorizzate. Nell'audio/video professionale, esistono numerosi codec (alcuni che si occupano delle immagini video, altri soltanto delle tracce audio). In generale, una sequenza video contiene due componenti fondamentali: un componente video, gestito da un codec video, e un componente audio, gestito da un codec audio.
Formato
Le due componenti (audio e video) viste al punto sopra, vengono assemblate in un unico file che fa da contenitore. Questa tipologia di file è chiamata formato. I formati sono molteplici, a seconda appunto dei codec utilizzati: AVI, MPEG, ecc.

Utilizzo

La sintassi di utilizzo è estremamente semplice e molto intuitiva:

$ ffmpeg {[opzioni_input] -i inputfile} ... {[opzioni_output] outputfile} ...

Gli esempi che seguono si riferiscono alle applicazioni che normalmente vengono effettuate sui vari file audio e video. Per operazioni più complesse, le quali necessitano di molti parametri da specificare a FFmpeg, si rimanda alla lettura di man ffmpeg.

Prima di iniziare, sarebbe bene impartire il comando:

$ ffmpeg -formats

per controllare i formati audio/video supportati da FFmpeg, così da non incorrere in successivi errori. Il suddetto comando visualizza anche i codec che si possono utilizzare per le varie operazioni. Prima di utilizzare FFmpeg è buona norma avere delle informazioni sul file audio/video su cui operare, come il bit-rate, il tipo di codifica audio e/o video, la dimensione, ecc.

Tali informazioni si possono recuperare direttamente con FFmpeg, con il comando:

$ ffmpeg -i inputvideo.avi

per il files video, oppure:

$ ffmpeg -i inputaudio.mp3

per i files audio. Nella shell ci compariranno diversi messaggi. A noi interessano le righe finali, le quali ci restituiscono i valori che ci interessano: bit-rate, tipologia di campionamento, durata, ecc.

Operazioni su file video

In questa sezione analizzeremo le operazioni che solitamente vengono effettuate sui file video, soffermandoci sui parametri principali che bisogna "passare" al programma FFmpeg. Precisiamo che, salvo alcune eccezioni, i parametri impostati di default su FFmpeg vanno più che bene.

Conversione di un file video da formato mpg a formato avi:

$ ffmpeg -i inputvideo.mpg outputvideo.avi

Elaborazione di un file video con cambio di aspect-ratio:

$ ffmpeg -i inputvideo.mpg -aspect 16:9 outputvideo.mpg

Il parametro -aspect determina il valore di aspect-ratio che assumerà il file video di uscita.
Nel nostro caso, il file inputvideo.mpg verrà elaborato e ridimensionato a 16:9. Da notare che il parametro può anche essere immesso in forma decimale come rapporto di 16/9, cioè 1.33.

Elaborazione di un file video con impostazione di un bitrate per il video di 64k:

$ ffmpeg -i inputvideo.avi -b:v 64k outputvideo.avi

Elaborazione di un file video con impostazione di un frame-rate di 24 fps:

$ ffmpeg -i inputvideo.avi -r 24 outputvideo.avi

Inserimento di un file audio in un file video (colonna sonora):

$ ffmpeg -i audio.mp3 -i inputvideo.avi outputvideo.avi

Per quanto riguarda l'inserimento di bande colorate in un file video, le opzioni -padleft, -padright, -padtop, -padbottom e -padcolor sono state rimosse, è ora necessario usare delle opzioni di filtro. La sintassi da usare è la seguente:

$ ffmpeg -i inputvideo.avi -vf pad=width=640:height=480:x=0:y=40:color=black outputvideo.avi

I valori width (oppure w in forma abbreviata) e height (oppure h) definiscono le dimensioni del nuovo video, incluse le bande da inserire. I valori x e y sono invece le coordinate ove sarà posizionato l'angolo superiore sinistro del video originale (espressi in righe e colonne). Il comando nell'esempio darà quindi come risultato un file video con dimensioni 640x480; il video originale ha l'angolo sinistro posizionato in (0,40) e il resto dello spazio è riempito con bande nere.

Anche per il ritaglio di parti di video sono state abbandonate le opzioni -cropleft, -cropright, -croptop, -cropbottom ed è necessario usare un'opzione di filtro simile a quella vista per il padding:

$ ffmpeg -i inputvideo.avi -vf crop=w=100:h=100:x=12:y=34 outputvideo.avi

Questo comando darà come risultato un file video con dimensioni 100x100, ricavato ritagliando il file in input; il margine sinistro del video ritagliato si trova lungo la retta x=12 all'interno del video iniziale, il margine superiore si trova lungo la retta y=34.

Per specificare i valori numerici da usare nelle precedenti operazioni è possibile usare anche dei valori relativi al posto di quelli assoluti: per esempio iw e ih sono rispettivamente la larghezza e l'altezza del video di input. Per una lista di tali costanti e di tutti i filtri con relative opzioni si veda man ffmpeg-filters.

Operazioni su file audio

In questa sezione analizzeremo le operazioni che solitamente vengono effettuate sui file audio, soffermandoci sui parametri principali che bisogna "passare" al programma FFmpeg.

Estrazione audio da un file video come file mp3:

$ ffmpeg -i inputvideo.avi -ar 44100 -b:a 192 -ac 2 audio.mp3

I parametri -ar e -b:a impostano rispettivamente la frequenza di campionamento a 44100 Hz ed il bitrate audio a 192 kb/sec. Questi valori indicano una buona qualità, paragonabile all'audio di un CD. Il parametro -ac imposta i canali del file di uscita, nel nostro caso 2, pertanto stereo. Se vogliamo possiamo cambiare l'estensione del file di uscita con wav oppure flac.

Conversione di un file audio da formato wav a formato mp3:

$ ffmpeg -i inputaudio.wav -ar 44100 -b:a 192 -ac 2 outputaudio.mp3

Programmi che utilizzano FFmpeg

Data l'estrema versatilità e potenza, FFmpeg è utilizzato da diversi altri software di elaborazione audio/video (alcuni anche di tipo professionale), che lo mantengono come dipendenza fondamentale. Di seguito forniamo un piccolo elenco:

WinFF
interfaccia grafica del programma FFmpeg, disponibile per diverse piattaforme tra cui anche Microsoft Windows.
Cinelerra
software di editing video professionale.
Open Movie Editor
software per l'editing video e per la creazione di slideshow.
Kdenlive
software per l'editing video e per la creazione di slideshow.
DVDslideshow
software per la creazione di slideshow.

Merita una citazione a parte ffplay (strettamente collegato a FFmpeg e attualmente distribuito dallo stesso pacchetto), il quale permette di eseguire files multimediali audio/video, basandosi sulle stesse librerie. Non ci soffermeremo su questo aspetto, data l'importanza più rilevante che nell'ambito multimediale hanno le operazioni di conversione ed elaborazione.



Guida scritta da: Spoon 13:01, 13 dic 2015 (CET) (originariamente scritta da pmate) Swirl-auth40.png Debianized 40%
Estesa da:
Verificata da:
HAL 9000 22:06, 18 ott 2019 (CEST)

Verificare ed estendere la guida | Cos'è una guida Debianized