Utili comandi FFmpeg per lavorare con file audio e video

Pubblicato: 2022-02-26

FFmpeg è uno strumento da riga di comando estremamente potente e versatile per convertire file audio e video. È gratuito e disponibile per macchine Windows, Mac e Linux. Sia che tu voglia unire due file video, estrarre il componente audio da un file video, convertire il tuo video in una GIF animata, FFmpeg può fare tutto e anche di più.

Estrai l'audio da un file video con questo semplice comando FFmpeg. Estrai l'audio da un file video con questo semplice comando FFmpeg.

Comandi utili di FFmpeg

FFmpeg supporta tutti i formati audio e video più diffusi. Oppure puoi eseguire il comando ./ffmpeg -formats per ottenere un elenco di tutti i formati supportati dalla tua installazione di FFmpeg. Se hai appena iniziato, ecco alcuni comandi che ti daranno una buona idea delle capacità di questo strumento.

1. Taglia il file video in una clip più piccola

È possibile utilizzare il parametro di offset temporale (-ss) per specificare il timestamp di inizio nel formato HH:MM:SS.ms mentre il parametro -t serve a specificare la durata effettiva del clip in secondi.

ffmpeg -i input.mp4 -ss 00:00:50.0 -codec copy -t 20 output.mp4

2. Dividi un video in più parti

Se vuoi dividere un video di grandi dimensioni in più clip più piccole senza ricodificare, ffmpeg può aiutarti. Questo comando dividerà il video sorgente in 2 parti: una che termina a 50 secondi dall'inizio e l'altra che inizia a 50 secondi e termina alla fine del video di input.

ffmpeg -i video.mp4 -t 00:00:50 -c copy small-1.mp4 -ss 00:00:50 -codec copy small-2.mp4

3. Converti video da un formato all'altro

È possibile utilizzare il parametro -vcodec per specificare il formato di codifica da utilizzare per il video di output. La codifica di un video richiede tempo, ma puoi accelerare il processo forzando un preset anche se degraderebbe la qualità del video di output.

ffmpeg -i youtube.flv -c:v libx264 filename.mp4

ffmpeg -i video.wmv -c:v libx264 -preset ultrafast video.mp4

4. Unisci (concatena) file video

Se hai più file audio o video codificati con gli stessi codec, puoi unirli in un unico file usando FFmpeg. Crea un file di input con un elenco di tutti i file di origine che desideri concatenare e quindi esegui questo comando.

ffmpeg -f concat -i file-list.txt -c copy output.mp4

5. Disattiva l'audio di un video (rimuovere il componente audio)

Utilizzare il parametro -an per disabilitare la parte audio di un flusso video.

ffmpeg -i video.mp4 -an mute-video.mp4

6. Estrarre l'audio dal video

L' -vn estrae la parte audio da un video e stiamo usando l'opzione -ab per salvare l'audio come file audio MP3 a 256 kbps.

ffmpeg -i video.mp4 -vn -ab 256 audio.mp3

7. Converti un video in una GIF animata

FFmpeg è uno strumento eccellente per convertire video in GIF animate e anche la qualità non è male. Usa il filtro di scala per specificare la larghezza della GIF, il parametro -t specifica la durata mentre -r specifica la frequenza dei fotogrammi (fps).

ffmpeg -i video.mp4 -vf scale=500:-1 -t 10 -r 10 image.gif

8. Estrarre i fotogrammi dell'immagine da un video

Questo comando estrarrà il fotogramma video al contrassegno 15s e lo salverà come un'immagine JPEG larga 800px. Puoi anche usare l'opzione -s (come -s 400x300) per specificare le dimensioni esatte del file immagine anche se probabilmente creerà un'immagine allungata se la dimensione dell'immagine non segue le proporzioni del file video originale.

ffmpeg -ss 00:00:15 -i video.mp4 -vf scale=800:-1 -vframes 1 image.jpg

9. Converti video in immagini

Puoi usare FFmpeg per estrarre automaticamente i fotogrammi dell'immagine da un video ogni 'n' secondi e le immagini vengono salvate in una sequenza. Questo comando salva i fotogrammi dell'immagine dal video ogni 4 secondi.

ffmpeg -i movie.mp4 -r 0.25 frames_%04d.png

10. Unisci un file audio e video

Puoi anche specificare l' -shortest per terminare la codifica quando termina la clip più breve.

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

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

11. Ridimensiona un video

Utilizzare l'opzione dimensione (-s) con ffmpeg per ridimensionare un video mantenendo le proporzioni.

ffmpeg -i input.mp4 -s 480x320 -c:a copy output.mp4

12. Crea una presentazione video dalle immagini

Questo comando crea una presentazione video utilizzando una serie di immagini denominate img001.png, img002.png, ecc. Ciascuna immagine avrà una durata di 5 secondi (-r 1/5).

ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p slideshow.mp4

13. Aggiungi un'immagine poster all'audio

Puoi aggiungere un'immagine di copertina a un file audio e la lunghezza del video di output sarà la stessa del flusso audio di input. Questo può tornare utile per caricare MP3 su YouTube.

ffmpeg -loop 1 -i image.jpg -i audio.mp3 -c:v libx264 -c:a aac -strict experimental -b:a 192k -shortest output.mp4

14. Converti una singola immagine in un video

Usa il parametro -t per specificare la durata del video.

ffmpeg -loop 1 -i image.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4

15. Aggiungi i sottotitoli a un film

Questo prenderà i sottotitoli dal file .srt. FFmpeg può decodificare tutti i formati di sottotitoli comuni.

ffmpeg -i movie.mp4 -i subtitles.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast output.mkv

16. Ritaglia un file audio

Questo creerà un file audio di 30 secondi a partire da 90 secondi dal file audio originale senza transcodifica.

ffmpeg -ss 00:01:30 -t 30 -acodec copy -i inputfile.mp3 outputfile.mp3

17. Modificare il volume dell'audio

È possibile utilizzare il filtro del volume per modificare il volume di un file multimediale utilizzando FFmpeg. Questo comando dimezzerà il volume del file audio.

ffmpeg -i input.wav -af 'volume=0.5' output.wav

18. Ruota un video

Questo comando ruoterà un video clip di 90° in senso orario. È possibile impostare la trasposizione su 2 per ruotare il video di 90° in senso antiorario.

ffmpeg -i input.mp4 -filter:v 'transpose=1' rotated-video.mp4

Questo ruoterà il video di 180° in senso antiorario.

ffmpeg -i input.mp4 -filter:v 'transpose=2,transpose=2' rotated-video.mp4

19. Accelera o rallenta il video

Puoi cambiare la velocità del tuo video usando il setpts (imposta l'ora della presentazione) di FFmpeg. Questo comando renderà il video 8 volte più veloce (1/8) o utilizzerà setpts=4*PTS per rendere il video 4 volte più lento.

ffmpeg -i input.mp4 -filter:v "setpts=0.125*PTS" output.mp4

20. Accelera o rallenta l'audio

Per modificare la velocità dell'audio, utilizzare il filtro audio atempo . Questo comando raddoppierà la velocità dell'audio. È possibile utilizzare qualsiasi valore compreso tra 0,5 e 2,0 per l'audio.

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

Stack Exchange offre una buona panoramica per iniziare con FFmpeg. Dovresti anche controllare la documentazione ufficiale su ffmpeg.org o il wiki su trac.ffmpeg.org per sapere tutte le cose possibili che puoi fare con FFmpeg.

Vedi anche: Comandi Linux essenziali