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 mainstream -måten å se digitale medier, har lasting av videoer blitt en vanlig praksis. Det har faktisk blitt så vanlig at å lage 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 gjøre dette gratis? Hva om noen få kodelinjer kan gjøre nesten enhver videorelatert oppgave du trenger?

FFMPEG er en gratis og åpen kildekode-konvertering, utvinning og redigeringsverktøy som gir et svar på dette spørsmålet! Hva kan ikke gjøre FFMPEG? Nesten ingenting. Oppgavene som kan utføres ved hjelp av FFMPEG inkluderer konvertering av lydfil, videofilkonvertering, fotokonvertering, bildefilutvinning fra videofiler, generering av videoer fra bildefiler, trekke ut lyd fra video, beskjære videoer og bilder, trimming videoer, re -Sing av 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 rotbrukeren. Neste, skriv inn følgende for å installere FFMPEG:

sudo apt-get install ffmpeg

De APT-Få install Kommandoen fungerer for alle versjoner av Ubuntu unntatt 14.04.

Lydkonvertering

Konvertere en lydfils filetype kan utføres i en enkelt kodeinje ved hjelp av FFMPEG -verktøyet. I dette tilfellet trenger du bare å passere to parametere: navnet på den opprinnelige filen og navnet på den nye filen. Denne kommandoen lar deg konvertere ethvert filformat til et hvilket som helst annet filformat ved automatisk å oppdage filtypene med navn. Som sådan er det ikke behov for tilleggskode for å spesifisere filtypene.

ffmpeg -i originial_file.mp3 konvertert_file.MP4

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

Videokonvertering

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

ffmpeg -i original_file.MP4 konvertert_file.WebM

Fotokonvertering

Hva som er sant for video- og lydfiler gjelder også for bildefiler. Du kan konvertere ett bildeformat til et annet format raskt og enkelt med FFMPEG bare ved å bruke syntaks vist nedenfor:

ffmpeg -i original_file.jpg konvertert_file.png

Pakk ut bilde fra videofilen

FFMPEG kan også brukes til å hente ut bilder fra videofiler. Dette programmet kan med andre ord ta skjermbilder til presise tider under en video og lagre skjermbildene som en samling av bildefiler. For eksempel:

ffmpeg -i video.mp4 output_file.jpg

I dette tilfellet viser -i -taggen videofilen som bildefilen (e) blir trukket ut. Vi har imidlertid fortsatt ikke gitt programmet noen spesifikasjoner for bildekvaliteten eller skjermbildetids timing. Så det er først nødvendig å spesifisere disse detaljene før du legger inn koden.

Hvis vi skriver følgende:

ffmpeg -i video.mp4 output_file%d.jpg

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

Neste, hva om vi vil fange bildene med en viss ramme per sekund? FPS -verdien definerer dette i FFMPEG -syntaks. For å fange 1 ramme per sekund, vil du angi FPS -verdien lik 1.

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

På samme måte, ved å definere FPS -verdien til 1/6000, vil følgende kommando generere 1 bilde per 6000 sekunder 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. Utgangsfilene vil bli merket som følger: output_file000001.jpg, output_file000002.JPG, etc.

Anta 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. Deretter ville syntaksen se ut som dette:

FFMPEG -SS 00:00:01 -T 00:00:04 -Jeg Video.mp4 output_file%3d.jpg

Denne koden vil ta bilder, fra 00:00:01, i 4 sekunder. Med andre ord, bildetfanging starter 00:00:01 og slutter 00:00:05 i videoen. Som vanlig vil nummeret i navnet på utgangsfilen ha tre sifre (i.e., output_file001.jpg, output_file002.JPG, etc.).

Generere video fra bildefiler

Hva om du vil gjøre akkurat det motsatte og sette sammen bilder 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 foregående seksjonene, vet du nå hva begrepet IMG%03.PNG står for - kildebildet filer som skal kompilere i videoen. I denne syntaksen representerer -c: V -taggen kodeken for videoen, FPS representerer rammene per sekundverdi, og R representerer rammen til utgangsvideoen.

Pakk ut lyd fra video

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

ffmpeg -i video.MP4 -C: A libmp3Lame -Q: A 0 -Map A output_file.mp3

I syntaks ovenfor, video.MP4 er inngangsvideofilen og output_file.mp3 er output lydfilen. -Kartet en tagg tar standard lydstrøm og ekskluderer eventuelle undertekster, C: En spesifiserer kodeken for lyden som skal brukes, og Q: en definerer en variabel bitrate for lyden.

Hvis du bare vil trekke ut en del av lydfilen fra en videofil, kan du bruke følgende syntaks for å gjøre det. I den følgende koden er det bare delen av lyd mellom 00:00:08 og 00:00:10 som er trukket ut:

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

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

Avlingsvideoer 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 til størrelse.

ffmpeg -i video.mp4 -filter: v "avling = w = bredde: h = høyde: x: y" output_file.MP4

For eksempel:

ffmpeg -i video.mp4 -filter: v "avling = 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 photo44.jpg -filter: v "avling = w = 500: h = 200" ut.jpg

Trim videoer

Trimming av videofiler krever å kutte dem fra et bestemt tidspunkt til en annen spesifikk tid. For eksempel vil det å kutte en videofil i to eller tre segmenter trimme den. Nok en gang kan trimming av video- eller lydfiler enkelt gjøres 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 -taggen for å begynne å søke, eller tidspunktet for å begynne med trimmingsprosessen. I kommandoen ovenfor vil vi begynne å kutte eller trimme på 00:00:20. T -taggen står for klippets varighet. Her vil varigheten av kuttklippet være 10 sekunder. Endelig er C: V -taggen 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 trimming 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" output_file.MP4

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

Boost volum av video

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

ffmpeg -i video.mp3 -filter: et “volum = 2” output_file.mp3

I sistnevnte tilfelle ber vi ydmykt FFMPEG om å doble volumet av filen.

Lag skjermopptak

Innspilling av skjermen er en oppgave som ofte er nødvendig å utføre, enten det er for presentasjoner, videodeling eller online møter. Uansett årsak til å spille inn 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 = "Stereo Mix (Realtek Audio)" output_file.MP4

I kommandoen ovenfor representerer -f -taggen formatet til videoopptaket av skjermen. Etter lydverdien vil du legge inn lydkilden din.

I tillegg vil følgende kode bare ta videoen av skjermopptaket, uten noe lyd lagt til:

FFMPEG -F GDIGRAB -Framerate 30 -I Desktop -C: V Libx264 -Qp 0 Output.MP4

Konklusjon

Totalt 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.