Ubuntu

Sådan konverteres videoer ved hjælp af FFMPEG i Ubuntu

Sådan konverteres videoer ved hjælp af FFMPEG i Ubuntu

I den moderne verden med YouTube og andre sociale medie-apps som den almindelige måde at se digitale medier på er upload af videoer blevet en almindelig praksis. Det er faktisk blevet så almindeligt, at oprettelse og redigering af lyd- og videofiler er blevet den nye normale i løbet af få årtier. Der er tydeligvis dyre værktøjer derude, som man kan købe for at opfylde ens behov, men hvad hvis vi kunne gøre dette gratis? Hvad hvis et par kodelinjer kunne udføre næsten enhver videorelateret opgave, som du har brug for?

Ffmpeg er et gratis og open source-videokonvertering-, ekstraktions- og redigeringsværktøj, der giver et svar på dette spørgsmål! Hvad kan ffmpeg ikke gøre? Næsten ingenting. De opgaver, der kan udføres ved hjælp af ffmpeg inkluderer konvertering af lydfil, konvertering af videofiler, konvertering af fotos, ekstraktion af billedfiler fra videofiler, generering af videoer fra billedfiler, udpakning af lyd fra video, beskæring af videoer og fotos, beskæring af videoer, genoprettelse -størrelse af videoer, boost af lydstyrke og oprettelse af skærmoptagelser.

Installation af FFmpeg i Ubuntu

Ffmpeg kommer ikke forudinstalleret i Ubuntu som standard, så du bliver først nødt til at installere dette program for at bruge det. For at fuldføre installationen skal du være rodbruger. Skriv derefter følgende for at installere FFmpeg:

sudo apt-get install ffmpeg

Det apt-get installation kommandoen fungerer for alle versioner af Ubuntu undtagen 14.04.

Audiokonvertering

Konvertering af en lydfils filtype kan udføres i en enkelt kodelinje ved hjælp af ffmpeg-værktøjet. I dette tilfælde skal du kun videregive to parametre: navnet på den originale fil og navnet på den nye fil. Denne kommando giver dig mulighed for at konvertere ethvert filformat til ethvert andet filformat ved automatisk at registrere filtyperne ved navn. Som sådan er der ikke behov for yderligere kode for at specificere filtyperne.

ffmpeg -i originalfil.mp3 konverteret_fil.mp4

Du kan tilføje dine egne filnavne og -typer til denne kodelinje. Dette er kun den basale syntaks til brug.

Videokonvertering

Du kan også konvertere videofiltyper ved hjælp af ffmpeg. Når du indtaster kommandoen, er alt hvad du behøver, navnet på den originale fil og navnet på outputfilen. -I-koden angiver inputfilen.

ffmpeg -i original_fil.mp4 konverteret_fil.webm

Fotokonvertering

Hvad der gælder for video- og lydfiler gælder også for billedfiler. Du kan konvertere et fotoformat til et andet format hurtigt og nemt med ffmpeg ved blot at bruge syntaksen vist nedenfor:

ffmpeg -i original_fil.jpg konverteret_fil.png

Uddrag billede fra videofilen

Ffmpeg kan også bruges til at udtrække billeder fra videofiler. Med andre ord kan dette program tage skærmbilleder på præcise tidspunkter under en video og gemme skærmbillederne som en samling billedfiler. For eksempel:

ffmpeg -i video.mp4 output_file.jpg

I dette tilfælde viser -i-koden den videofil, hvorfra billedfil (erne) skal ekstraheres. Vi har dog stadig ikke givet programmet nogen specifikationer med hensyn til billedkvalitet eller skærmtiming. Så det er først nødvendigt at specificere disse detaljer, inden du indtaster koden.

Hvis vi skriver følgende:

ffmpeg -i video.mp4 output_file% d.jpg

% D-værdien efter navnet på outputfilen repræsenterer en variabel, som du kan tilpasse i henhold til antallet af billeder pr. Sekund, du gerne vil generere ud fra videoen. Når billederne genereres med en ramme pr. Sekund, mærkes hvert foto output_file1.jpg; med to billeder pr. sekund, output_file2.jpg; med tre billeder pr. sekund, output_file3.jpg; etc. Hvis filmen har 35 billeder pr. Sekund, og den er et sekund lang, genererer 35 d variablen en værdi på 1 35 billeder.

Derefter, hvad hvis vi vil tage billederne med en bestemt frekvens pr. Sekund? Fps-værdien definerer dette i ffmpeg-syntaksen. For at fange 1 ramme pr. Sekund, indstiller du fps-værdien lig med 1.

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

Ved at definere fps-værdien til 1/6000 genererer følgende kommando ligeledes 1 billede pr. 6.000 sekunders video:

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

I ovenstående kommando genererer udtrykket% 6d en variabel med seks cifre. Outputfilerne mærkes som følger: output_file000001.jpg, output_file000002.jpg osv.

Antag nu, at du ikke vil fange alle rammerne. I stedet for vil du være mere selektiv og ønsker at fange et bestemt antal billeder mellem to tidsrammer. Derefter ville syntaksen se sådan ud:

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

Denne kode optager billeder fra kl. 00:00:01 i 4 sekunder. Med andre ord starter billedoptagelsen kl. 00:00:01 og slutter kl. 00:00 i videoen. Som normalt vil nummeret i outputfilens navn have tre cifre (i.e., output_fil001.jpg, output_file002.jpg osv.).

Generer video fra billedfiler

Hvad hvis du vil gøre det modsatte og sætte billeder sammen for at danne en video? Ffmpeg kommer endnu en gang til undsætning!

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

Efter at have læst de foregående sektioner ved du nu, hvad udtrykket img% 03 er.png står for - kildebilledfiler, der skal kompileres til videoen. I denne syntaks repræsenterer -c: v-koden kodeken for videoen, fps repræsenterer værdierne pr. Sekund og r repræsenterer billedraten for outputvideoen.

Uddrag lyd fra video

Hvad med at udtrække lydfiler fra en videofil? Der er værktøjer på internettet, som du kan bruge til at udføre denne opgave, men med ffmpeg kan en linje kode gøre jobbet lige så godt.

ffmpeg -i video.mp4 -c: en libmp3lame -q: en 0-kort en output_file.mp3

I ovenstående syntaks, video.mp4 er input-videofilen og output_file.mp3 er output-lydfilen. The -map et tag tager standardlydstrømmen og ekskluderer undertekster, c: a specificerer codec til den lyd, der skal bruges, og q: a definerer en variabel bithastighed for lyden.

Hvis du kun vil udtrække en del af lydfilen fra en videofil, kan du bruge følgende syntaks til at gøre det. I den følgende kode ekstraheres kun lydafsnittet fra mellem 00:00:08 og 00:00:10:

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

Der er åbenbart mange flere detaljer, du kan tilføje, hvis du ønsker det, men ovenstående eksempel er et godt udgangspunkt.

Beskær videoer og fotos

Hvad hvis du vil beskære videoer? Du kan enten bruge tid og penge på at finde beskæringssoftware andre steder, eller du kan bruge en linje kode med ffmpeg til at beskæ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 tog jeg mit eget billede og forsøgte at beskære det med følgende kode:

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

Trim videoer

Trimning af videofiler kræver, at du klipper dem fra et bestemt tidspunkt til et andet specifikt tidspunkt. For eksempel ville det være, at klippe en videofil i to eller tre segmenter. Endnu en gang kan beskæring af video- eller lydfiler let gøres ved hjælp af ffmpeg.

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

I dette tilfælde står -ss-taggen for start-søgning eller det tidspunkt, hvor trimningsprocessen skal påbegyndes. I ovenstående kommando begynder vi at klippe eller trimme kl. 00:00:20. T-koden står for klipets varighed. Her vil varigheden af ​​det klippede klip være 10 sekunder. Endelig er c: v-koden til kodeken for den anvendte video, mens c: a er til den anvendte lydkodek.

Tilpas størrelse på video

Ændring af størrelsen på videoer er lige så let som at trimme og beskære videoer.

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

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

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

Her definerer værdien iw inputbredde, mens ih definerer inputhøjde. Sidstnævnte skalerer det også.

Boost volumen af ​​video

I denne artikel har du set, hvordan du beskærer, trimmer og konverterer video- og billedfiler, men hvad med at øge lydstyrken på lyd- og videofiler?

ffmpeg -i video.mp3-filter: en "volume = 2" output_file.mp3

I sidstnævnte tilfælde beder vi ydmygt ffmpeg om at fordoble filens lydstyrke.

Opret skærmoptagelse

Optagelse af din skærm er en opgave, der ofte er nødvendig at udføre, hvad enten det er til præsentationer, videodeling eller online møder. Uanset årsagen til optagelse af dit skrivebord skal du typisk køre en slags software for at gøre det. I modsætning til dyre alternativer kan ffmpeg gøre dette gratis for dig!

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

I ovenstående kommando repræsenterer -f-tagget formatet på videooptagelsen på din skærm. Efter lydværdien anbringer du din lydkilde.

Derudover tager følgende kode kun fat i videoen af ​​skærmoptagelsen uden nogen lyd tilføjet:

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

Konklusion

Samlet set er ffmpeg et ekstremt nyttigt program, der giver dig mulighed for at udføre en hel del ting i en enkelt kodelinje. Du kan købe dyre værktøjer online for at opfylde dine redigeringsbehov, eller du kan prøve disse funktioner gratis ved at installere ffmpeg-værktøjet.

Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...