Ubuntu

Hur man konverterar videor med FFMPEG i Ubuntu

Hur man konverterar videor med FFMPEG i Ubuntu

I den moderna världen, med YouTube och andra sociala medieappar som det vanliga sättet att se digitala medier, har uppladdning av videor blivit vanligt. Det har faktiskt blivit så vanligt att skapa och redigera ljud- och videofiler har blivit den nya normalen på bara några decennier. Det finns uppenbarligen dyra verktyg där ute som man kan köpa för att uppfylla sina behov, men tänk om vi skulle kunna göra detta gratis? Vad händer om några kodrader kan göra nästan alla videorelaterade uppgifter som du behöver?

Ffmpeg är ett gratis och öppen källkodsverktyg för videokonvertering, extrahering och redigering som ger svar på denna fråga! Vad kan ffmpeg inte göra? Nästan inget. De uppgifter som kan utföras med hjälp av ffmpeg inkluderar ljudfilkonvertering, videofilkonvertering, fotokonvertering, bildfilextraktion från videofiler, generera videor från bildfiler, extrahera ljud från video, beskära videor och foton, klippa videor, återskapa -storlek på videor, öka volymen och skapa skärminspelningar.

Installerar FFmpeg i Ubuntu

Ffmpeg är inte förinstallerat i Ubuntu som standard, så du måste först installera det här programmet för att kunna använda det. För att slutföra installationen måste du vara rotanvändare. Skriv sedan följande för att installera FFmpeg:

sudo apt-get install ffmpeg

De apt-get install kommandot fungerar för alla versioner av Ubuntu utom 14.04.

Ljudkonvertering

Konvertering av en ljudfils filtyp kan utföras i en enda kodrad med hjälp av ffmpeg-verktyget. I det här fallet behöver du bara skicka två parametrar: namnet på den ursprungliga filen och namnet på den nya filen. Detta kommando låter dig konvertera vilket filformat som helst till något annat filformat genom att automatiskt upptäcka filtyperna efter namn. Som sådan finns det inget behov av ytterligare kod för att specificera filtyperna.

ffmpeg -i originalfil.mp3 konverterad_fil.mp4

Du kan lägga till dina egna filnamn och typer i denna kodrad. Detta är bara den grundläggande syntaxen för användning.

Videokonvertering

Du kan också konvertera videofiltyper med ffmpeg. När du matar in kommandot är allt du behöver namnet på originalfilen och namnet på utdatafilen. Taggen -i betecknar inmatningsfilen.

ffmpeg -i originalfil.mp4 convert_file.webm

Fotokonvertering

Vad som gäller för video- och ljudfiler gäller också för bildfiler. Du kan konvertera ett fotoformat till ett annat format snabbt och enkelt med ffmpeg helt enkelt genom att använda syntaxen som visas nedan:

ffmpeg -i originalfil.jpg convert_file.png

Extrahera bilden från videofilen

Ffmpeg kan också användas för att extrahera bilder från videofiler. Med andra ord kan detta program ta skärmdumpar vid exakta tider under en video och spara skärmdumpar som en samling bildfiler. Till exempel:

ffmpeg -i video.mp4 utdatafil.jpg

I det här fallet avbildar -i-taggen den videofil som bildfilerna ska extraheras från. Vi har emellertid fortfarande inte gett programmet några specifikationer angående bildkvalitet eller timing för skärmdump. Så det är först nödvändigt att specificera dessa detaljer innan du matar in koden.

Om vi ​​skriver följande:

ffmpeg -i video.mp4 utdatafil% d.jpg

% D-värdet efter namnet på utdatafilen representerar en variabel som du kan anpassa efter antalet bilder per sekund du vill generera från videon. När bilderna genereras med en bildruta per sekund märks varje foto som output_file1.jpg; med två bilder per sekund, output_file2.jpg; med tre bilder per sekund, output_file3.jpg; etc. Om filmen har 35 bilder per sekund och den är en sekund lång, kommer att ge% d-variabeln ett värde på 1 35 foton.

Nästa, vad händer om vi vill ta bilderna med en viss bildruta per sekund? Fps-värdet definierar detta i ffmpeg-syntaxen. För att fånga en bildruta per sekund ställer du in fps-värdet lika med 1.

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

På samma sätt, genom att definiera fps-värdet till 1/6000, genererar följande kommando 1 bild per 6000 sekunders video:

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

I kommandot ovan genererar termen% 6d en variabel med sex siffror. Utdatafilerna kommer att märkas enligt följande: output_file000001.jpg, utdatafil000002.jpg, etc.

Antag nu att du inte vill fånga alla ramar. Istället vill du vara mer selektiv och vill ta ett visst antal bilder mellan två tidsramar. Då skulle syntaxen se ut så här:

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

Den här koden kommer att ta bilder från och med 00:00:01 i 4 sekunder. Med andra ord börjar bildtagningen 00:00:01 och slutar 00:00:05 i videon. Som vanligt kommer siffran i utdatafilens namn att ha tre siffror (i.e., utdatafil001.jpg, output_file002.jpg, etc.).

Skapa video från bildfiler

Vad händer om du vill göra tvärtom och sätta ihop bilder för att skapa en video? Ffmpeg kommer till undsättning igen!

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

Efter att ha läst de föregående avsnitten vet du nu vad termen img% 03.png står för - källbildfilerna som ska kompileras till videon. I denna syntax representerar -c: v-taggen kodeken för videon, fps representerar ramarna per sekundvärde och r representerar bildfrekvensen för utgångsvideoen.

Extrahera ljud från video

Vad sägs om att extrahera ljudfiler från en videofil? Det finns verktyg på webben som du kan använda för att utföra den här uppgiften, men med ffmpeg kan en rad kod göra jobbet lika bra.

ffmpeg -i video.mp4 -c: en libmp3lame -q: en 0 -mapp en utdatafil.mp3

I ovanstående syntax, video.mp4 är ingångsvideofilen och utdatafilen.mp3 är den utgående ljudfilen. The -map en tag tar standardljudströmmen och utesluter alla undertexter, c: a anger kodeken för det ljud som ska användas, och q: a definierar en variabel bithastighet för ljudet.

Om du bara vill extrahera en del av ljudfilen från en videofil kan du använda följande syntax för att göra det. I följande kod extraheras endast ljudavsnittet från 00:00:08 till 00:00:10:

ffmpeg -i video.mp4 -ss 00:00:08 -t 00:00:10 -q: en 0 -c: en libmp3lame -q: en 0 -mapp en utdatafil.mp3

Uppenbarligen finns det många fler detaljer du kan lägga till, om du vill, men ovanstående exempel är en bra utgångspunkt.

Beskär videor och foton

Vad händer om du vill beskära videor? Du kan antingen ta dig tid och pengar på att hitta beskärningsprogramvara någon annanstans, eller så kan du använda en kodrad med ffmpeg för att beskära videon i storlek.

ffmpeg -i video.mp4 -filter: v "crop = w = bredd: h = höjd: x: y" output_file.mp4

Till exempel:

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

Som ett exempel tog jag min egen bild och försökte beskära den med följande kod:

ffmpeg -i minions.jpg -filter: v "crop = w = 500: h = 200" out.jpg

Trimma videor

Trimning av videofiler kräver att du skär dem från en viss tid till en annan specifik tid. Att klippa en videofil till exempel i två eller tre segment skulle till exempel klippa den. Återigen kan klippning av video- eller ljudfiler enkelt göras med ffmpeg.

ffmpeg -i video.mp4 -ss 00:00:20 -t 00:00:10 -c: v h264 -c: a aac output_file.mp4

I det här fallet står -ss-taggen för att börja söka, eller den tidpunkt då trimningsprocessen ska påbörjas. I ovanstående kommando börjar vi klippa eller klippa klockan 00:00:20. T-taggen står för klippets längd. Här kommer klippklippets varaktighet att vara 10 sekunder. Slutligen är c: v-taggen för kodeken för den använda videon, medan c: a är för den ljudkodek som används.

Ändra storlek på video

Att ändra storlek på videor är lika enkelt som att klippa och beskära videor.

ffmpeg -i video.mp4 -vf-skala = 320: 240 utdatafil.mp4

Alternativt kan du också göra följande:

ffmpeg -i video.mp4 -vf skala = "iw / 1: ih / 2" utdatafil.mp4

Här definierar värdet iw inmatningsbredd, medan ih definierar inmatningshöjd. Den senare kommer också att skala den.

Öka volymen på video

I den här artikeln har du sett hur man beskär, trimma och konvertera video- och bildfiler, men hur är det med att öka volymen på ljud- och videofiler?

ffmpeg -i video.mp3-filter: en “volume = 2” utdatafil.mp3

I det senare fallet ber vi ödmjukt ffmpeg att fördubbla filens volym.

Skapa skärminspelning

Att spela in din skärm är en uppgift som ofta är nödvändig att utföra, oavsett om det gäller presentationer, videodelning eller online-möten. Oavsett anledningen till att du spelar in ditt skrivbord, skulle du vanligtvis behöva köra någon form av programvara för att göra det. Till skillnad från dyra alternativ kan ffmpeg göra detta åt dig gratis!

ffmpeg -f gdigrab -framerate 30 -i desktop -c: v libx264 output_file.mp4 -f dshow -i audio = "Stereomix (Realtek Audio)" output_file.mp4

I ovanstående kommando representerar -f-taggen formatet på videoinspelningen på din skärm. Efter ljudvärdet lägger du in din ljudkälla.

Dessutom kommer följande kod endast att ta tag i videon från skärminspelningen utan att något ljud har lagts till:

ffmpeg -f gdigrab -framerate 30 -i desktop -c: v libx264 -qp 0 output.mp4

Slutsats

Sammantaget är ffmpeg ett extremt användbart program som låter dig åstadkomma en hel del saker i en enda kodrad. Du kan köpa dyra verktyg online för att uppfylla dina redigeringsbehov, eller så kan du prova dessa funktioner gratis genom att installera ffmpeg-verktyget.

Bästa Linux Distros för spel 2021
Linux-operativsystemet har kommit långt från sitt ursprungliga, enkla, serverbaserade utseende. Detta operativsystem har förbättrats enormt de senaste...
Hur du fångar och strömmar din spelsession på Linux
Tidigare betraktades spel bara som en hobby, men med tiden såg spelindustrin en enorm tillväxt när det gäller teknik och antalet spelare. Spelpubliken...
Bästa spel att spela med handspårning
Oculus Quest introducerade nyligen den fantastiska idén om handspårning utan kontroller. Med ett ständigt ökande antal spel och aktiviteter som utför ...