Komplett FFmpeg-handledning för redigering och konvertering av videor

Senaste uppdateringen: 12/12/2025
Författare: Isaac
  • FFmpeg är ett linjeverktyg för kommandon plattformsoberoende applikation som kan spela in, konvertera och bearbeta ljud och video med stöd för ett stort antal kodekar och format.
  • Det låter dig utföra allt från enkla formatkonverteringar till avancerade uppgifter som beskärning, storleksändring, infogning av logotyper, generering av GIF-filer och skapande av videor från bildsekvenser.
  • Dess verkliga potential framträder när den integreras i skript och automatiserade arbetsflöden, där den kan sammanfoga klipp, tillämpa övergångar, normalisera ljud och standardisera innehållsproduktion.
  • Med några få välförstådda kommandon är det möjligt att bygga ett effektivt arbetsflöde för videoredigering och komprimering utan att förlita sig på besvärliga grafiska gränssnitt.

ffmpeg-handledning för videofiler

Om du arbetar med video ofta kommer du förr eller senare att stöta på FFmpeg som en schweizisk armékniv för att konvertera, komprimera och automatisera uppgifterDet spelar ingen roll om du kommer från redigerare med ett grafiskt gränssnitt, från plattformar av streaming eller enkla online-konverterare: när du behöver fin kontroll, sällsynta format eller massiv automatisering kommer FFmpeg in i bilden.

Det är också sant att första gången man ser det är det lite skrämmande: massor av parametrar, väldigt långa kommandon och meddelanden i terminalaMen när du väl förstår dess logik blir det ett extremt bekvämt verktyg för repetitiva uppgifter: ändra format, minska filstorlek, beskära, lägga till logotyper, generera GIF-filer eller skapa timelapse-videor från foton, bland mycket annat.

Vad är FFmpeg och varför används det så mycket i video?

Vad är ffmpeg och hur används det?

FFmpeg är en uppsättning fria programvaruverktyg och bibliotek Utformad för inspelning, konvertering, bearbetning och strömning av ljud och video. Det är inte en applikation med snygga fönster och knappar: den styrs från kommandoraden, vilket ger den otrolig flexibilitet och gör den idealisk för automatisering, servrar och skript.

Dess namn hänvisar till Snabbspola framåt i MPEG...med hänvisning till gruppen som definierade MPEG-videostandarderna. Sedan år 2000, när Fabrice Bellard lanserade projektet, har gemenskapen utökat det till... multimediamotorn som används av otaliga program och tjänster utan att du vet om det (streamingplattformar, redigerare, konverterare etc.).

En av dess största dygder är att Den stöder ett stort antal codecs och containrar (Hur man väljer de bästa codecs för videor): MP4, MOV, MKV, AVI, WebM, FLV, Ogg, animerade GIF-filer, bildsekvenser, MP3AAC, OGG, WAV, WMA och många fler format. Om din favoritspelare spelar upp något kan FFmpeg förmodligen läsa eller generera det.

Dessutom är FFmpeg tvärplattformDen kan installeras utan problem i Linux, WindowsmacOS och andra system UnixOch även om det används från konsolen finns det flera grafiska gränssnitt som använder det bakom kulisserna om du föredrar att fortsätta gradvis utan att se kommandon.

Hur man installerar FFmpeg på Windows, macOS och Linux

Installera ffmpeg på Windows, Mac och Linux

Innan vi börjar utfärda kommandon måste vi installera verktyget. Processen varierar beroende på operativsystem.Men i samtliga fall görs det bara en gång och sedan glömmer man bort det.

Installera FFmpeg på Windows

I Windows har du flera alternativ, men ett av de vanligaste är att ladda ner en det statiska paketet har redan kompileratsDetta sparar dig från att kompilera någonting eller hantera beroenden.

Ett typiskt arbetsflöde skulle se ut så här: du går till den officiella FFmpeg-webbplatsen eller en pålitlig byggsida, descargas una "statisk" version i ZIP- eller 7z-formatDu extraherar den till den mapp du vill ha (till exempel på en sekundär hårddisk), och inuti ser du en katalog med flera underkataloger, inklusive bin, där de körbara filerna ffmpeg.exe, ffplay.exe och ffprobe.exe finns.

För att slippa att alltid behöva gå till den mappen är den ideala lösningen lägg till sökvägen till bin-katalogen i systemmiljövariablernaFrån Kontrollpanelen > System > Avancerade systeminställningar > Miljövariabler, leta upp variabeln Sökväg, redigera den och lägg till den fullständiga sökvägen till bin-mappen. Därifrån kan du skriva ffmpeg på vilken konsol som helst så körs det.

Ett annat mycket bekvämt alternativ är att använda en pakethanterare som Chocolatey och kör det i en administratörskonsol: choco install ffmpegChefen själv hanterar installationen och PATH.

Installera FFmpeg på macOS

En MacDet mest praktiska sättet är att dra HomebrewOm du inte har det, installera det genom att klistra in skript Installationsansvarig på terminalen. När den är i drift, helt enkelt:

brew install ffmpeg

och inom några minuter har du ffmpeg redo att användas från vilken terminal som helstHomebrew hanterar automatiskt beroenden, sökvägar och framtida uppdateringar.

Om du föredrar att göra det själv kan du också ladda ner redan kompilerade binärfiler för macOS, men i praktiken sparar du dig själv mycket besvär med Homebrew och kan hålla FFmpeg uppdaterad med ett enkelt brew upgrade ffmpeg.

Installera FFmpeg på Linux

I de flesta moderna distributioner, FFmpeg finns tillgängligt i de officiella arkivenI Debian, Ubuntu och derivator, till exempel, Du kan installera det med:

sudo apt install ffmpeg

I andra distributioner kommer pakethanteraren att ändras, men idén är densamma: Du installerar ffmpeg-paketet och dess tillhörande verktyg, som ffprobe. Om du sedan kör which ffmpeg och du får något liknande /usr/bin/ffmpegAllt är bra.

I mer avancerade scenarier (till exempel servrar som behöver specifikt stöd för vissa codecs eller bibliotekVissa föredrar att kompilera FFmpeg från källkod och manuellt lägga till moduler som LAME för MP3, libogg, libvorbis, eller integrera det med mplayer. I dessa fall laddas dessa bibliotek ner och kompileras i förväg, och behörigheter och sökvägar justeras (LD_LIBRARY_PATH) och symboliska länkar skapas i /usr/lib mot FFmpeg-biblioteken i /usr/local/lib.

Förstå den grundläggande syntaxen för FFmpeg

grundläggande ffmpeg-kommandon

När installationen är klar är nästa steg att förstå Hur man skriver ett minimalt FFmpeg-kommandoDen allmänna strukturen är vanligtvis:

  Hur man skapar en perfekt autounattend.xml för Windows 11 med schneegans.de

ffmpeg -i entrada.ext salida.ext

Den viktigaste parametern är -iDetta indikerar indatafilen eller strömmen. Allt du lägger till före och efter det alternativet är inställningar som påverkar hur utdata bearbetas och genereras.

Om du bara vill hämta teknisk information från en videofil, du kan använda:

ffmpeg -hide_banner -i video.mp4

Med detta visar FFmpeg detaljer som längd, bithastighet, video- och ljudkodekar, upplösning, bildhastighet och andra metadata. Parametern -dölj_banner Det hindrar dig från att se det enorma initiala konfigurations- och kompileringsblocket, och låter dig fokusera på den verkligt användbara informationen.

Några mycket användbara globala parametrar som kan vägleda dig är:

  • -format: listar de format som stöds (containrar).
  • -codecs: visar alla in- och utdatakodekar.
  • -avkodare: specificerar de codecs som accepteras som indata.
  • -kodarelistar de codecs du kan använda vid export.

Med den minimala mängden information kan du börja konvertera från ett format till ett annat genom att helt enkelt ändra utdatafiltillägget. Till exempel:

ffmpeg -i video_origen.mov video_destino.mp4

I det här fallet kommer FFmpeg att välja rimliga codecs beroende på tilläggetTill exempel H.264 för video och AAC för ljud i MP4, om du inte anger något annat.

Codecs, containrar och viktiga kvalitetsparametrar

För att få ut det mesta av FFmpeg är det viktigt skillnaden mellan codec och containerMP4 (container) är inte samma sak som H.264 eller H.265 (videokodekar), även om termerna ofta blandas ihop i vardagligt språkbruk.

Un codec Det är algoritmen som komprimerar och dekomprimerar ljud- eller videoströmmen (H.264, H.265/HEVC, AV1, VP9, ​​​​AAC, MP3, Ogg Vorbis, etc.). behållare (MP4, MKV, AVI, MOV, WebM, Ogg, etc.) är den "omslagsfil" som kan innehålla flera video- och ljudspår, Undertexter texter~~POS=HEADCOMP och metadata.

Några vanliga behållare är:

  • AVIett klassiskt Windows-program, flitigt använt men med moderna begränsningar.
  • MOVQuickTime-standardformat, ofta använt i Apple-miljöer.
  • MP4: standardbehållare för MPEG-4, mycket kompatibel över olika enheter.
  • ogg- Öppna containern för codecs som Vorbis eller Theora.
  • MKVMatroska-format, mycket flexibelt och öppet, perfekt för masterfiler och arkivering.

I FFmpeg kan du styra kvaliteten främst med parametrar som -b: v (videobithastighet), -b:a (ljudbitrate) eller den populära CRF i codecs som H.264 eller H.265. Till exempel:

ffmpeg -i video.avi -b:v 2500k -b:a 192k salida.mp4

I det här fallet tvingar du fram en videobitrate på 2.500 kb / s och en ljudinspelning av 192 kb / sHögre bitrate innebär generellt sett högre kvalitet men också större filstorlek, och vice versa. Med CRF (Constant Rate Factor) ändras logiken något, eftersom Ett lägre värde innebär högre kvalitet och en större filstorlek.I H.265, till exempel, är en CRF runt 18-22 ofta nästan omöjlig att skilja från originalet i många fall.

Videokonvertering, komprimering och formatändring

En av de vanligaste användningsområdena för FFmpeg är Konvertera och komprimera om videor för att göra dem mindre eller ändra deras format.samtidigt som rimlig kvalitet bibehålls. Om du föredrar ett alternativ med ett grafiskt gränssnitt kan du se Hur man redigerar och konverterar videor med VLC.

För en grundläggande konverteringAnge helt enkelt in- och utgångspunkterna:

ffmpeg -i origen.avi destino.mpg

Om du vill finjustera saker kan du ange video- och ljudkodek, kvalitetsläge och behållare. Till exempel, för Komprimera en video med H.265 (libx265) med mycket god kvalitet och utan att röra ljudet:

ffmpeg -i "input.mp4" -c:v libx265 -preset veryslow -crf 18 -c:a copy "salida_comprimida.mkv"

Här använder du:

  • -c:v libx265H.265 videokodek (mycket effektiv).
  • -förinställd mycket långsamlångsammare kodning men med bättre komprimering.
  • -crf 18Mycket hög kvalitet; du kan gå upp till 20-22 om du vill ha mindre vikt.
  • -c:en kopiakopierar ljudet som det är, utan att komprimera det igen.

Om du föredrar komprimera även ljudet För AAC vid 128 kb/s kan du använda:

ffmpeg -i input.mp4 -c:v libx265 -preset veryslow -crf 18 -c:a aac -b:a 128k output.mkv

MKV-containerformatet är mycket stabilt och flexibelt för den här typen av arbete. Om du absolut behöver en MP4 senare kan du göra det. remultiplex (byta container utan att komprimera om) med:

ffmpeg -i salida.mkv -c copy salida_final.mp4

Detta sista steg är snabbeftersom bara filens "omslag" ändras, utan att röra vid video- och ljudinnehållet.

Grundläggande redigeringsåtgärder med FFmpeg

FFmpeg låter dig också utföra många klassiska redigeringsuppgifter utan att öppna en tung videoredigerareDet är inte praktiskt för storskalig kreativ redigering, men för specifika uppgifter är det omedelbart.

Klipp ut ett tidsfragment

Om du vill extrahera ett specifikt segment från en video kan du använda alternativen -SS, -t y -till. Till exempel:

  Hur delar man en Instagram-rulle till din berättelse? Android och iOS

ffmpeg -i video.mp4 -ss 35 -t 30 fragmento.mp4

I detta fall, Du börjar på sekund 35 och du extraherar 30 sekunder. En annan variant skulle vara:

ffmpeg -i video.mp4 -ss 00:00:35 -to 00:01:05 fragmento.mp4

Här definierar du starttid och sluttid i formatet timmar:minuter:sekunder. Beroende på i vilken ordning du placerar dem. -SS med avseende på -iSkärningen blir snabbare men mindre exakt, eller vice versa; för de flesta praktiska användningsområden kan du lämna det som i exemplen.

Ändra videoupplösning

För att anpassa en video till en annan upplösning, till exempel från 1920×1080 till 1280 × 720, du kan använda:

ffmpeg -i entrada.mov -s 1280x720 salida.mp4

Parameter -s definiera utmatningsstorleken. Du kan också använda videofilter (-vf skala=) för att ha mer kontroll över omskalning eller för att bibehålla specifika proportioner.

Ta bort eller extrahera ljudspår

Vill man behåll bara ljudet Till exempel, från en MP3-video kan du använda:

ffmpeg -i video.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 audio.mp3

Detta indikerar att du inte vill ha video med -vnSamplingsfrekvensen och kanalerna justeras, och en rimlig ljudbitrate för MP3 definieras.

Om det du vill är ta bort ljud från video För att bara lämna bilden kan du använda:

ffmpeg -i entrada.mp4 -an -c:v copy salida_sin_audio.mp4

Alternativet -en Den tar bort ljudet, medan -c: v kopia Undvik att komprimera videon, vilket sparar tid och bibehåller kvaliteten.

Infoga logotyper eller vattenstämplar

För att placera en fast logotyp i ett hörn av videon kan du använda filtret. överlagringEtt typiskt exempel:

ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=10:10" salida.mp4

I detta kommando, överlagring=10:10 Detta indikerar att logotypen är placerad 10 pixlar från vänsterkanten och 10 pixlar från övre kanten. Om du vill flytta den till det nedre högra hörnet kan du använda uttryck baserade på bredd och höjd:

overlay=x=(main_w-overlay_w):y=(main_h-overlay_h)

På så sätt anpassar sig logotypen till alla videoupplösningar utan att behöva beräkna positioner för hand.

Arbeta med bilder: extrahera bildrutor och skapa videor

FFmpeg är inte bara för klassiska videor; det är också väldigt kraftfullt för konvertera mellan videor och bildervilket är idealiskt för timelapse, stop-motion eller för att analysera specifika bildrutor.

Extrahera bilder från en video

Om du vill konvertera varje bildruta I en bild räcker något liknande detta (se fler alternativ i Hur man extraherar bildrutor från videor och GIF-filer):

ffmpeg -i video.mp4 image%d.jpg

Detta genererar en fil per bildruta: bild1.jpg, bild2.jpg, bild3.jpg…Om videon är lång kommer du att få tusentals bilder, eftersom de flesta videor körs i mellan 25 och 30 fps.

För att undvika att generera ett stort antal filer kan du begränsa extraheringen med ett filter. fpsTill exempel, en bild per sekund:

ffmpeg -i video.mp4 -vf fps=1 image%d.png

På så sätt exporteras endast en bild per sekund av originalvideon, perfekt för att skapa visuella sammanfattningar eller automatiska miniatyrbilder.

Skapa en video från bilder (timelapse och bildspel)

Om du har en sekvens av numrerade foton (till exempel img-01.png, img-02.png, img-03.png…Du kan enkelt skapa en video:

ffmpeg -framerate 5 -i img-%02d.png video.avi

I detta fall, -bildfrekvens 5 Den anger att 5 bilder per sekund kommer att användas i den resulterande videon. Om det är foton från en timelapse kan du öka hastigheten för jämnare rörelser eller minska den för ett mer avslappnat bildspel.

FFmpeg förstår flera namngivningsmönster:

  • filnamn-%03d.png- Matchar filnamn-001.png till filnamn-999.png.
  • filnamn-%d.png- Matchar filnamn-1.png, filnamn-2.png, etc.
  • filnamn-*.png: mer generiskt mönster, för när du inte följer strikt numrering (i det här fallet behöver du ytterligare parametrar för att styra ordningen).

Om du också vill tvinga utdatavideon att vara MP4 med en specifik uppspelningsbildfrekvensDu kan göra något liknande:

ffmpeg -framerate 1 -i img%03d.png -r 25 -pix_fmt yuv420p output.mp4

Här definierar du en tagning av 1 bild per sekund och en uppspelningshastighet på 25 fps, med ett pixelformat kompatibelt med de flesta spelare.

Generera animerade GIF-bilder och enkla effekter

En annan klassiker i FFmpeg är att konvertera små videor till Animerade GIF-bilder för webbplatser eller nätverkProcessen kan förenklas till en enda rad eller göras i flera steg för att förbättra kvaliteten.

För mest direkta fallet:

ffmpeg -i entrada.mp4 salida.gif

Detta ger dig en fungerande GIF, men kanske inte optimerad. Om du vill ha bättre kontroll över storlek och kvalitet är ett alternativ skala om videon, generera PNG-bildrutor och skapa sedan GIF:en från dem. Till exempel:

ffmpeg -i input.mp4 -vf scale=640x360 -c:v h264 -crf 18 -c:a aac salida_intermedia.mp4

ffmpeg -i salida_intermedia.mp4 frame%04d.png

ffmpeg -i salida_intermedia.mp4 salida.gif

Eller använd externa GIF-redigeringsverktyg för en ännu finare finish. Den här typen av arbetsflöde låter dig upprätthålla en Full kontroll över upplösning, kvalitet och storlek på den slutliga filen.

Automatisera videoredigering med skript och YAML

Där FFmpeg verkligen lyser är när du integrerar det i skript som automatiserar repetitiva uppgifterOm du producerar samma typ av video varje vecka (kurser, intervjuer, institutionella artiklar...) kan du definiera ett standardiserat arbetsflöde och låta ett manus göra praktiskt taget allt.

  Hur man ställer in villkorlig namnöverföring på iPhone

En mycket kraftfull metod är att beskriva ditt projekt på ett YAML-fil (config.yml)där du specificerar vilka klipp, bilder, längder, klipp, volymer och övergångar du vill ha, och sedan tar ett skript hand om att översätta det till komplexa FFmpeg-kommandon.

Med det här systemet kan du till exempel definiera en lista med element (bilder, videor, ljudspår) som bearbetas individuellt (trimning, volymändring, omskalning, normalisering) i en tillfällig katalog och sedan sammanfogas med millimeterprecision, vilket håller ljud och video synkroniserade.

Typiska användningsfall inkluderar:

  • Skapa träningsvideor från bilder + korta klipp.
  • Skapa informationskapslar bestående av flera standardblock.
  • Generera institutionella intros och outros för en hel serie videor.

Exempel på praktiska skript med FFmpeg

Baserat på denna idé om automatisering kan man bygga olika typer av manus, från de enklaste till ganska komplicerade inställningar, alltid med FFmpeg som motor.

Allmänt skript för att sammanfoga bilder och videor

Ett generellt skript kan fungera med en lista över heterogena element som beskrivs i YAML (videor, bilder, ljudklipp), och tilldelar varje längd, start- och slutklipp, relativ volym etc. Skriptet genererar förjusterade tillfälliga versioner och bygger sedan en listfil att sammanfoga allt med hjälp av FFmpeg.

Detta ger dig fin kontroll över:

  • Slutlig lösning och FPS för projektet.
  • Volymen för varje segment separat.
  • Början och slutet av varje klipp utan att öppna en grafikredigerare.

Enkelt manus: omslagsbild + huvudvideo

Ett ännu vanligare scenario är att vilja visa en statisk bild som omslagsbild (titel, logotyp, evenemangsdetaljer) i några sekunder och starta sedan huvudvideon.

Det typiska manuset Det gör ungefär så här:

  • Förvandla omslagsbilden till en videoklipp på cirka 5 sekunder.
  • Koda både omslags- och huvudklippet i ett format som är kompatibelt för sammankoppling (t.ex. med mpegts).
  • Den sammanfogar båda segmenten utan att komprimera innehållet på nytt, vilket påskyndar processen och undviker kvalitetsförlust.

Den här typen av lösning lagras vanligtvis i sökvägar som /automation/videor-öppna-ämnen/ och de integreras enkelt i inspelningsflöden för klasser, föreläsningar eller inspelade presentationer.

Manus utvecklat för montage med övergångar

På en högre nivå kan du bygga ett skript som monterar flera block med smidiga ljud- och videoövergångarEtt typiskt exempel inkluderar:

  1. Institutionell introduktion med musik och animation.
  2. Stillbild med titel och detaljer om mötet.
  3. Huvudvideon inspelad i raw-format (kan trimmas i början och slutet).
  4. Avslutning med animation och musik.

Med FFmpeg kan du använda filter som till exempel xblekning (videoövergång) och övertoning (ljudövergång) för att göra växlingarna mellan blocken smidiga. Dessutom kan du:

  • Trimma huvudvideon i farten enligt de tider som anges i YAML.
  • Justera volymen för varje segment oberoende av varandra.
  • Tvinga fram standardparametrar som 720p-upplösning och 44.1 kHz ljud.

Logiken för sammansättningen definieras i en config.yml med sökvägarna för varje element, övergångarnas varaktighet, klipppunkterna etc., och ett skript i en mapp som /automation/café-utgåva/ Översätt allt detta till en kedja av filter och kartor i FFmpeg. Resultatet är en färdig video som är visuellt och hörbart konsekvent med minimal manuell ansträngning.

Fler användbara kommandon och avancerade knep

Utöver allt ovanstående har FFmpeg infinidad de usos "Nischprodukter" som, när du behöver dem, räddar dagen. Bland annat:

  • Lista eller extrahera metadata: ffmpeg -i INPUT -f ffmetadata metadata.txt.
  • Ersätt ljudspåret i en video utan att röra vid videon: ffmpeg -i video.mp4 -i nuevo_audio.mp3 -map 0:v -map 1:a -c copy salida.mp4.
  • Generera en visualisering av ljudvågor i video med filtret showwaves, användbart för videor av podcasttyp.
  • Ändra undertextformatTill exempel, från VTT till ASS: ffmpeg -i subtitulos.vtt salida.assFör att enkelt redigera undertexter kan du se Använd Word som undertextredigerare.
  • justera volymen snabbt med -vol eller mer avancerade ljudfilter.

Den kompletta listan är nästan omöjlig att hantera, men med en kombination av officiell dokumentation och praktiska exempel kan du börja bygga. din egen repertoar av ofta använda kommandon så att vi inte behöver uppfinna hjulet på nytt varje gång.

FFmpeg går från att vara det där "konstiga konsolprogrammet" till att bli ett centralt verktyg för konvertering, komprimering, batchredigering och automatisering av videoskapandeOavsett om det är på din persondator eller i professionella skript och arbetsflöden, när du väl vant dig vid att skriva några grundläggande kommandon, handlar varje nytt användningsfall helt enkelt om att lägga till små delar till en grund du redan behärskar.

VLC-undertexter
Relaterad artikel:
Så här bäddar du in undertexter i videor i Windows 11: Komplett och uppdaterad guide