Ubuntu

Hoe video's te converteren met FFMPEG in Ubuntu

Hoe video's te converteren met FFMPEG in Ubuntu

In de moderne wereld, met YouTube en andere apps voor sociale media als de reguliere manier om digitale media te bekijken, is het uploaden van video's een gangbare praktijk geworden. Het is zelfs zo gewoon geworden dat het maken en bewerken van audio- en videobestanden in slechts enkele decennia de nieuwe norm is geworden. Er zijn natuurlijk dure tools die je kunt kopen om aan je behoeften te voldoen, maar wat als we dit gratis zouden kunnen doen?? Wat als een paar regels code bijna elke video-gerelateerde taak zouden kunnen doen die je nodig hebt??

Ffmpeg is een gratis en open-source tool voor het converteren, extraheren en bewerken van video's die een antwoord biedt op deze vraag! Wat kan ffmpeg niet doen?? Bijna niets. De taken die kunnen worden uitgevoerd met behulp van ffmpeg omvatten conversie van audiobestanden, conversie van videobestanden, fotoconversie, extractie van afbeeldingsbestanden uit videobestanden, genereren van video's uit afbeeldingsbestanden, extraheren van audio uit video, bijsnijden van video's en foto's, - het formaat van video's, het verhogen van het volume en het maken van schermopnamen.

FFmpeg installeren in Ubuntu

Ffmpeg is niet standaard voorgeïnstalleerd in Ubuntu, dus u moet dit programma eerst installeren om het te gebruiken. Om de installatie te voltooien, moet u de rootgebruiker zijn. Typ vervolgens het volgende om FFmpeg te installeren:

sudo apt-get install ffmpeg

De apt-get install commando werkt voor alle versies van Ubuntu behalve 14.04.

Audioconversie

Het converteren van het bestandstype van een audiobestand kan worden uitgevoerd in een enkele regel code met behulp van het hulpprogramma ffmpeg. In dit geval hoeft u slechts twee parameters door te geven: de naam van het originele bestand en de naam van het nieuwe bestand. Met deze opdracht kunt u elk bestandsformaat naar een ander bestandsformaat converteren door de bestandstypen automatisch op naam te detecteren. Als zodanig is er geen extra code nodig om de bestandstypen te specificeren.

ffmpeg -i origineel_bestand.mp3 geconverteerd_bestand.mp4

U kunt uw eigen bestandsnamen en typen aan deze regel code toevoegen. Dit is alleen de basissyntaxis voor gebruik.

Videoconversie

U kunt videobestandstypen ook converteren met ffmpeg. Bij het invoeren van de opdracht heb je alleen de naam van het originele bestand en de naam van het uitvoerbestand nodig. De -i tag geeft het invoerbestand aan.

ffmpeg -i origineel_bestand.mp4 geconverteerd_bestand.webm

Fotoconversie

Wat voor video- en audiobestanden geldt, geldt ook voor afbeeldingsbestanden. U kunt met ffmpeg snel en eenvoudig het ene fotoformaat naar een ander formaat converteren door simpelweg de onderstaande syntaxis te gebruiken:

ffmpeg -i origineel_bestand.jpg geconverteerd_bestand.png

Afbeelding uit videobestand extraheren

Ffmpeg kan ook worden gebruikt om afbeeldingen uit videobestanden te extraheren. Met andere woorden, dit programma kan op precieze tijden tijdens een video schermafbeeldingen maken en de schermafbeeldingen opslaan als een verzameling afbeeldingsbestanden. Bijvoorbeeld:

ffmpeg -i video.mp4 uitvoer_bestand.jpg

In dit geval geeft de tag -i het videobestand weer waaruit de afbeeldingsbestanden zullen worden geëxtraheerd. We hebben het programma echter nog steeds geen specificaties gegeven met betrekking tot de beeldkwaliteit of screenshot-timing. Het is dus nodig om deze details eerst op te geven voordat u de code invoert.

Als we het volgende schrijven:

ffmpeg -i video.mp4 output_file%d.jpg

De %d-waarde die volgt op de naam van het uitvoerbestand vertegenwoordigt een variabele die u kunt aanpassen aan het aantal frames per seconde dat u uit de video wilt genereren. Wanneer de afbeeldingen worden gegenereerd met één frame per seconde, krijgt elke foto het label output_file1.jpg; met twee frames per seconde, output_file2.jpg; met drie frames per seconde, output_file3.jpg; enz. Als de film 35 frames per seconde heeft en één seconde lang is, dan levert het geven van de %d variabele een waarde van 1 35 foto's op.

Wat als we vervolgens de afbeeldingen willen vastleggen met een bepaalde snelheid van frames per seconde?? De fps-waarde definieert dit in de ffmpeg-syntaxis. Om 1 frame per seconde vast te leggen, stelt u de fps-waarde gelijk aan 1.

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

Evenzo, door de fps-waarde op 1/6000 te definiëren, genereert de volgende opdracht 1 afbeelding per 6000 seconden video:

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

In de bovenstaande opdracht genereert de term %6d een variabele met zes cijfers. De uitvoerbestanden worden als volgt gelabeld: output_file000001.jpg, output_file000002.jpg, enz.

Stel nu dat u niet alle frames wilt vastleggen. In plaats daarvan wilt u selectiever zijn en een vast aantal afbeeldingen vastleggen tussen twee tijdframes. Dan ziet de syntaxis er ongeveer zo uit:

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

Deze code legt beelden vast, beginnend om 00:00:01, gedurende 4 seconden. Met andere woorden, het vastleggen van afbeeldingen begint om 00:00:01 en eindigt om 00:00:05 in de video. Zoals gewoonlijk heeft het nummer in de naam van het uitvoerbestand drie cijfers (i.e., output_file001.jpg, output_file002.jpg, enz.).

Genereer video van afbeeldingsbestanden

Wat als je net het tegenovergestelde wilt doen en afbeeldingen wilt samenvoegen tot een video?? Ffmpeg komt weer te hulp!

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

Na het lezen van de vorige secties, weet je nu wat de term img%03.png staat voor - de bronafbeeldingsbestanden die in de video moeten worden gecompileerd. In deze syntaxis vertegenwoordigt de -c:v-tag de codec voor de video, fps vertegenwoordigt de waarde voor frames per seconde en r vertegenwoordigt de framesnelheid van de uitvoervideo.

Audio extraheren uit video

Hoe zit het met het extraheren van audiobestanden uit een videobestand?? Er zijn tools op internet die u kunt gebruiken om deze taak uit te voeren, maar met ffmpeg kan één regel code het werk net zo goed doen.

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

In de bovenstaande syntaxis, video.mp4 is het invoervideobestand en uitvoerbestand.mp3 is het uitvoeraudiobestand. De -map a tag neemt de standaard audiostream en sluit alle ondertitels uit, c:a specificeert de codec voor de audio die moet worden gebruikt, en q:a definieert een variabele bitrate voor de audio.

Als u slechts een deel van het audiobestand uit een videobestand wilt halen, kunt u de volgende syntaxis gebruiken om dit te doen. In de volgende code wordt alleen het gedeelte met audio tussen 00:00:08 en 00:00:10 geëxtraheerd:

ffmpeg -i video.mp4 -ss 00:00:08 -t 00:00:10 -q:a 0 -c:a libmp3lame -q:a 0 -map een uitvoerbestand.mp3

Uiteraard zijn er nog veel meer details die u kunt toevoegen, als u dat wilt, maar het bovenstaande voorbeeld is een goed startpunt.

Video's en foto's bijsnijden

Wat als je video's wilt bijsnijden?? U kunt ofwel de tijd en het geld nemen om elders bijsnijdsoftware te vinden, of u kunt één regel code gebruiken met ffmpeg om de video op maat bij te snijden.

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

Bijvoorbeeld:

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

Als voorbeeld nam ik mijn eigen foto en probeerde deze bij te snijden met de volgende code:

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

Video's inkorten

Het trimmen van videobestanden vereist het knippen van de ene specifieke tijd naar een andere specifieke tijd. Als u bijvoorbeeld een videobestand in twee of drie segmenten knipt, wordt het bijgesneden. Nogmaals, het trimmen van video- of audiobestanden kan eenvoudig worden gedaan met ffmpeg.

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

In dit geval staat de tag -ss voor start zoeken, of het tijdstip waarop het trimproces moet beginnen. In het bovenstaande commando beginnen we met knippen of trimmen om 00:00:20. De t-tag staat voor de duur van de clip. Hier is de duur van de geknipte clip 10 seconden. Ten slotte is de c:v-tag voor de codec van de gebruikte video, terwijl c:a voor de gebruikte audiocodec is.

Formaat video wijzigen

Het formaat van video's wijzigen is net zo eenvoudig als het bijsnijden en bijsnijden van video's.

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

Als alternatief kunt u ook het volgende doen:

ffmpeg -i video.mp4 -vf scale = "iw/1:ih/2" uitvoerbestand.mp4

Hier definieert de waarde iw de invoerbreedte, terwijl ih de invoerhoogte definieert. De laatste zal het ook schalen.

Volume van video verhogen

In dit artikel hebt u gezien hoe u video- en afbeeldingsbestanden kunt bijsnijden, bijsnijden en converteren, maar hoe zit het met het verhogen van het volume van audio- en videobestanden??

ffmpeg -i video.mp3 -filter:a “volume=2” output_file.mp3

In het laatste geval vragen we ffmpeg nederig om het volume van het bestand te verdubbelen.

Schermopname maken

Het opnemen van uw scherm is een taak die vaak nodig is om uit te voeren, of het nu gaat om presentaties, het delen van video's of online vergaderingen. Wat de reden ook is om uw bureaublad op te nemen, normaal gesproken zou u hiervoor een soort software moeten gebruiken. In tegenstelling tot dure alternatieven kan ffmpeg dit gratis voor je doen!

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

In het bovenstaande commando vertegenwoordigt de -f tag het formaat van de video-opname van je scherm. Na de audiowaarde zet je je audiobron in.

Bovendien pakt de volgende code alleen de video van de schermopname, zonder dat er geluid wordt toegevoegd:

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

Conclusie

Over het algemeen is ffmpeg een buitengewoon handig programma waarmee je heel veel dingen kunt bereiken in een enkele regel code. U kunt online dure tools kopen om aan uw bewerkingsbehoeften te voldoen, of u kunt deze functies gratis uitproberen door het hulpprogramma ffmpeg te installeren.

Hoe Xdotool te gebruiken om muisklikken en toetsaanslagen in Linux te stimuleren
Xdotool is een gratis en open source opdrachtregelprogramma voor het simuleren van muisklikken en toetsaanslagen. Dit artikel behandelt een korte hand...
Top 5 ergonomische computermuisproducten voor Linux
Veroorzaakt langdurig computergebruik pijn in uw pols of vingers?? Heb je last van stijve gewrichten en moet je constant de hand schudden?? Voelt u ee...
Hoe de muis- en touchpad-instellingen te wijzigen met Xinput in Linux
De meeste Linux-distributies worden standaard geleverd met de bibliotheek "libinput" om invoergebeurtenissen op een systeem af te handelen. Het kan in...