Esempi pratici di comandi FFmpeg per la conversione di formati su Linux

Ultimo aggiornamento: 09/05/2025
Autore: Isaac
  • Masterizza la conversione e l'editing di video e audio in Linux con FFmpeg dal terminale utilizzando comandi chiaro e personalizzato.
  • Scopri esempi completi per modificare i formati, regolare la qualità, estrarre tracce o lavorare con immagini e sottotitoli.
  • Scopri come automatizzare le attività ripetitive di conversione ed elaborazione multimediale, ottimizzando il flusso di lavoro su Linux.

ffmpeg

FFmpeg è considerato uno dei pilastri più robusti e versatili dell'elaborazione multimediale su Linux, il che lo rende essenziale per coloro che cercano flessibilità e controllo assoluto dal terminale. Nonostante la disponibilità di programmi di grafica, la console offre precisione, velocità e la possibilità di automatizzare tutti i tipi di attività audiovisive. Con FFmpeg può convertire formati, adattare file per dispositivi, estrarre tracce, tagliare frammenti, modificare la qualità, gestire i sottotitoli e molto altro ancora, gestendo sia l'audio che il video. e persino immagini, tutte con pochi comandi ben strutturati.

In questo ampio articolo, abbiamo compilato e riscritto in dettaglio le informazioni più complete e avanzate dagli articoli con la migliore classifica in Google per convertire formati e manipolare file con FFmpeg su Linux. Qui troverete non solo i comandi di base, ma anche i Tricks, parametri ed esempi pratici che coprono tutto, dall'installazione, alla conversione di file in massa, alla modifica dei metadati e all'ottimizzazione della qualità, fino alla risoluzione di problemi comuni e casi avanzati come l'automazione, l'uso dei sottotitoli, la compatibilità con la TV e la sincronizzazione audio e video.

Che cosa è FFmpeg e perché utilizzarlo su Linux?

FFmpeg è un insieme di programmi e librerie sviluppati per la gestione, la conversione, la trasmissione e l'analisi di file multimediali. Nato sotto l'egida del software libero, si distingue per la sua compatibilità con un numero immenso di codec e contenitori. Sebbene esista per Windows y Mac, la sua integrazione nel mondo Linux è leggendaria: molte applicazioni grafiche utilizzano FFmpeg come motore interno e nei server o negli script non ha rivali.

Il vantaggio principale di FFmpeg è la potenza del terminale: È possibile manipolare grandi volumi di dati, automatizzare i flussi di lavoro e personalizzare ogni aspetto tecnico del file multimediale. La sua flessibilità lo rende utile sia per gli utenti alle prime armi, che desiderano semplicemente cambiare formato, sia per gli esperti che hanno bisogno di regolare parametri specifici per ogni file o di eseguire una post-elaborazione avanzata.

Installazione di FFmpeg su Linux

L'installazione di FFmpeg è semplice sulla maggior parte delle distribuzioni Linux. Di solito si trova nei repository ufficiali:

  • Debian, Ubuntu e derivati: sudo apt install ffmpeg
  • Arco, Manjaro: sudo pacman -S ffmpeg
  • Fedora, CentOS, openSUSE: sudo dnf install ffmpeg

Verificare che FFmpeg sia installato correttamente eseguendo ffmpeg -version o which ffmpeg. Se il percorso appare, puoi iniziare a lavorare.

Concetti chiave: codec, formati e contenitori

ffmpeg

Prima di addentrarci nei comandi, è opportuno comprendere alcuni concetti:

  • Codice: Algoritmo che comprime e decomprime audio o video. Esempi: h264, xvid, mp3, aac.
  • Formato o contenitore: File che raggruppa tracce video, audio, sottotitoli e metadati. Esempi: mp4, mkv, avi, mov, webm.
  • parametri: Opzioni specifiche per regolare bitrate, risoluzione, fps, canali audio, ecc.

FFmpeg supporta una moltitudine di combinazioni, ma il risultato dipende dalla compatibilità tra codec e contenitori. Non tutti i formati supportano tutti i tipi di traccia e non tutte le configurazioni sono ugualmente compatibili su tutti i dispositivi.

Sintassi di base e struttura dei comandi di FFmpeg

La struttura generale di qualsiasi comando FFmpeg è:

ffmpeg -i archivo_entrada archivo_salida

Alcuni punti importanti:

  • Le opzioni si applicano al file di input o di output che segue. L'ordine conta.
  • È possibile avere più file di input e output, manipolando ciascuno di essi tramite indici.
  • Se non viene specificato alcun file di output, FFmpeg visualizzerà solo le informazioni nella console e non genererà un nuovo file.
  • Le opzioni globali (ad esempio il livello di verbosità) vanno all'inizio.
  Tutorial completo sul comando wget in Linux: una guida pratica

Ad esempio, per convertire un file AVI in MP4:

ffmpeg -i video.avi video.mp4

E se vuoi impostare un parametro specifico, come il bitrate video a 2500 kb/s e il bitrate audio a 192 kb/s:

ffmpeg -i video.avi -b:v 2500k -b:a 192k video_final.mp4

Comandi essenziali per la conversione del formato

Cambiare il formato di un video o di un audio

  • Da MP4 ad AVI:
    ffmpeg -i entrada.mp4 salida.avi
  • Da MKV a MP4:
    ffmpeg -i original.mkv convertida.mp4
  • Da AVI a MPG (MPEG):
    ffmpeg -i video.avi video.mpg
  • Da FLV a MPEG:
    ffmpeg -i video.flv video.mpeg
  • Da MOV a MP4:
    ffmpeg -i archivo.mov resultado.mp4

Il formato di output è definito solo modificando l'estensione, ma se si desidera forzare un codec o determinate funzionalità, aggiungere i parametri necessari:

ffmpeg -i entrada.mov -c:v libx264 -c:a aac salida.mp4

Convertire l'audio tra formati

  • Da WAV a MP3:
    ffmpeg -i cancion.wav nueva.mp3
  • Da WMA a MP3:
    ffmpeg -i audio.wma -f mp3 -ab 192 audio.mp3
  • Da FLAC a OGG:
    ffmpeg -i original.flac destino.ogg

Puoi anche modificare parametri come codec, bit rate, canali o campionamento:

ffmpeg -i sonido.flac -acodec libmp3lame -ab 128k -ar 44100 nuevo.mp3

Esempio pratico: conversione di più file

Per convertire in batch i file in una cartella, utilizzare un ciclo in bash:


for archivo in *.avi; do
ffmpeg -i "$archivo" "${archivo%.avi}.mp4"
done

Questo convertirà tutti i file AVI presenti nella cartella in file MP4.

Controllo qualità e regolazione dei parametri chiave

Bitrate video e audio

  • Video: -b:v 3000k (3000 kbps)
  • Audio: -b:a 192k (192 kbps)

È possibile regolare la qualità a seconda dell'utilizzo. Ad esempio, per cellulare È possibile ridurre la risoluzione e il bitrate:

ffmpeg -i entrada.mkv -vf scale=1280:720 -b:v 1500k salida.mp4

E per audio più leggeri:

ffmpeg -i cancion.wav -b:a 96k cancion_compacta.mp3

Cambia la risoluzione e il rapporto d'aspetto

  • Per forzare una risoluzione di output specifica:
    ffmpeg -i entrada.mp4 -s 1280x720 salida_720p.mp4
  • Per modificare le proporzioni:
    ffmpeg -i entrada.mp4 -aspect 16:9 salida_16_9.mp4

A volte alcuni dispositivi richiedono formati di pixel specifici, come i televisori LG che necessitano -pix_fmt yuv420p: maggiori informazioni sulla compatibilità dei pixel.

Modifica la frequenza dei fotogrammi al secondo (FPS)

Per modificare o forzare un numero FPS:

ffmpeg -i original.mp4 -r 30 salida_30fps.mp4

Ricorda che modificare la risoluzione o il frame rate non migliora la qualità originale, anche se potrebbe essere necessario per motivi di compatibilità.

Estrazione di informazioni e analisi dei file

Prima di procedere alla conversione è fondamentale conoscere le caratteristiche del file:

ffmpeg -i archivo.ext

Nella console verranno visualizzati il ​​codec, la durata, la qualità, i canali e i metadati.

Se vuoi che l'output sia più pulito, aggiungi -hide_banner: Ulteriori informazioni su analisi e metadati.

ffmpeg -hide_banner -i archivo.ext

Per un'analisi completa e personalizzabile, utilizzare ffprobe: Maggiori informazioni su ffprobe e analisi avanzata.

ffprobe -i archivo.ext -print_format json -show_format -show_streams

In questo modo ottieni tutte le informazioni strutturate in JSON.

Modifica e manipolazione avanzate di file multimediali

Modifica i metadati

  • Esportare metadati da un file MP3:
    ffmpeg -i cancion.mp3 -f ffmetadata metadata.txt
  • Modifica e importa metadati:
    ffmpeg -i original.mp3 -metadata artist='Nuevo Artista' -acodec copy salida.mp3

Puoi modificare informazioni quali artista, album, genere, anno, traccia, ecc. Ideale per organizzare la tua musica o adattarla ai lettori più esigenti (ad esempio, Apple).

Estrarre tracce audio o rimuovere audio/video

  • Estrarre solo l'audio senza ricodificarlo:
    ffmpeg -i original.avi -vn -acodec copy solo_audio.mp3
  • Estrarre l'audio convertito in un altro formato (ad esempio da un video):
    ffmpeg -i video.mp4 -q:a 0 -map a solo_audio.mp3
  • Rimuovi tutte le tracce audio da un video:
    ffmpeg -i original.avi -map 0 -map -0:a -c copy sin_audio.avi
  • Elimina tutti i flussi audio tranne alcuni specifici:
    ffmpeg -i original.avi -map 0 -map -0:a:3 -map -0:a:6 -c copy con_dos_streams.avi
  • Estrarre solo una traccia audio specifica:
    ffmpeg -i original.avi -map 0:a:2 -c copy solo_pista2.avi

Estrarre immagini o creare video da immagini

  • Estrarre tutti i fotogrammi come immagini:
    ffmpeg -i video.mp4 imagen%d.jpg
  • Estrarre un fotogramma ogni secondo:
    ffmpeg -i video.mp4 -vf fps=1 imagen%d.jpg
  • Estrarre solo i fotogrammi chiave:
    ffmpeg -i video.avi -vf "select=eq(pict_type\,I)" -vsync vfr imagen%d.jpg
  • Crea un video da una sequenza di immagini:
    ffmpeg -i imagen%d.jpg video.avi
  • Crea un video con un frame rate personalizzato:
    ffmpeg -framerate 1 -i img%03d.png -r 25 -pix_fmt yuv420p salida.mp4

Convertire video in GIF animate

FFmpeg consente di trasformare una clip video in una GIF animata, utile per i meme e i social media:

  Come correggere l'errore 0xC1900223 in Windows Update

ffmpeg -i original.mp4 -vf "scale=320:-1" animado.gif

Per una qualità più elevata, estrai prima i fotogrammi e utilizza uno strumento come gifski:

ffmpeg -i original.mp4 frame%04d.png
gifski -o salida.gif frame*.png

Converti tra risoluzioni 4K, FullHD, HD…

  • Da 4K a FullHD (cambiando contenitore):
    ffmpeg -i 4k.mkv -vf scale=1920:1080 -q:a 0 -q:v 0 1080p.avi
  • Da FullHD a HD:
    ffmpeg -i fullhd.mkv -vf scale=1280:720 -b:v 2000k hd.mp4
  • Da FullHD a 4K:
    ffmpeg -i 1080p.mkv -vf scale=3840:-1 4k.mkv

Modifica dei frammenti: tagliare, unire, rifinire e combinare i file

Tagliare un frammento video o audio

Per estrarre una porzione specifica di un file:

ffmpeg -ss 00:00:30 -t 00:00:15 -i original.mp4 -c copy fragmento.mp4

Questo taglio parte dal secondo 30, con una durata di 15 secondi. Se vuoi definire la fine invece della durata, usa -to:

ffmpeg -ss 00:00:35 -to 00:01:05 -i original.mp4 -c copy fragmento.mp4

Puoi anche tagliare dall'inizio a un punto:

ffmpeg -t 00:01:36 -i original.mp4 -c copy recortado.mp4

Unisci più video in uno

Il metodo più affidabile è attraverso elenchi di file e filtri concat: Ulteriori informazioni sull'unione dei file con FFmpeg

  1. Crea un file di testo (ad esempio, lista.txt) con i nomi dei video:
file 'parte1.mp4' file 'parte2.mp4'
  1. Correre:

ffmpeg -f concat -safe 0 -i lista.txt -c copy resultado.mp4

Questo metodo è veloce e non ricomprime, ma i video devono avere codec identici.

Combina audio e video da file diversi

È possibile unire un file audio a un file video:

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental final.mp4

Per sostituire la traccia audio di un video:

ffmpeg -i video.mp4 -i nuevo_audio.mp3 -map 0:v -map 1:a -c copy video_con_nuevo_audio.mp4

Automazione: conversione batch e scripting

Uno dei punti di forza di FFmpeg è l'automazione dei processi tramite script bash. È possibile modificare il formato di centinaia di file con poche righe:


IFS=$'\n'
for i in *.webm; do ffmpeg -i "$i" "${i/%.webm/.mp3}"; done; unset IFS

Con cicli simili puoi convertire .flv in .ogg, o qualsiasi altra combinazione. Ricorda che nei nomi con spazi, l'uso di IFS È essenziale.

Correzioni di bug e compatibilità

Riparare i file problematici

Alcuni video potrebbero non funzionare correttamente su dispositivi come le Smart TV. Risolvi questo problema generando una copia in FFmpeg senza ricodificare:

ffmpeg -i video_orig.avi -c:v copy -c:a copy reparado.avi

Se ci sono problemi con la risoluzione, puoi forzare -vf "setdar=16:9,setsar=1:1" per impostare il rapporto d'aspetto appropriato. Ulteriori informazioni sulla compatibilità con diversi formati e dispositivi sono disponibili all'indirizzo strumenti per convertire i dischi virtuali.

Ottimizza per la massima compatibilità

Se hai bisogno che un file MKV funzioni su quasi tutti i televisori, usa:

ffmpeg -i original.mkv -c:a libmp3lame -pix_fmt yuv420p compatible.mkv

A volte i codec audio possono causare problemi, quindi scegli MP3 o AAC per la massima compatibilità.

Altri compiti e operazioni avanzate

Estrarre e aggiungere sottotitoli

  • Converti i sottotitoli da .vtt a .ass:
    ffmpeg -i subtitulos.vtt salida.ass
  • Aggiungere sottotitoli a un video:
    ffmpeg -i video.mp4 -i subtitulos.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast salida.mkv

Rimuovi sottotitoli e altri flussi

ffmpeg -i entrada.mkv -map 0:v -map 0:a -c copy solo_video_audio.mkv

Aggiungi filigrane o loghi

Puoi aggiungere un'immagine (ad esempio PNG con trasparenza) in qualsiasi angolo:

  Come rimuovere o scollegare un dispositivo collegato al tuo account Netflix

ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=10:10" salida.mp4

Per posizionare il logo nell'angolo in basso a destra:

ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=W-w-10:H-h-10" salida.mp4

Regola il volume o cancella l'audio

  • Aumentare il volume moltiplicando x3.5:
    ffmpeg -i entrada.mkv -filter:a "volume=3.5" -c:v copy -acodec mp3 salida.mkv
  • Rimuovi rumore di fondo (richiede sox):
    Estrarre prima il frammento di rumore
    ffmpeg -i entrada.mp3 -ss 00:00:00 -t 1 ruido.mp3
    allora:
    sox entrada.mp3 limpio.mp3 noisered noise.prof 0.21

Sincronizza audio e video

Se rilevi una desincronizzazione, ritarda l'audio o il video con -itsoffset o -af adelay:

ffmpeg -itsoffset 1.7 -i video.mkv -i video.mkv -map 0:0 -map 1:1 -acodec copy -vcodec copy sincronizado.mkv

Nei casi più semplici per ritardare l'audio di 1.7 secondi:

ffmpeg -i video1.webm -af "adelay=1700|1700" -vcodec copy video_sincronizado.webm

Concatenare video con codec o formati diversi

Quando i file non hanno lo stesso codec e gli stessi parametri, è meglio ricodificarli prima o utilizzare concat con transcodifica. Puoi anche controllare .

ffmpeg -f concat -i lista.txt -c:v libx264 -c:a aac -strict experimental salida.mp4

Ruota i video

Per ruotare un video di 90 gradi verso destra:

ffmpeg -i original.mov -vf "transpose=1" -c:a copy rotado.mov

Per 180 gradi:

ffmpeg -i original.mov -vf "transpose=2,transpose=2" -c:a copy rotado.mov

Riprodurre un video in loop

ffmpeg -stream_loop 2 -i original.mp4 -c copy loop.mp4

Il numero indica le ripetizioni; usare -1 per infinito.

Stabilizzare i video tremolanti

Per video instabili:

  1. Rileva il movimento:
    ffmpeg -i tembloroso.avi -vf vidstabdetect=stepsize=6:shakiness=3:accuracy=9:result=vectors.trf -f null -
  2. Correggi il video:
    ffmpeg -i tembloroso.avi -vf vidstabtransform=input=vectors.trf:zoom=1:smoothing=30,unsharp=5:5:0.8:3:3:0.4 -vcodec libx264 -preset slow -tune film -crf 18 -acodec copy corregido.avi

Velocità di riproduzione

Per accelerare o rallentare un video:

  • Accelera x2:
    ffmpeg -i video.mpg -vf "setpts=0.5*PTS" rapido.mpg
  • Rallenta x4:
    ffmpeg -i video.mpg -vf "setpts=4.0*PTS" lento.mpg

Registra video dal tuo desktop o in streaming

  • Registra desktop (FullHD) e audio:
    ffmpeg -f alsa -i default -f x11grab -s 1920x1080 -r 30 -i :0.0 -preset ultrafast -vcodec libx264 -tune zerolatency -f mpegts tcp://IP_DESTINO:4444
  • Registra dalla webcam:
    ffmpeg -f v4l2 -i /dev/video0 -preset ultrafast salida.webm

Automatizzare la modifica di massa e le attività ripetitive

Combina FFmpeg negli script bash, python o qualsiasi linguaggio che gestisca processi per convertire, rinominare ed elaborare centinaia di file contemporaneamente. Esempio di taglio automatico utilizzando un file con un elenco di attività e un copione che analizzerà l'intera directory ed eseguirà i comandi appropriati per ciascun file, a seconda delle necessità.

Cambia automaticamente più formati di file

Utilizzare loop o script personalizzati. Ad esempio, per convertire tutti i file .wav di un CD in MP3 e salvarli in una cartella:


cd /ruta/al/cd
mkdir ~/MP3s
IFS=$'\n'
for i in *.wav; do ffmpeg -i "$i" ~/MP3s/"${i/%.wav/.mp3}"; done; unset IFS

Caso avanzato: conversione di contenuti DVD, Blu-ray o ISO

  1. Monta l'immagine ISO sul tuo sistema.
  2. Identifica frammenti video (solitamente .VOB per DVD, .m2ts per BluRay).
  3. Concatena file di grandi dimensioni per ottenere il film completo:
    cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB > pelicula.vob
  4. Controlla i flussi:
    ffmpeg -probesize 4G -analyzeduration 4G -i pelicula.vob
  5. Seleziona solo i flussi necessari (ad esempio video e audio in spagnolo):
    ffmpeg -i pelicula.vob -q:a 0 -q:v 0 -map 0:1 -map 0:2 pelicula_es.mkv

L'intero processo è adattabile alle esigenze ed è possibile includere sottotitoli o tracce alternative utilizzando i parametri appropriati. -map.