Come convertire i video usando ffmpeg in ubuntu

Come convertire i video usando ffmpeg in ubuntu

Nel mondo moderno, con YouTube e altre app di social media come il modo tradizionale di visualizzare i media digitali, il caricamento di video è diventato una pratica comune. È diventato così comune, infatti, che la creazione e la modifica di file audio e video è diventato la nuova normalità nell'arco di pochi decenni. Ci sono ovviamente strumenti costosi là fuori che si possono acquistare per soddisfare le proprie esigenze, ma cosa succede se potessimo farlo gratuitamente? E se alcune righe di codice potessero fare quasi tutte le attività video che è necessario?

FFMPEG è uno strumento di conversione video, estrazione e editing gratuita e open source che fornisce una risposta a questa domanda! Cosa non può fare FFMPEG? Quasi niente. Le attività che possono essere eseguite con l'aiuto di FFMPEG includono la conversione dei file audio, la conversione dei file video, la conversione delle foto, l'estrazione dei file di immagini da file video, la generazione di video da file di immagini, l'estrazione di audio da video, video e foto di ritaglio -Ildizing video, aumento del volume e creazione di registrazioni sullo schermo.

Installazione di FFMPEG in Ubuntu

FFMPEG non viene preinstallato in Ubuntu per impostazione predefinita, quindi dovrai prima installare questo programma per usarlo. Per completare l'installazione, è necessario essere l'utente root. Successivamente, digita quanto segue per installare FFMPEG:

sudo apt-get installa ffmpeg

IL Installazione Apt-get Il comando funzionerà per tutte le versioni di Ubuntu tranne 14.04.

Conversione audio

La conversione del file di un file audio può essere eseguita in una singola riga di codice utilizzando l'utilità FFMPEG. In questo caso, è necessario passare solo due parametri: il nome del file originale e il nome del nuovo file. Questo comando consente di convertire qualsiasi formato di file in qualsiasi altro formato di file rilevando automaticamente i tipi di file per nome. Pertanto, non è necessario un codice aggiuntivo per specificare i tipi di file.

FFMPEG -I Originiale_file.mp3 converted_file.MP4

Puoi aggiungere i tuoi nomi e tipi di file a questa riga di codice. Questa è solo la sintassi di base per l'uso.

Conversione video

È inoltre possibile convertire i tipi di file video utilizzando FFMPEG. Quando si inserisce il comando, tutto ciò di cui hai bisogno è il nome del file originale e il nome del file di output. Il tag -i indica il file di input.

ffmpeg -i originale_file.mp4 converted_file.WebM

Conversione fotografica

Ciò che è vero per i file video e audio si applica anche ai file di immagine. È possibile convertire un formato fotografico in un altro formato rapidamente e facilmente con FFMPEG semplicemente usando la sintassi mostrata di seguito:

ffmpeg -i originale_file.jpg converted_file.png

Estrai l'immagine dal file video

FFMPEG può anche essere utilizzato per estrarre immagini da file video. In altre parole, questo programma può prendere screenshot in momenti precisi durante un video e salvare gli screenshot come raccolta di file di immagine. Per esempio:

video ffmpeg -i.mp4 output_file.jpg

In questo caso, il tag -i raffigura il file video da cui verranno estratti i file di immagine. Tuttavia, non abbiamo ancora fornito al programma alcuna specifica per la qualità dell'immagine o la tempistica dello screenshot. Quindi, è prima necessario specificare questi dettagli prima di inserire il codice.

Se scriviamo quanto segue:

video ffmpeg -i.mp4 output_file%d.jpg

Il valore %d che segue il nome del file di output rappresenta una variabile che è possibile personalizzare in base al numero di frame al secondo in cui si desidera generare dal video. Quando le immagini vengono generate a una cornice al secondo, ogni foto verrà etichettata output_file1.jpg; A due fotogrammi al secondo, output_file2.jpg; A tre fotogrammi al secondo, output_file3.jpg; eccetera. Se il film ha 35 fotogrammi al secondo, ed è un secondo lungo, dare alla variabile %D un valore di 1 genererà 35 foto.

Successivamente, cosa succede se vogliamo catturare le immagini a un determinato frame per secondo la velocità? Il valore FPS lo definisce nella sintassi FFMPEG. Per catturare 1 frame al secondo, imposteresti il ​​valore FPS pari a 1.

video ffmpeg -i.mp4 -vf fps = 1 output_file%d.jpg

Allo stesso modo, definendo il valore FPS a 1/6000, il seguente comando genererà 1 immagine per 6.000 secondi di video:

video ffmpeg -i.mp4 -vf fps = 1/6000 output_file%6d.jpg

Nel comando sopra, il termine %6d genererà una variabile con sei cifre. I file di output saranno etichettati come segue: output_file000001.jpg, output_file000002.jpg, ecc.

Ora, supponiamo di non voler catturare tutti i frame. Invece, vuoi essere più selettivo e desideri catturare un numero impostato di immagini tra due tempi di tempo. Quindi, la sintassi sembrerebbe qualcosa di simile:

ffmpeg -ss 00:00:01 -t 00:00:04 -i video.mp4 output_file%3d.jpg

Questo codice acquisirà immagini, a partire dalle 00:00:01, per 4 secondi. In altre parole, la cattura dell'immagine inizierà alle 00:00:01 e terminerà alle 00:00:05 nel video. Come al solito, il numero nel nome del file di output avrà tre cifre (i.e., output_file001.jpg, output_file002.jpg, ecc.).

Generare video dai file di immagine

E se vuoi fare esattamente il contrario e mettere insieme le immagini per formare un video? FFMPEG viene di nuovo in soccorso!

ffmpeg -r 1/5 -i img%03d.png -c: v libx264 -vf fps = 25 -pix_fmt yuv420p output_file.MP4

Dopo aver letto le sezioni precedenti, ora sai quale termine IMG%03.PNG sta per - L'immagine di origine file che si compila nel video. In questa sintassi, il tag -c: v rappresenta il codec per il video, fps rappresenta i frame al secondo valore e R rappresenta il framerate del video di output.

Estrai audio dal video

Che ne dici di estrarre file audio da un file video? Ci sono strumenti sul Web che puoi utilizzare per eseguire questa attività, ma con FFMPEG, una riga di codice può fare altrettanto bene.

video ffmpeg -i.mp4 -c: a libmp3lame -q: a 0 -map a output_file.mp3

Nella sintassi sopra, video.MP4 è il file video di input e output_file.mp3 è il file audio di output. Il tag -map a prende il flusso audio predefinito ed esclude eventuali sottotitoli, c: A specifica il codec per l'audio da utilizzare e Q: A definisce un bitrate variabile per l'audio.

Se desideri estrarre solo una parte del file audio da un file video, è possibile utilizzare la seguente sintassi per farlo. Nel seguente codice, viene estratta solo la sezione dell'audio tra le 00:00:08 e le 00:00:10:

video ffmpeg -i.MP4 -SS 00:00:08 -T 00:00:10 -Q: A 0 -C: A Libmp3Lame -Q: A 0 -map A output_file.mp3

Ovviamente, ci sono molti più dettagli che puoi aggiungere, se lo desideri, ma l'esempio sopra è un ottimo punto di partenza.

Video e foto di raccolta

E se vuoi ritagliare video? Puoi prendere il tempo e il denaro per trovare un software di ritaglio altrove, oppure puoi utilizzare una riga di codice con FFMPEG per ritagliare il video a dimensioni.

video ffmpeg -i.mp4 -filter: v "crop = w = larghezza: h = altezza: x: y" output_file.MP4

Per esempio:

video ffmpeg -i.mp4 -filter: v "crop = w = 550: h = 200: x = 100: y = 200" output_file.MP4

Ad esempio, ho scattato la mia foto e ho provato a ritagliarla con il seguente codice:

ffmpeg -i photo44.jpg -filter: v "crop = w = 500: h = 200" fuori.jpg

Taglia video

Il taglio dei file video richiede di tagliarli da un tempo specifico a un altro tempo specifico. Ad esempio, tagliare un file video in due o tre segmenti lo taglierebbe. Ancora una volta, il taglio dei file video o audio può essere facilmente eseguita utilizzando FFMPEG.

video ffmpeg -i.MP4 -SS 00:00:20 -T 00:00:10 -C: V H264 -C: A AAC output_file.MP4

In questo caso, il tag -ss sta per iniziare a cercare o il tempo in cui iniziare il processo di taglio. Nel comando sopra, inizieremo a tagliare o tagliare alle 00:00. Il tag t sta per la durata della clip. Qui, la durata della clip di taglio sarà di 10 secondi. Infine, il tag C: V è per il codec del video utilizzato, mentre C: A è per il codec audio utilizzato.

Ridimensiona il video

Il ridimensionamento dei video è semplice come il taglio e il ritaglio di video.

video ffmpeg -i.MP4 -VF Scala = 320: 240 output_file.MP4

In alternativa, puoi anche fare quanto segue:

video ffmpeg -i.mp4 -vf scala = "iw/1: ih/2" output_file.MP4

Qui, il valore IW definisce la larghezza di input, mentre IH definisce l'altezza di input. Quest'ultimo lo ridimensionerà anche.

Aumenta il volume del video

In questo articolo, hai visto come ritagliare, tagliare e convertire i file di video e immagini, ma per quanto riguarda il potenziamento del volume di file audio e video?

video ffmpeg -i.mp3 -filter: a “volume = 2” output_file.mp3

In quest'ultimo caso, stiamo chiedendo umilmente a FFMPEG di raddoppiare il volume del file.

Crea la registrazione dello schermo

Registrazione dello schermo è un'attività che è spesso necessaria per eseguire, che si tratti di presentazioni, condivisione video o riunioni online. Qualunque sia il motivo per cui registrare il tuo desktop, in genere, dovresti eseguire una sorta di software per farlo. A differenza delle costose alternative, FFMPEG può farlo gratuitamente!

ffmpeg -f gdigrab -framera 30 -i desktop -c: v libx264 output_file.mp4 -f dshow -i audio = "mix stereo (realtek audio)" output_file.MP4

Nel comando sopra, il tag -f rappresenta il formato della registrazione video dello schermo. Seguendo il valore audio, inserirai la tua fonte audio.

Inoltre, il seguente codice prenderà solo il video della registrazione dello schermo, senza alcun suono aggiunto:

ffmpeg -f gdigrab -framera 30 -i desktop -c: v libx264 -qp 0 output.MP4

Conclusione

Nel complesso, FFMPEG è un programma estremamente utile che ti consente di realizzare molte cose in una singola riga di codice. Puoi acquistare strumenti costosi online per soddisfare le tue esigenze di modifica o puoi provare gratuitamente queste funzioni installando l'utilità FFMPEG.