Ubuntu

Hvordan konvertere videoer ved hjelp av FFMPEG i Ubuntu

Hvordan konvertere videoer ved hjelp av FFMPEG i Ubuntu

I den moderne verden, med YouTube og andre sosiale medier-apper som den vanlige måten å se digitale medier på, har opplasting av videoer blitt en vanlig praksis. Det har faktisk blitt så vanlig at det å opprette og redigere lyd- og videofiler har blitt den nye normalen i løpet av bare noen få tiår. Det er åpenbart dyre verktøy der ute som man kan kjøpe for å oppfylle ens behov, men hva om vi kunne gjort dette gratis? Hva om noen få kodelinjer kan gjøre nesten hvilken som helst videorelatert oppgave du trenger?

Ffmpeg er et gratis verktøy for videokonvertering, utvinning og redigering med åpen kildekode som gir svar på dette spørsmålet! Hva kan ffmpeg ikke gjøre? Nesten ingenting. Oppgavene som kan utføres ved hjelp av ffmpeg inkluderer konvertering av lydfil, konvertering av videofiler, konvertering av bilder, ekstraksjon av bildefiler fra videofiler, generering av videoer fra bildefiler, utpakking av lyd fra video, beskjæring av videoer og bilder, beskjæring av videoer, re -størrelse på videoer, øke volumet og lage skjermopptak.

Installere FFmpeg i Ubuntu

Ffmpeg kommer ikke forhåndsinstallert i Ubuntu som standard, så du må først installere dette programmet for å bruke det. For å fullføre installasjonen, må du være rotbruker. Deretter skriver du inn følgende for å installere FFmpeg:

sudo apt-get install ffmpeg

De apt-get install kommandoen fungerer for alle versjoner av Ubuntu unntatt 14.04.

Lydkonvertering

Konvertering av en lydfils filtype kan utføres i en enkelt kodelinje ved hjelp av ffmpeg-verktøyet. I dette tilfellet trenger du bare å sende inn to parametere: navnet på den opprinnelige filen og navnet på den nye filen. Denne kommandoen lar deg konvertere et hvilket som helst filformat til et annet filformat ved automatisk å oppdage filtypene etter navn. Som sådan er det ikke behov for ekstra kode for å spesifisere filtypene.

ffmpeg -i originalfil.mp3 konvertert_fil.mp4

Du kan legge til dine egne filnavn og -typer til denne kodelinjen. Dette er bare den grunnleggende syntaksen for bruk.

Videokonvertering

Du kan også konvertere videofiltyper ved hjelp av ffmpeg. Når du skriver inn kommandoen, er alt du trenger navnet på den opprinnelige filen og navnet på utdatafilen. -I-koden betegner inndatafilen.

ffmpeg -i originalfil.mp4 convert_file.webm

Fotokonvertering

Det som gjelder for video- og lydfiler, gjelder også bildefiler. Du kan konvertere ett bildeformat til et annet format raskt og enkelt med ffmpeg ganske enkelt ved å bruke syntaksen vist nedenfor:

ffmpeg -i originalfil.jpg convert_file.png

Pakk ut bildet fra videofilen

Ffmpeg kan også brukes til å trekke ut bilder fra videofiler. Dette programmet kan med andre ord ta skjermbilder på presise tider i løpet av en video og lagre skjermbildene som en samling bildefiler. For eksempel:

ffmpeg -i video.mp4 utdatafil.jpg

I dette tilfellet viser -i-koden videofilen som bildefilen (e) skal ekstraheres fra. Imidlertid har vi fortsatt ikke gitt programmet noen spesifikasjoner med hensyn til bildekvalitet eller skjermtid. Så det er først nødvendig å spesifisere disse detaljene før du skriver inn koden.

Hvis vi skriver følgende:

ffmpeg -i video.mp4 utdatafil% d.jpg

% D-verdien etter navnet på utdatafilen representerer en variabel som du kan tilpasse i henhold til antall bilder per sekund du vil generere fra videoen. Når bildene genereres med en ramme per sekund, blir hvert bilde merket output_file1.jpg; med to bilder per sekund, output_file2.jpg; med tre bilder per sekund, output_file3.jpg; etc. Hvis filmen har 35 bilder per sekund, og den er ett sekund lang, vil det å gi% d-variabelen en verdi på 1 generere 35 bilder.

Neste, hva om vi vil ta bilder med en viss ramme per sekund? Fps-verdien definerer dette i ffmpeg-syntaksen. For å fange 1 ramme per sekund, vil du sette fps-verdien lik 1.

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

På samme måte, ved å definere fps-verdien til 1/6000, genererer følgende kommando 1 bilde per 6000 sekunders video:

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

I kommandoen ovenfor vil begrepet% 6d generere en variabel med seks sifre. Utdatafilene merkes som følger: output_file000001.jpg, output_file000002.jpg, osv.

Anta nå at du ikke vil fange alle rammene. I stedet vil du være mer selektiv og ønsker å ta et bestemt antall bilder mellom to tidsrammer. Så ville syntaksen se ut slik:

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

Denne koden tar bilder fra og med 00:00:01 i 4 sekunder. Med andre ord starter bildefotograferingen kl 00:00:01 og slutter kl 00:00:05 i videoen. Som vanlig vil tallet i navnet på utdatafilen ha tre sifre (i.e., utdatafil001.jpg, output_file002.jpg, osv.).

Generer video fra bildefiler

Hva om du vil gjøre det motsatte og sette bilder sammen for å danne en video? Ffmpeg kommer til unnsetning igjen!

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

Etter å ha lest de forrige avsnittene, vet du nå hva begrepet img% 03.png står for - kildebildefilene som skal kompileres til videoen. I denne syntaksen representerer -c: v-koden kodeken for videoen, fps representerer rammen per sekundverdi, og r representerer rammeverket for utgangsvideoen.

Pakk ut lyd fra video

Hva med å trekke ut lydfiler fra en videofil? Det finnes verktøy på nettet som du kan bruke til å utføre denne oppgaven, men med ffmpeg kan en linje med kode gjøre jobben like bra.

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

I ovennevnte syntaks, video.mp4 er inngangsvideofilen og utdatafilen.mp3 er den utgående lydfilen. -Kartet en tag tar standard lydstrøm og ekskluderer eventuelle undertekster, c: a spesifiserer kodeken for lyden som skal brukes, og q: a definerer en variabel bithastighet for lyden.

Hvis du bare vil trekke ut en del av lydfilen fra en videofil, kan du bruke følgende syntaks til å gjøre det. I den følgende koden blir bare lydseksjonen fra 00:00:08 og 00:00:10 ekstrahert:

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

Åpenbart er det mange flere detaljer du kan legge til, hvis du ønsker det, men eksemplet ovenfor er et flott utgangspunkt.

Beskjær videoer og bilder

Hva om du vil beskjære videoer? Du kan enten ta deg tid og penger til å finne beskjæringsprogramvare andre steder, eller du kan bruke en kodelinje med ffmpeg for å beskjære videoen i størrelse.

ffmpeg -i video.mp4 -filter: v "crop = w = width: h = height: x: y" output_file.mp4

For eksempel:

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

Som et eksempel tok jeg mitt eget bilde og prøvde å beskjære det med følgende kode:

ffmpeg -i håndlangere.jpg -filter: v "crop = w = 500: h = 200" ut.jpg

Trim videoer

Trimming av videofiler krever at du kutter dem fra en bestemt tid til en annen spesifikk tid. Hvis du for eksempel kutter en videofil i to eller tre segmenter, vil du trimme den. Nok en gang kan det enkelt gjøres trimming av video- eller lydfiler ved hjelp av ffmpeg.

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

I dette tilfellet står -ss-koden for å begynne å søke, eller når klippingsprosessen skal startes. I kommandoen ovenfor begynner vi å klippe eller trimme klokken 00:00:20. T-koden står for varigheten av klippet. Her vil varigheten på klippklippet være 10 sekunder. Til slutt er c: v-koden for kodeken til videoen som brukes, mens c: a er for lydkodeken som brukes.

Endre størrelse på video

Å endre størrelse på videoer er like enkelt som å trimme og beskjære videoer.

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

Alternativt kan du også gjøre følgende:

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

Her definerer verdien iw inngangsbredde, mens ih definerer inngangshøyde. Sistnevnte vil også skalere det.

Øk volumet av videoen

I denne artikkelen har du sett hvordan du kan beskjære, trimme og konvertere video- og bildefiler, men hva med å øke volumet på lyd- og videofiler?

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

I sistnevnte tilfelle ber vi ydmykt ffmpeg om å doble filvolumet.

Lag skjermopptak

Å ta opp skjermen er en oppgave som ofte er nødvendig å utføre, enten det er for presentasjoner, videodeling eller online møter. Uansett årsaken til opptak av skrivebordet ditt, må du vanligvis kjøre en slags programvare for å gjøre det. I motsetning til kostbare alternativer, kan ffmpeg gjøre dette for deg 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 kommandoen ovenfor representerer -f-koden formatet for videoopptaket på skjermen. Etter lydverdien vil du sette inn lydkilden din.

I tillegg vil følgende kode bare hente videoen fra skjermopptaket, uten at lyd er lagt til:

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

Konklusjon

Samlet sett er ffmpeg et ekstremt nyttig program som lar deg oppnå ganske mange ting i en enkelt kodelinje. Du kan kjøpe dyre verktøy online for å oppfylle dine redigeringsbehov, eller du kan prøve disse funksjonene gratis ved å installere ffmpeg-verktøyet.

Beste Gamepad Mapping Apps for Linux
Hvis du liker å spille spill på Linux med en gamepad i stedet for et vanlig tastatur- og musinngangssystem, er det noen nyttige apper for deg. Mange P...
Nyttige verktøy for Linux-spillere
Hvis du liker å spille spill på Linux, er sjansen stor for at du har brukt apper og verktøy som Wine, Lutris og OBS Studio for å forbedre spilloppleve...
HD Remastered Games for Linux som aldri hadde en Linux-utgave tidligere
Mange spillutviklere og utgivere kommer med HD-remaster av gamle spill for å forlenge franchisetiden, vennligst fans som ber om kompatibilitet med mod...