- 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 è 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
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.
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:
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
- Crea un file di testo (ad esempio,
lista.txt) con i nomi dei video:
file 'parte1.mp4' file 'parte2.mp4'
- 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:
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:
- Rileva il movimento:
ffmpeg -i tembloroso.avi -vf vidstabdetect=stepsize=6:shakiness=3:accuracy=9:result=vectors.trf -f null - - 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
- Monta l'immagine ISO sul tuo sistema.
- Identifica frammenti video (solitamente .VOB per DVD, .m2ts per BluRay).
- 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 - Controlla i flussi:
ffmpeg -probesize 4G -analyzeduration 4G -i pelicula.vob - 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.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.
