FFmpeg è uno strumento eccellente per convertire, comprimere e trasmettere registrazioni audio e video con semplici comandi.
FFmpeg; È una libreria multimediale gratuita e open source e uno strumento basato su terminale per la manipolazione di video, audio e altri file multimediali. Combina molti codificatori e decodificatori per supportare quasi tutti i formati multimediali comuni e non comuni.
FFmpeg ha una curva di apprendimento, specialmente se sei nuovo nell'interfaccia del terminale. Dovrai digitare i comandi con la tastiera per transcodificare file e flussi multimediali. In questo articolo, introdurrò i comandi FFmpeg più comunemente usati con esempi per eseguire varie attività come la conversione di formati multimediali, il taglio di video, l'estrazione di flussi audio/video.
Prima di ogni altra cosa, FFmpegSistemiamo.
Configurazione di FFmpeg
Installare FFmpeg in Pardus è abbastanza semplice. Apri il terminale e inserisci il seguente comando.
sudo apt update && sudo apt install ffmpeg
Dopo che l'installazione è stata completata con successo, testiamo se FFmpeg è effettivamente installato.
Puoi scoprire la versione installata di FFmpeg inserendo il comando qui sotto.
ffmpeg -versione
Puoi elencare tutti i codificatori e decodificatori disponibili (codificatore e decodificatore) di FFmpeg con i comandi seguenti.
ffmpeg -encoder ffmpeg -decoder
Ora che l'installazione è completa, possiamo passare ai comandi più utilizzati.
Ottenere informazioni sui video con FFmpeg
Usando FFmpeg puoi facilmente ottenere le informazioni di un particolare file multimediale (ad esempio input.mp4). Normalmente il file di input e il file di output devono essere specificati, ma in questo caso il file di output può essere saltato poiché otterremo solo alcune informazioni di base.
ffmpeg -i input.mp4 -hide_banner
hide_banner
flag aiuta a nascondere le intestazioni FFmpeg e altri dettagli e mostra solo le informazioni sui file multimediali
Anteprima o test di file video o audio
Il framework FFmpeg è costituito da FFmpeg stesso, ffprobe e ffplay, il lettore multimediale basato sulla libreria FFmpeg. Se vuoi visualizzare in anteprima o testare un file multimediale prima o dopo averlo modificato, puoi riprodurlo con ffplay eseguendo il seguente comando:
ffplay input.mp4
Punto chiave: Comando per accedere alla modalità a schermo intero -fs
Inserisci.
Conversione di file video o audio in un altro formato
FFmpeg è estremamente utile per convertire il tuo file video o audio in un altro formato. Continuiamo con gli esempi.
Da MOV a MP4 con FFmpeg
Esegui il seguente comando per convertire il tuo file video in formato MOV in MP4 con FFmpeg.
ffmpeg -i input.mov output.mp4
Da WAW a MP3 con FFmpeg
Allo stesso modo, puoi convertire i file audio con FFmpeg specificando il formato di output. Ad esempio, FFmpeg convertirà WAV in MP3 con il seguente comando.
ffmpeg -i input.wav -vn -ar 44100 -ac 2 -b:a 192k output.mp3
Estrai l'audio dal video con FFmpeg (converti video in audio)
FFmpeg può separare video e audio e convertire il file video in un formato diverso. Puoi estrarre l'audio dal video con il comando seguente.
ffmpeg -i input.mp4 -vn output.mp3
rimuovere l'audio dal video
Puoi rimuovere il flusso audio dal video utilizzando il comando seguente e mantenere solo la parte video. È inoltre possibile selezionare il formato di output (MP4 nell'esempio seguente) tra i formati supportati.
ffmpeg -i input.mp4 -an mute-output.mp4
Conversione di una parte specifica del video
Oltre a convertire il formato dell'intero video, FFmpeg consente anche di convertire una parte specifica del formato video o audio secondo necessità. In questo caso, per specificare l'ora -t
Devi usare il valore. Ad esempio, il seguente comando convertirà i primi 4 secondi del file input.mp10 nel formato MKV. Il tempo hh.mm.ss Tieni presente che puoi anche specificare il formato.
ffmpeg -i input.mp4 -t 10 output.mkv
Tagliare video con FFmpeg
FFmpeg può anche aiutare facilmente a tagliare file video e audio. Per impostare l'ora di inizio della clip -ss
per impostarne il valore e l'ora di fine -to
valore d'uso. -c
il valore è per l'impostazione del codec. Allo stesso modo, per impostare la durata della clip, nell'esempio precedente, -t
Puoi anche usare il valore.
ffmpeg -i input.mp4 -ss 00:01:54 -to 00:06:53 -c copia output.mp4
Ritaglio di riprese video con FFmpeg
Usa il comando qui sotto per ritagliare la cornice a qualsiasi dimensione desideri. Nell'esempio qui sotto -filter:v
indica che il filtro è per il video. crop
indica che il filtro necessario è il filtro di ritaglio. "w:h:x:y" rappresenta rispettivamente la larghezza, l'altezza e la posizione della cornice.
ffmpeg -i input.mp4 -filter:v "crop=w:h:x:y" output.mp4
ridimensionare il video
Il seguente comando ridimensionerà il video alla dimensione desiderata. nel comando sottostante -vf
, nell'esempio precedente -filter:v
è un alias per(alias).
ffmpeg -i input.mp4 -vf scala=1920:1080 output.mp4
Combina audio e video
Se disponi di un file audio e video, puoi mixare il video con l'audio utilizzando il comando seguente. Tieni presente che devi utilizzare un formato contenitore compatibile con i formati di codifica.
ffmpeg -i audio.mp3 -i video.mp4 video_audio_mix.mkv
Unisci i video
Se disponi di più clip video codificati con lo stesso codec, puoi unire o unire questi video insieme. Crea un file .txt con un elenco di tutti i file di origine che desideri unire, quindi esegui il comando seguente.
ffmpeg -f concat -i elenco-file.txt -c copia output.mp4
ruotare video
Usando FFmpeg puoi facilmente ruotare un video in senso orario e antiorario, capovolgere un video verticalmente e orizzontalmente. In questo caso, la proprietà che usiamo è "transpose". Il seguente comando ruoterà il video in ingresso di 90 gradi in senso orario.
ffmpeg -i input.mp4 -vf "transpose=1" output.mp4
transpose
I parametri disponibili sono 0, 1, 2 e 3.
- 0 – Ruota di 90 gradi in senso antiorario e capovolgi verticalmente (valore predefinito).
- 1 – Ruota di 90 gradi in senso orario.
- 2 – Ruota di 90 gradi in senso antiorario.
- 3 – Ruota di 90 gradi in senso orario e ruota verticalmente.
Per ruotare i video di 180 gradi in senso orario transpose
Si noti che sarà necessario specificare il parametro due volte come segue.
ffmpeg -i input.mp4 -vf "transpose=2,transpose=2" output.mp4
Velocizzare il video
FFmpeg aiuta a modificare la velocità di riproduzione del video. Puoi accelerare o rallentare un video in base alle tue esigenze. Ad esempio, il seguente comando raddoppierà la velocità del video. È possibile impostare il valore in base alle proprie esigenze.
ffmpeg -i input.mp4 -vf "setpts=0.5*PTS" output.mp4
Compressione video
La compressione del video con FFmpeg ridurrà le dimensioni del file e farà risparmiare spazio di archiviazione. Eseguire il seguente comando per la compressione video.
ffmpeg -i input.mp4 -vf scale=1280:-1 -c:v libx264 -preset veryslow -crf 24 output.mp4
Ingrandisci o rimpicciolisci il video
Trovato su FFmpeg zoompan
Puoi applicare l'effetto zoom e panoramica al video dato con il filtro. Il seguente comando ingrandirà il video fino a 1,5x e scorrerà sempre al centro dell'immagine.
zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'
zoom
,z
– Impostare l'espressione dello zoom. L'intervallo è 1-10. Il valore predefinito è 1.d
– Impostare l'espressione della durata in fotogrammi. Il valore predefinito è 90.x
,y
– Impostare l'espressione x e y. Il valore predefinito è 0.in_w
,iw
,in_h
,ih
– Immettere il valore di larghezza/altezza.
Looping del video
Per eseguire il loop di un video con FFmpeg, devi utilizzare il filtro loop. Ad esempio, il seguente comando riprodurrà tre volte il video introduttivo MP4. Il valore predefinito del numero di cicli è 0, quindi non esiste alcun ciclo. Usa -1 per il ciclo infinito.
ffmpeg -stream_loop 2 -i input.mp4 -c copia output.mp4
Impostazione dei fotogrammi al secondo (FPS)
FFmpeg è utile anche per modificare alcuni parametri, inclusi FPS e GOP. È possibile modificare l'FPS per usi diversi senza modificare altri parametri. Digita ed esegui il seguente comando; FFmpeg cambierà l'FPS originale al valore impostato.
ffmpeg -i input.mp4 -vf "fps=30" output.mp4
immagini grubimpostalo (GOP)
GOP (Group of Pictures) indica la distanza tra due fotogrammi chiave. -g
Puoi impostare il valore come desideri. Tieni presente che forzare troppi fotogrammi chiave è molto dannoso per gli algoritmi di forward di alcuni codificatori.
ffmpeg -i input.mp4 -g 300 output.mp4
Copiare i metadati
Puoi anche copiare i metadati di un file multimediale di origine con il comando FFmpeg di seguito. Tieni presente che alcuni video potrebbero non copiare correttamente tutti i metadati, poiché memorizzano metadati personalizzati.
ffmpeg -i input.mov -map_metadata 0 -movflags use_metadata_tags output.mp4
Aggiunta di sottotitoli ai video
FFmpeg può aggiungere un file di sottotitoli separato a un video con il seguente comando. Assicurati di scegliere un formato contenitore compatibile per il video di output.
ffmpeg -i input.mp4 -i subtitle.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast video-output.mkv
mantenere la codifica originale
A volte potresti voler copiare la codifica originale. Il seguente comando creerà una copia duplicata del video introduttivo. “-c copy
Il parametro ” fa in modo che FFmpeg salti la fase di decodifica e codifica per il flusso specificato, quindi esegue solo multiplexing e analisi. È utile solo per modificare il formato del contenitore o modificare i metadati a livello di contenitore.
ffmpeg -i input.mp4 -c copia output.mkv
Crea una GIF animata
Introdurrò alcune funzionalità di FFmpeg relative ai file immagine.
Innanzitutto, vediamo come creare una GIF animata da un video utilizzando FFmpeg. La formula di base è semplice come mostrato di seguito:
ffmpeg -i input.mp4 output.gif
Puoi anche aggiungere alcuni parametri per personalizzare l'immagine GIF di output:
ffmpeg -ss 00:00:20 -i input.mp4 -to 10 -r 10 -vf scale=200:-1 output.gif
-ss
: specifica il punto iniziale della GIF.-to
: indica la posizione finale della GIF.-r
: sta per frame rate.-vf scale
: Serve per ridimensionare l'immagine GIF alla dimensione desiderata.
Ridimensiona le immagini con FFmpeg
Puoi anche utilizzare FFmpeg per ridimensionare le immagini, in modo simile al ridimensionamento del video in uno degli esempi precedenti. Il seguente comando ridimensionerà l'immagine a 1920:1080. Puoi impostare questo valore su qualsiasi dimensione desiderata.
ffmpeg -i input.png -vf "scale=1920:1080" output.png
Dalle immagini al video
FFmpeg può convertire una serie di immagini in un video. Questo è molto utile quando vuoi creare una presentazione. Ad esempio, il seguente comando sarebbe img001.png, img002.png, ecc. Creerà una presentazione con una serie di immagini chiamate -r 1/5 specifica che ogni immagine avrà una durata di 5 secondi.
ffmpeg -r 1/5 -i img%03d.png -c:v libx264 -r 30 -pix_fmt yuv420p output.mp4
Conversione di una singola immagine in un video
Poiché il video è costituito da fotogrammi, è possibile convertire una singola immagine in un file video con FFmpeg. Usa il parametro -t per specificare la durata del video. Puoi anche aggiungere altri parametri come nel comando seguente.
ffmpeg -loop 1 -i input.png -c:v libx264 -t 30 -pix_fmt yuv420p video.mp4
estrarre cornici
Invece di convertire una singola immagine o una serie di immagini in video, puoi anche estrarre fotogrammi dal video. Il seguente comando estrarrà 1 fotogramma ogni 1 secondo dal video di input e produrrà le immagini esatte, 001.png, 002.png, ecc. sarà indicato come 3 cifre. Puoi anche aggiungere altri parametri come -ss e -t se lo desideri.
ffmpeg -i input.mp4 -r 1 immagine-%03d.png
- Il parametro -ss aggiunge un punto di partenza. Elimina questo comando se desideri rimuoverlo dall'inizio del video.
- -t è usato per aggiungere un punto per rimuovere i frame. Questo può essere cancellato se non c'è bisogno speciale.
- -i è il percorso del file video di input.
- Il -r specifica gli hash per catturare e invertire il modo in cui vuoi che funzioni.
- 1 significa che questo comando registrerà 1 frame ogni secondo. Se vuoi registrare 2 fotogramma ogni 1 secondi, sostituisci 1 con 0,5. Basta usare la formula "1/secondo" e otterrai la velocità di cui hai bisogno.
- -03%d; Genererà nomi di immagini a 001 cifre come 002, 3. Se vuoi ottenere nomi di immagini a 4 cifre usa -%04d.
- Il .png rappresenta il formato dei fotogrammi estratti dal video. Puoi anche usare i formati jpeg, bmp.
Modifica del volume dei file audio
Di seguito sono riportati alcuni comandi FFmpeg comunemente usati per i file audio.
Uno dei più comuni è modificare il volume del file audio. Avrai bisogno dell'opzione di filtro "volume" per questo. Ad esempio, il seguente comando ridurrà il volume della metà. Naturalmente, puoi anche regolare il valore in base alle tue esigenze.
ffmpeg -i input.mp3 -af 'volume=0.5' output.mp3
Compressione di file audio
Proprio come comprimere un video, puoi anche comprimere un audio per ridurne le dimensioni del file. di FFmpeg -ab
parametro imposterà il bitrate per l'audio di destinazione e ti farà risparmiare spazio di archiviazione. I bitrate audio disponibili sono 96kbps, 112kbps, 128kbps, 160kbps, 192kbps, 256kbps e 320kbps. Per comprimere l'audio, usa semplicemente un valore inferiore rispetto al file sorgente.
ffmpeg -i input.mp3 -ab 128 output.mp3
Aumentare o diminuire la velocità di riproduzione audio
Allo stesso modo, possiamo usare FFmpeg per accelerare o rallentare la velocità di riproduzione dell'audio. In questo caso utilizzeremo il filtro sonoro “atempo”. Qualsiasi valore compreso tra 0,5 e 2,0 può essere utilizzato per l'audio. Ad esempio, il seguente comando raddoppierà la velocità del suono.
ffmpeg -i input.mp3 -filter:a "atempo=2.0" -vn output.mp3
Aggiunta di video all'audio
Hai mai provato a caricare un audio MP3 su YouTube e non ci sei riuscito? Se la tua risposta è sì, l'aggiunta di un'immagine all'audio con FFmpeg può aiutare in questa situazione. Il seguente comando convertirà il tuo audio in un video MP4 con un'immagine specifica. Puoi anche scegliere un altro contenitore compatibile in base al formato di codifica del tuo audio.
ffmpeg -loop 1 -i image.jpg -i input.mp3 -c:v libx264 -c:a aac -strict experiment -b:a 192k -shortest output.mp4
Ottenere aiuto da FFmpeg
Per ottenere aiuto su un particolare elemento negli strumenti ff* (incluso FFmpeg), puoi sempre utilizzare il parametro -h per stampare l'output della guida sullo schermo.
ffmpeg -h
Il contenuto di cui sopra spiega alcuni dei parametri FFmpeg più comunemente usati con gli esempi di FFmpeg. Sempre ufficiale per ulteriori informazioni ed esempi di utilizzo Documentazione FFmpeg Puoi candidarti.