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 ffmpegDe 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.mp4Du 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.webmFotokonvertering
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.pngPakk 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.jpgI 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.jpgPå 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.jpgI 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.jpgDenne 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.mp4Etter å 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.mp3I 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.mp4For eksempel:
ffmpeg -i video.mp4-filter: v "crop = w = 550: h = 200: x = 100: y = 200" output_file.mp4Som et eksempel tok jeg mitt eget bilde og prøvde å beskjære det med følgende kode:
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.mp4I 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.mp4Alternativt kan du også gjøre følgende:
ffmpeg -i video.mp4 -vf skala = "iw / 1: ih / 2" utdatafil.mp4Her 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.mp3I 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.mp4I 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.mp4Konklusjon
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.