I den moderna världen, med YouTube och andra sociala medieappar som det vanliga sättet att se digitala medier, har uppladdning av videor blivit vanligt. Det har faktiskt blivit så vanligt att skapa och redigera ljud- och videofiler har blivit den nya normalen på bara några decennier. Det finns uppenbarligen dyra verktyg där ute som man kan köpa för att uppfylla sina behov, men tänk om vi skulle kunna göra detta gratis? Vad händer om några kodrader kan göra nästan alla videorelaterade uppgifter som du behöver?
Ffmpeg är ett gratis och öppen källkodsverktyg för videokonvertering, extrahering och redigering som ger svar på denna fråga! Vad kan ffmpeg inte göra? Nästan inget. De uppgifter som kan utföras med hjälp av ffmpeg inkluderar ljudfilkonvertering, videofilkonvertering, fotokonvertering, bildfilextraktion från videofiler, generera videor från bildfiler, extrahera ljud från video, beskära videor och foton, klippa videor, återskapa -storlek på videor, öka volymen och skapa skärminspelningar.
Installerar FFmpeg i Ubuntu
Ffmpeg är inte förinstallerat i Ubuntu som standard, så du måste först installera det här programmet för att kunna använda det. För att slutföra installationen måste du vara rotanvändare. Skriv sedan följande för att installera FFmpeg:
sudo apt-get install ffmpegDe apt-get install kommandot fungerar för alla versioner av Ubuntu utom 14.04.
Ljudkonvertering
Konvertering av en ljudfils filtyp kan utföras i en enda kodrad med hjälp av ffmpeg-verktyget. I det här fallet behöver du bara skicka två parametrar: namnet på den ursprungliga filen och namnet på den nya filen. Detta kommando låter dig konvertera vilket filformat som helst till något annat filformat genom att automatiskt upptäcka filtyperna efter namn. Som sådan finns det inget behov av ytterligare kod för att specificera filtyperna.
ffmpeg -i originalfil.mp3 konverterad_fil.mp4Du kan lägga till dina egna filnamn och typer i denna kodrad. Detta är bara den grundläggande syntaxen för användning.
Videokonvertering
Du kan också konvertera videofiltyper med ffmpeg. När du matar in kommandot är allt du behöver namnet på originalfilen och namnet på utdatafilen. Taggen -i betecknar inmatningsfilen.
ffmpeg -i originalfil.mp4 convert_file.webmFotokonvertering
Vad som gäller för video- och ljudfiler gäller också för bildfiler. Du kan konvertera ett fotoformat till ett annat format snabbt och enkelt med ffmpeg helt enkelt genom att använda syntaxen som visas nedan:
ffmpeg -i originalfil.jpg convert_file.pngExtrahera bilden från videofilen
Ffmpeg kan också användas för att extrahera bilder från videofiler. Med andra ord kan detta program ta skärmdumpar vid exakta tider under en video och spara skärmdumpar som en samling bildfiler. Till exempel:
ffmpeg -i video.mp4 utdatafil.jpgI det här fallet avbildar -i-taggen den videofil som bildfilerna ska extraheras från. Vi har emellertid fortfarande inte gett programmet några specifikationer angående bildkvalitet eller timing för skärmdump. Så det är först nödvändigt att specificera dessa detaljer innan du matar in koden.
Om vi skriver följande:
ffmpeg -i video.mp4 utdatafil% d.jpg% D-värdet efter namnet på utdatafilen representerar en variabel som du kan anpassa efter antalet bilder per sekund du vill generera från videon. När bilderna genereras med en bildruta per sekund märks varje foto som output_file1.jpg; med två bilder per sekund, output_file2.jpg; med tre bilder per sekund, output_file3.jpg; etc. Om filmen har 35 bilder per sekund och den är en sekund lång, kommer att ge% d-variabeln ett värde på 1 35 foton.
Nästa, vad händer om vi vill ta bilderna med en viss bildruta per sekund? Fps-värdet definierar detta i ffmpeg-syntaxen. För att fånga en bildruta per sekund ställer du in fps-värdet lika med 1.
ffmpeg -i video.mp4 -vf fps = 1 utdatafil% d.jpgPå samma sätt, genom att definiera fps-värdet till 1/6000, genererar följande kommando 1 bild per 6000 sekunders video:
ffmpeg -i video.mp4 -vf fps = 1/6000 output_file% 6d.jpgI kommandot ovan genererar termen% 6d en variabel med sex siffror. Utdatafilerna kommer att märkas enligt följande: output_file000001.jpg, utdatafil000002.jpg, etc.
Antag nu att du inte vill fånga alla ramar. Istället vill du vara mer selektiv och vill ta ett visst antal bilder mellan två tidsramar. Då skulle syntaxen se ut så här:
ffmpeg -ss 00:00:01 -t 00:00:04 -i video.mp4 utdatafil% 3d.jpgDen här koden kommer att ta bilder från och med 00:00:01 i 4 sekunder. Med andra ord börjar bildtagningen 00:00:01 och slutar 00:00:05 i videon. Som vanligt kommer siffran i utdatafilens namn att ha tre siffror (i.e., utdatafil001.jpg, output_file002.jpg, etc.).
Skapa video från bildfiler
Vad händer om du vill göra tvärtom och sätta ihop bilder för att skapa en video? Ffmpeg kommer till undsättning igen!
ffmpeg -r 1/5 -i img% 03d.png -c: v libx264 -vf fps = 25 -pix_fmt yuv420p output_file.mp4Efter att ha läst de föregående avsnitten vet du nu vad termen img% 03.png står för - källbildfilerna som ska kompileras till videon. I denna syntax representerar -c: v-taggen kodeken för videon, fps representerar ramarna per sekundvärde och r representerar bildfrekvensen för utgångsvideoen.
Extrahera ljud från video
Vad sägs om att extrahera ljudfiler från en videofil? Det finns verktyg på webben som du kan använda för att utföra den här uppgiften, men med ffmpeg kan en rad kod göra jobbet lika bra.
ffmpeg -i video.mp4 -c: en libmp3lame -q: en 0 -mapp en utdatafil.mp3I ovanstående syntax, video.mp4 är ingångsvideofilen och utdatafilen.mp3 är den utgående ljudfilen. The -map en tag tar standardljudströmmen och utesluter alla undertexter, c: a anger kodeken för det ljud som ska användas, och q: a definierar en variabel bithastighet för ljudet.
Om du bara vill extrahera en del av ljudfilen från en videofil kan du använda följande syntax för att göra det. I följande kod extraheras endast ljudavsnittet från 00:00:08 till 00:00:10:
ffmpeg -i video.mp4 -ss 00:00:08 -t 00:00:10 -q: en 0 -c: en libmp3lame -q: en 0 -mapp en utdatafil.mp3Uppenbarligen finns det många fler detaljer du kan lägga till, om du vill, men ovanstående exempel är en bra utgångspunkt.
Beskär videor och foton
Vad händer om du vill beskära videor? Du kan antingen ta dig tid och pengar på att hitta beskärningsprogramvara någon annanstans, eller så kan du använda en kodrad med ffmpeg för att beskära videon i storlek.
ffmpeg -i video.mp4 -filter: v "crop = w = bredd: h = höjd: x: y" output_file.mp4Till exempel:
ffmpeg -i video.mp4-filter: v "crop = w = 550: h = 200: x = 100: y = 200" output_file.mp4Som ett exempel tog jag min egen bild och försökte beskära den med följande kod:
Trimma videor
Trimning av videofiler kräver att du skär dem från en viss tid till en annan specifik tid. Att klippa en videofil till exempel i två eller tre segment skulle till exempel klippa den. Återigen kan klippning av video- eller ljudfiler enkelt göras med ffmpeg.
ffmpeg -i video.mp4 -ss 00:00:20 -t 00:00:10 -c: v h264 -c: a aac output_file.mp4I det här fallet står -ss-taggen för att börja söka, eller den tidpunkt då trimningsprocessen ska påbörjas. I ovanstående kommando börjar vi klippa eller klippa klockan 00:00:20. T-taggen står för klippets längd. Här kommer klippklippets varaktighet att vara 10 sekunder. Slutligen är c: v-taggen för kodeken för den använda videon, medan c: a är för den ljudkodek som används.
Ändra storlek på video
Att ändra storlek på videor är lika enkelt som att klippa och beskära videor.
ffmpeg -i video.mp4 -vf-skala = 320: 240 utdatafil.mp4Alternativt kan du också göra följande:
ffmpeg -i video.mp4 -vf skala = "iw / 1: ih / 2" utdatafil.mp4Här definierar värdet iw inmatningsbredd, medan ih definierar inmatningshöjd. Den senare kommer också att skala den.
Öka volymen på video
I den här artikeln har du sett hur man beskär, trimma och konvertera video- och bildfiler, men hur är det med att öka volymen på ljud- och videofiler?
ffmpeg -i video.mp3-filter: en “volume = 2” utdatafil.mp3I det senare fallet ber vi ödmjukt ffmpeg att fördubbla filens volym.
Skapa skärminspelning
Att spela in din skärm är en uppgift som ofta är nödvändig att utföra, oavsett om det gäller presentationer, videodelning eller online-möten. Oavsett anledningen till att du spelar in ditt skrivbord, skulle du vanligtvis behöva köra någon form av programvara för att göra det. Till skillnad från dyra alternativ kan ffmpeg göra detta åt dig gratis!
ffmpeg -f gdigrab -framerate 30 -i desktop -c: v libx264 output_file.mp4 -f dshow -i audio = "Stereomix (Realtek Audio)" output_file.mp4I ovanstående kommando representerar -f-taggen formatet på videoinspelningen på din skärm. Efter ljudvärdet lägger du in din ljudkälla.
Dessutom kommer följande kod endast att ta tag i videon från skärminspelningen utan att något ljud har lagts till:
ffmpeg -f gdigrab -framerate 30 -i desktop -c: v libx264 -qp 0 output.mp4Slutsats
Sammantaget är ffmpeg ett extremt användbart program som låter dig åstadkomma en hel del saker i en enda kodrad. Du kan köpa dyra verktyg online för att uppfylla dina redigeringsbehov, eller så kan du prova dessa funktioner gratis genom att installera ffmpeg-verktyget.