Nästan alla som sysslar med videor kanske har hört talas om FFmpeg tidigare. För dem som inte är bekanta är FFmpeg ett gratis och öppen källkodsprogram som kan konvertera vilket videoformat som helst till ett annat och ändra dess codecs.
FFmpeg stöder nästan alla audio/video-codecs (H.264, H.265, VP8, VP9, AAC, OPUS och mer), fil format (MP4, FLV, MKV, TS, WEBM, MP3, etc.), och även streamingprotokoll (HTTP, RTMP, RTSP, HLS, etc.).
Så här kan du installera och använda FFmpeg för att bearbeta ljud- och videofiler på Linux.
FFmpeg-installation på Linux
FFmpeg är ett gratis och öppen källkodsverktyg som är tillgängligt i standardförråden för nästan alla större Linux-distributioner. Du kan också hämta dess källkod gratis om du vill kompilera det själv.
# Debian
sudo apt Installera ffmpeg# Fedora
sudo dnf Installera https://download1.rpmfusion.org/free/fedora/rpmfusion-free-släpp-$(rpm -E %fedora).noarch.rpm
sudo dnf -y Installera ffmpeg# RHEL/CentOS
mums Installera ffmpeg ffmpeg-devel
# Arch Linux
pacman -S ffmpeg
Om allt går bra under installationen bör du kunna se FFmpeg-versionen när du använder -version argument.
ffmpeg -version
Få videoinformation med FFmpeg
Det är möjligt att se informationen om en video som du vill redigera med FFmpeg med hjälp av -jag flagga:
ffmpeg-jagexempel-video.mp4-hide_banner
Här, den -hide_banner parameterns uppgift är att dölja onödig information. Du kan ta bort denna parameter och se skillnaden i utgången.
Som du ser går det att få mycket information såsom video-codec-typ, skapandedatum, metadata och kodarstruktur för exempelvideon.
Konvertera video- eller ljudfiler till ett annat format
En av de mest användbara funktionerna i FFmpeg är att den kan konvertera en video eller ett ljud till ett annat format. Du kan göra detta med enkla one-liners.
MOV till MP4 Med FFmpeg
Du kan konvertera din videofil i MOV-format till MP4 med FFmpeg med kommandot nedan:
ffmpeg-jaginput-mov-video.movoutput-video.mp4
Använd först -jag parameter, som står för ingångsvideo. Ange sedan filen du vill konvertera. Slutligen anger du formatet du vill konvertera det till. Du kan ge din produktion vilket namn du vill.
Medan FFmpeg körs, kommer den att visa dig ändringarna den har gjort på kommandoskärmen. Din utdatafil kommer att lagras i din nuvarande arbetskatalog.
WAV till MP3 med FFmpeg
I likhet med videor kan du göra samma konverteringar för ljudfiler. Till exempel kan du konvertera en WAV-ljudfil till MP3 enligt följande:
ffmpeg-jagexempel-wav.wav-vn-ar 48000 -ac 2 -b:a 256 produktion.mp3
Detta kommando har fler parametrar än videokonverteringsmetoden, men de är inte svåra att förstå. För att förklara dessa:
- -vn: Ibland har ljudfilerna du lyssnar på bilder. Dessa bilder kommer vanligtvis från videor. Om du inte vill ha sådana bilder i utgången kan du använda den här parametern.
- -ar: Denna parameter låter dig ställa in ljudfrekvensen för ljudfilen du vill konvertera. Du kan justera ljudkvaliteten och frekvensen med värden som 8kHz, 44,1kHz eller 48kHz.
- -ac: Du kanske har hört termerna mono och stereo förut. Denna parameter kan hjälpa dig att ställa in antalet ljudkanaler.
- -b: a: Denna parameter låter dig ställa in ljudets bithastighet per sekund. Ju högre kilobit, desto högre ljudkvalitet.
Ljudoperationer med FFmpeg
FFmpeg kan också separera ljud från videor. För detta är det tillräckligt att använda -vn parameter:
ffmpeg-jagexempel-video.mp4-vnproduktion.mp3
Om du lyckades separera ljudet från videon kan du nu försöka ta bort ljudet från videorna. Skillnaden här är -en parameter. Du bör ha denna parameter i åtanke om du vill inaktivera något ljud i en video:
ffmpeg-jagexempel-video.mp4-enoutput-mute.mp4
Videostorleksbearbetning med FFmpeg
Videostorlekar kan vara ganska irriterande ibland, särskilt när du vill ladda upp dem någonstans. Du behöver inte längre ladda ner program för att trimma dem eftersom FFmpeg kan göra detta åt dig. Det finns dock några parametrar du behöver känna till för detta:
- -ss: Använd denna parameter för att ställa in starttiden för klippet
- -till: Låter dig ange sluttiden för klippet
- -c: Ställ in codec för ditt klipp med denna parameter
- -t: Använd denna parameter för att ställa in längden på klippet
Du kan härleda många exempel med dessa parametrar. Om du till exempel vill trimma en video kan du använda något som:
ffmpeg-jagexempel-video.mp4-ss 00:02:25-till 00:03:50-ckopieraoutput-trim.mp4
Det är också möjligt att endast beskära bilden inuti videon och inte hela videon. För detta kan du ta till något som:
ffmpeg -i exempel-video.mp4 -filter: v "gröda=b: h: x: y" output-crop.mp4
Här är parametrarna som används i det ovannämnda kommandot:
- -filter: v: Den här parametern anger filtreringsprocessen du kommer att tillämpa på videon
- beskära: Denna parameter är till för att ange att en klippningsoperation ska utföras
- w: h: x: y: Som du kanske redan har gissat anger variablerna w, h, x och y bredd, höjd och position för beskärningsrutan.
Redigera videor på Linux med FFmpeg
Att redigera videor slutar inte med att bara trimma och klippa. Ibland behöver du också ändra skalan på videon. Följande kommando kommer att ändra storlek på videon till en storlek du vill ha:
ffmpeg -i exempel-video.mp4 -vf scale=1920:1080 output-scale.mp4
- -vf: Denna parameter fungerar på samma sätt som -filter: v argument som ses ovan
- skala: Du kan ange de skalstorlekar du vill ha i din utdata med denna parameter
FFmpeg låter dig också kombinera flera videor. Föreställ dig att du har flera klipp kodade med samma codec. Ange listan över videor som du vill slå ihop till en .Text fil. Kör sedan följande kommando:
ffmpeg-fkonkat-jagmin-video-lista.Text-ckopierasumma-utgång.mp4
De konkat parametern här kombinerar dina filer. Det är också möjligt att rotera videor med FFmpeg:
ffmpeg -i exempel-video.mp4 -vf "transponera=2" output-rotate.mp4
- transponera=0: Vänd vertikalt (standard)
- transponera=1: Rotera 90 grader medurs
- transponera=2: Rotera 90 grader moturs
- transponera=3: Vänd vertikalt
För att rotera videor 180 grader medurs måste du ange transponeringsparametern två gånger:
ffmpeg -i exempel-video.mp4 -vf "transponera=2, transponera=2" output-rotate.mp4
FPS och GOP Operations
Som ni vet betyder FPS bildrutor per sekund. GOP (grupp av bilder) är avståndet mellan två nyckelbildrutor. FFmpeg är också användbart för att ändra vissa parametrar, inklusive FPS och GOP. Om du använder kommandot nedan kommer FFmpeg att ändra den ursprungliga FPS till det värde du ställer in:
ffmpeg -i exempel-video.mp4 -vf "fps=60" output-fps.mp4
För GOP kan du använda -g parameter och ställ in dess värde till vad du vill. Observera att att tvinga fram för många nyckelbildrutor kan vara skadligt för vissa kodares framåtgående algoritmer.
ffmpeg-jagexempel-video.mp4-g 200 output-gop.mp4
Skapa animerade GIF-filer med FFmpeg
FFmpeg är också idealisk för konvertera en video till animerade GIF-filer. Du kan använda ett enkelt konverteringskommando för att göra detta:
ffmpeg-jagexempel-video.mp4output-gif.gif
Men ibland kanske du vill anpassa GIF. Du kan använda de olika parametrarna som diskuterats ovan för att uppnå detta:
ffmpeg -ss 00:01:15 -i exempel-video.mp4 -till 10 -r 10 -vf skala=250:-1 output-gif.gif
De -r parameter här betyder bildhastighet. Som du kan se är många olika anpassningar möjliga i ett kommando på en rad.
Extrahera ramar från en video med FFmpeg
Förutom att konvertera en eller flera bilder till video, kan du också extrahera ramar från en video. Följande kommando extraherar en bildruta varje sekund från din inmatade video. Dessutom kommer dessa extraherade bilder att ha tvåsiffriga namn som 01.jpeg, 02.jpeg, etc. Om du vill kan du även lägga till andra parametrar du har lärt dig.
ffmpeg-jagexempel-video.mp4-r 1 bild-%02d.jpeg
Du kan också använda andra format som PNG och BMP för de extraherade bilderna.
Varför ska du använda FFmpeg på Linux?
Som du kan se är FFmpeg mycket fördelaktigt på många sätt. Du behöver inte ha någon teknisk kunskap eller professionell Linux-erfarenhet för detta. Du kan utföra olika mediebearbetningsfunktioner med bara några få parametrar. Om du ska göra redigeringar som inte är särskilt långa behöver du inga dyra datorprogram och premiummedlemskap online. Dessutom fungerar FFmpeg mycket bra även på low-end-enheter.
Dessutom är funktionerna i FFmpeg inte begränsade till ovanstående. När du läser dokumentationen och användarmanualen kan du se hur kraftfull programvaran faktiskt är. Även att använda --hjälp parametern och man kommandot kan du få mer detaljerad information om hur du använder FFmpeg. Det finns också andra bra omvandlare för Linux för att konkurrera med FFmpeg.