Bijna iedereen die met video's omgaat, heeft misschien eerder van FFmpeg gehoord. Voor degenen die niet bekend zijn, FFmpeg is een gratis en open-source programma dat elk videoformaat naar een ander kan converteren en de codecs ervan kan wijzigen.
FFmpeg ondersteunt bijna alle audio-/videocodecs (H.264, H.265, VP8, VP9, AAC, OPUS en meer), formaten (MP4, FLV, MKV, TS, WEBM, MP3, enz.), en zelfs streamingprotocollen (HTTP, RTMP, RTSP, HLS, enz.).
Hier leest u hoe u FFmpeg kunt installeren en gebruiken om audio- en videobestanden op Linux te verwerken.
FFmpeg-installatie op Linux
FFmpeg is een gratis en open-source tool die beschikbaar is in de standaard repositories van bijna elke grote Linux-distributie. Je kan ook de broncode ophalen gratis als u het zelf wilt samenstellen.
# Debian
sudo apt installeren ffmpeg# Fedora
sudo dnf installeren https://download1.rpmfusion.org/free/fedora/rpmfusion-free-laat los-$(rpm -E %fedora).noarch.rpm
sudo dnf -y installeren ffmpeg# RHEL/CentOS
jammie installeren ffmpeg ffmpeg-devel
# Arch Linux
pacman -S ffmpeg
Als alles goed gaat tijdens de installatie, zou je de FFmpeg-versie moeten kunnen zien wanneer je de -versie argument.
ffmpeg -versie
Video-informatie ophalen met FFmpeg
Het is mogelijk om de informatie te zien van een video die u wilt bewerken met FFmpeg met behulp van de -i vlag:
ffmpeg-ivoorbeeldvideo.mp4-hide_banner
Hier de -hide_banner de taak van de parameter is om onnodige informatie te verbergen. U kunt deze parameter verwijderen en het verschil in de uitvoer zien.
Zoals je kunt zien, is het mogelijk om veel informatie te krijgen zoals videocodec-type, aanmaakdatum, metadata en encoderstructuur van de voorbeeldvideo.
Video- of audiobestanden converteren naar een ander formaat
Een van de handigste functies van FFmpeg is dat het een video of audio naar een ander formaat kan converteren. Dit doe je met simpele oneliners.
MOV naar MP4 met FFmpeg
U kunt uw videobestand in MOV-formaat converteren naar MP4 met FFmpeg met behulp van de onderstaande opdracht:
ffmpeg-iinput-mov-video.movoutput-video.mp4
Gebruik eerst de -i parameter, die staat voor input video. Voer vervolgens het bestand in dat u wilt converteren. Voer ten slotte het formaat in waarnaar u het wilt converteren. U kunt uw output elke gewenste naam geven.
Terwijl FFmpeg actief is, toont het u de wijzigingen die het heeft aangebracht op het opdrachtscherm. Uw uitvoerbestand wordt opgeslagen in uw huidige werkmap.
WAV naar MP3 Met FFmpeg
Net als bij video's, kunt u dezelfde conversies uitvoeren voor audiobestanden. U kunt bijvoorbeeld een WAV-audiobestand als volgt naar MP3 converteren:
ffmpeg-ivoorbeeld-wav.wav-vn-ar 48000 -ac 2 -b:a 256 uitvoer.mp3
Deze opdracht heeft meer parameters dan de videoconversiemethode, maar ze zijn niet moeilijk te begrijpen. Om deze uit te leggen:
- -vn: Soms bevatten de audiobestanden waarnaar u luistert afbeeldingen. Deze afbeeldingen zijn meestal afkomstig uit video's. Als u dergelijke afbeeldingen niet in de uitvoer wilt, kunt u deze parameter gebruiken.
- -ar: Met deze parameter kunt u de audiofrequentie instellen van het audiobestand dat u wilt converteren. U kunt de geluidskwaliteit en frequentie aanpassen met waarden als 8 kHz, 44,1 kHz of 48 kHz.
- -ac: Je hebt misschien al eens van de termen mono en stereo gehoord. Deze parameter kan u helpen bij het instellen van het aantal audiokanalen.
- -b: a: Met deze parameter kunt u de audiobitsnelheid per seconde instellen. Hoe hoger de kilobit, hoe hoger de geluidskwaliteit.
Audiobewerkingen met FFmpeg
FFmpeg kan ook audio van video's scheiden. Hiervoor volstaat het gebruik van de -vn parameter:
ffmpeg-ivoorbeeldvideo.mp4-vnuitvoer.mp3
Als het je is gelukt om de audio van de video te scheiden, kun je nu proberen de audio uit de video's te verwijderen. Het verschil hier is de -een parameter. Houd deze parameter in gedachten als u geluid in een video wilt uitschakelen:
ffmpeg-ivoorbeeldvideo.mp4-eenoutput-mute.mp4
Videoformaatverwerking met FFmpeg
Videoformaten kunnen soms behoorlijk vervelend zijn, vooral als je ze ergens wilt uploaden. U hoeft geen programma's meer te downloaden om ze te trimmen, aangezien FFmpeg dit voor u kan doen. Er zijn echter enkele parameters die u hiervoor moet weten:
- -ss: Gebruik deze parameter om de starttijd van de clip in te stellen
- -tot: Hiermee kunt u de eindtijd van de clip specificeren
- -c: stel de codec van je clip in met deze parameter
- -t: gebruik deze parameter om de duur van de clip in te stellen
U kunt veel voorbeelden afleiden met behulp van deze parameters. Als u bijvoorbeeld een video wilt inkorten, kunt u zoiets gebruiken als:
ffmpeg-ivoorbeeldvideo.mp4-ss 00:02:25-tot 00:03:50-ckopiërenoutput-trim.mp4
Het is ook mogelijk om alleen de afbeelding in de video bij te snijden en niet de hele video. Hiervoor kunt u een beroep doen op iets als:
ffmpeg -i voorbeeld-video.mp4 -filter: v "gewas=b: h: x: y" output-crop.mp4
Dit zijn de parameters die in de bovengenoemde opdracht worden gebruikt:
- -filter: v: Deze parameter specificeert het filterproces dat u op de video toepast
- Bijsnijden: Deze parameter is om aan te geven dat er een clipping-bewerking wordt uitgevoerd
- w: h: x: ja: Zoals je misschien al geraden had, geven de variabelen w, h, x en y respectievelijk de breedte, hoogte en positie van het bijsnijdvak aan
Video's bewerken op Linux met FFmpeg
Het bewerken van video's houdt niet op bij alleen knippen en knippen. Soms moet je ook de schaal van de video wijzigen. Met de volgende opdracht wordt het formaat van de video aangepast naar het gewenste formaat:
ffmpeg -i voorbeeld-video.mp4 -vf scale=1920:1080 output-scale.mp4
- -vf: Deze parameter werkt hetzelfde als de -filter: v argument hierboven gezien
- schaal: Met deze parameter kunt u de gewenste schaalgroottes in uw uitvoer specificeren:
Met FFmpeg kun je ook meerdere video's combineren. Stel je voor dat je meerdere clips hebt gecodeerd met dezelfde codec. Voer de lijst met video's in die je wilt samenvoegen tot een .tekst het dossier. Voer vervolgens de volgende opdracht uit:
ffmpeg-fsamenvoegen-imijn-videolijst.tekst-ckopiërensom-output.mp4
De samenvoegen parameter hier combineert uw bestanden. Het is ook mogelijk om video's te roteren met FFmpeg:
ffmpeg -i voorbeeld-video.mp4 -vf "transponeren=2" output-rotate.mp4
- transponeren=0: verticaal spiegelen (standaard)
- transponeren=1: 90 graden rechtsom draaien
- transponeren=2: 90 graden tegen de klok in draaien
- transponeren=3: verticaal spiegelen
Om video's 180 graden met de klok mee te draaien, moet je de transponeerparameter twee keer specificeren:
ffmpeg -i voorbeeld-video.mp4 -vf "transponeren=2,transponeren=2" output-rotate.mp4
FPS- en GOP-bewerkingen
Zoals je weet, betekent FPS beelden per seconde. GOP (groep afbeeldingen) is de afstand tussen twee keyframes. FFmpeg is ook handig voor het wijzigen van sommige parameters, waaronder FPS en GOP. Als je het onderstaande commando gebruikt, zal FFmpeg de originele FPS veranderen naar de waarde die je instelt:
ffmpeg -i voorbeeld-video.mp4 -vf "fps=60" output-fps.mp4
Voor GOP kunt u de -g parameter en stel de waarde in op wat u maar wilt. Houd er rekening mee dat het forceren van te veel keyframes schadelijk kan zijn voor de voorwaartse algoritmen van sommige encoders.
ffmpeg-ivoorbeeldvideo.mp4-g 200 output-gop.mp4
Maak geanimeerde GIF's met FFmpeg
FFmpeg is ook ideaal voor een video converteren naar geanimeerde GIF's. U kunt hiervoor een eenvoudig convert-commando gebruiken:
ffmpeg-ivoorbeeldvideo.mp4output-gif.gif
Maar soms wil je misschien de GIF aanpassen. U kunt hiervoor de verschillende hierboven besproken parameters gebruiken:
ffmpeg -ss 00:01:15 -i voorbeeld-video.mp4 -to 10 -r 10 -vf scale=250:-1 output-gif.gif
De -r parameter betekent hier de framesnelheid. Zoals u kunt zien, zijn er veel verschillende aanpassingen mogelijk in een enkele regelopdracht.
Frames uit een video extraheren met FFmpeg
Naast het converteren van een of meerdere afbeeldingen naar video, kunt u ook frames uit een video extraheren. Met de volgende opdracht extraheert u elke seconde één frame uit uw invoervideo. Deze geëxtraheerde afbeeldingen hebben ook namen van twee cijfers, zoals: 01.jpeg, 02.jpeg, enz. Als je wilt, kun je ook andere parameters toevoegen die je hebt geleerd.
ffmpeg-ivoorbeeldvideo.mp4-r 1 afbeelding-%02d.jpeg
U kunt ook andere formaten gebruiken, zoals PNG en BMP voor de geëxtraheerde afbeeldingen.
Waarom zou je FFmpeg op Linux gebruiken?
Zoals je kunt zien, is FFmpeg in veel opzichten erg voordelig. U hoeft hiervoor geen technische kennis of professionele Linux-ervaring te hebben. Met slechts enkele parameters kunt u verschillende mediaverwerkingsfuncties uitvoeren. Als je bewerkingen gaat maken die niet erg lang zijn, heb je geen dure computerprogramma's en online premium lidmaatschappen nodig. Bovendien werkt FFmpeg erg goed, zelfs op low-end apparaten.
Ook zijn de functies van FFmpeg niet beperkt tot het bovenstaande. Wanneer u de documentatie en gebruikershandleiding leest, kunt u zien hoe krachtig de software eigenlijk is. Zelfs met behulp van de --helpen parameter en de Mens commando, kunt u meer gedetailleerde informatie krijgen over het gebruik van FFmpeg. Er zijn ook andere geweldige converters voor Linux om FFmpeg te evenaren.