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:vindica che il filtro è per il video. cropindica 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 copyIl 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.