- Mestre video- og lydkonvertering og redigering i Linux med FFmpeg fra terminal hjelp kommandoer tydelig og personlig.
- Oppdag omfattende eksempler på hvordan du endrer formater, justerer kvalitet, trekker ut spor eller jobber med bilder og teksting.
- Lær hvordan du automatiserer repeterende multimediakonvertering og -behandlingsoppgaver, og optimaliserer arbeidsflyten din på Linux.
FFmpeg regnes som et av de mest robuste og allsidige verktøyene innen multimediabehandling på Linux, noe som gjør det essensielt for de som søker fleksibilitet og full kontroll fra terminalen. Til tross for at det finnes grafiske programmer, tilbyr konsollen presisjon, hastighet og muligheten til å automatisere alle slags audiovisuelle oppgaver. Med FFmpeg kan du konvertere formater, tilpasse filer for enheter, trekke ut spor, trimme klipp, endre kvalitet, administrere undertekster og mye mer, håndtere lyd, video og til og med bilder, alt med noen få velstrukturerte kommandoer.
I denne omfattende artikkelen har vi samlet og omskrevet den mest komplette og avanserte informasjonen fra topprangerte Google- artikler om konvertering av formater og manipulering av filer med FFmpeg på Linux. Her finner du ikke bare de grunnleggende kommandoene, men også tips , parametere og praktiske eksempler som dekker alt fra installasjon og batchfilkonvertering til redigering av metadata, kvalitetsoptimalisering, feilsøking av vanlige problemer og avanserte scenarier som automatisering, arbeid med undertekster, TV-kompatibilitet og lyd/video-synkronisering.
Hva er FFmpeg og hvorfor bruke det på Linux?
FFmpeg er en pakke med programmer og biblioteker utviklet for å administrere, konvertere, strømme og analysere multimediefiler. Programmet, som er født under paraplyen av fri programvare, skiller seg ut for sin kompatibilitet med et stort antall kodeker og containere. Selv om det finnes for Windows og Mac , er integreringen i Linux-verdenen legendarisk: mange grafikkapplikasjoner bruker FFmpeg som sin interne motor, og i servere eller skripting er det uovertruffent.
Hovedfordelen med FFmpeg er kraften i terminalen: du kan manipulere store datamengder, automatisere arbeidsflyter og tilpasse alle tekniske aspekter ved mediefilen. Fleksibiliteten gjør den nyttig for både nybegynnere som bare vil endre formater, og eksperter som trenger å justere spesifikke parametere for hver fil eller utføre avansert etterbehandling.
Installere FFmpeg på Linux
Det er enkelt å installere FFmpeg på de fleste Linux-distribusjoner. Det finnes vanligvis i de offisielle repositoriene.
- Debian, Ubuntu og derivater:
sudo apt install ffmpeg - Arch, Manjaro:
sudo pacman -S ffmpeg - Fedora, CentOS, openSUSE:
sudo dnf install ffmpeg
Sjekk at FFmpeg er riktig installert ved å kjøre ffmpeg -version o which ffmpeg. Hvis ruten vises, kan du begynne å jobbe.
Nøkkelbegreper: kodeker, formater og containere
Før du dykker ned i kommandoene, er det lurt å forstå noen konsepter:
- Kodek: Algoritme som komprimerer og dekomprimerer lyd eller video. Eksempler: h264, xvid, mp3, aac.
- Format eller beholder: Fil som grupperer video-, lyd-, undertekst- og metadataspor. Eksempler: mp4, mkv, avi, mov, webm.
- Parametere: Spesifikke alternativer for å justere bitrate, oppløsning, fps, lydkanaler osv.
FFmpeg støtter en rekke kombinasjoner, men resultatet avhenger av kompatibilitet mellom kodek og container. Ikke alle formater støtter alle sportyper, og heller ikke alle konfigurasjoner er like kompatible på tvers av alle enheter.
Grunnleggende FFmpeg-syntaks og kommandostruktur
Den generelle strukturen til enhver FFmpeg-kommando er:
ffmpeg -i archivo_entrada archivo_salida
Noen viktige punkter:
- Alternativene gjelder for inn- eller utdatafilen som følger. Ordre teller.
- Du kan ha flere input- og output-filer, og manipulere hver av dem med indekser.
- Hvis ingen utdatafil er spesifisert, vil FFmpeg bare vise informasjonen i konsollen, den vil ikke generere en ny fil.
- Globale alternativer (f.eks. detaljnivå) kommer i begynnelsen.
For eksempel, for å konvertere en AVI-fil til MP4:
ffmpeg -i video.avi video.mp4
Og hvis du vil angi en spesifikk parameter, for eksempel videobitrate på 2500 kb/s og lydbitrate på 192 kb/s:
ffmpeg -i video.avi -b:v 2500k -b:a 192k video_final.mp4
Viktige kommandoer for formatkonvertering
Endre formatet på en video eller lyd
- Fra MP4 til AVI:
ffmpeg -i entrada.mp4 salida.avi - Fra MKV til MP4:
ffmpeg -i original.mkv convertida.mp4 - Fra AVI til MPG (MPEG):
ffmpeg -i video.avi video.mpg - Fra FLV til MPEG:
ffmpeg -i video.flv video.mpeg - Fra MOV til MP4:
ffmpeg -i archivo.mov resultado.mp4
Utdataformatet defineres kun ved å endre filtypen, men hvis du vil tvinge frem en kodek eller bestemte funksjoner, legg til de nødvendige parameterne:
ffmpeg -i entrada.mov -c:v libx264 -c:a aac salida.mp4
Konverter lyd mellom formater
- Fra WAV til MP3:
ffmpeg -i cancion.wav nueva.mp3 - Fra WMA til MP3:
ffmpeg -i audio.wma -f mp3 -ab 192 audio.mp3 - Fra FLAC til OGG:
ffmpeg -i original.flac destino.ogg
Du kan også endre parametere som kodek, bithastighet, kanaler eller sampling:
ffmpeg -i sonido.flac -acodec libmp3lame -ab 128k -ar 44100 nuevo.mp3
Praktisk eksempel: konvertering av flere filer
For å konvertere filer i en mappe i batch, bruk en løkke i bash:
for archivo in *.avi; do
ffmpeg -i "$archivo" "${archivo%.avi}.mp4"
done
Dette vil konvertere alle AVI-filene i mappen til MP4-filer.
Kvalitetskontroll og justering av nøkkelparametere
Video- og lydbithastighet
- Video:
-b:v 3000k(3000 kbps) - Audio:
-b:a 192k(192 kbps)
Du kan justere kvaliteten avhengig av bruken. For eksempel kan du redusere oppløsningen og bithastigheten for mobile enheter :
ffmpeg -i entrada.mkv -vf scale=1280:720 -b:v 1500k salida.mp4
Og for lettere lyd:
ffmpeg -i cancion.wav -b:a 96k cancion_compacta.mp3
Endre oppløsningen og sideforholdet
- For å tvinge frem en spesifikk utgangsoppløsning:
ffmpeg -i entrada.mp4 -s 1280x720 salida_720p.mp4 - For å endre sideforholdet:
ffmpeg -i entrada.mp4 -aspect 16:9 salida_16_9.mp4
Noen ganger krever visse enheter spesifikke pikselformater, for eksempel LG-TV-er som trenger -pix_fmt yuv420p: mer om pikselkompatibilitet.
Endre bildefrekvensen per sekund (FPS)
Slik endrer eller tvinger du frem et FPS-tall:
ffmpeg -i original.mp4 -r 30 salida_30fps.mp4
Husk at endring av oppløsning eller bildefrekvens ikke forbedrer den opprinnelige kvaliteten, selv om det kan være nødvendig for kompatibilitet.
Informasjonsutvinning og filanalyse
Før konvertering er det viktig å kjenne til filegenskapene:
ffmpeg -i archivo.ext
Dette vil vise kodeken, varigheten, kvaliteten, kanalene og metadataene i konsollen.
Hvis du vil at resultatet skal være renere, legg til -hide_banner: Mer om analyser og metadata.
ffmpeg -hide_banner -i archivo.ext
For omfattende og tilpassbar analyse, bruk ffprobe: Mer om ffprobe og avansert analyse.
ffprobe -i archivo.ext -print_format json -show_format -show_streams
På denne måten får du all informasjonen strukturert i JSON.
Avansert redigering og manipulering av multimediefiler
Rediger metadata
- Eksporter metadata fra en MP3-fil:
ffmpeg -i cancion.mp3 -f ffmetadata metadata.txt - Endre og importer metadata:
ffmpeg -i original.mp3 -metadata artist='Nuevo Artista' -acodec copy salida.mp3
Du kan redigere informasjon som artist, album, sjanger, år, spor osv. Ideelt for å organisere musikken din eller tilpasse den til krevende spillere (for eksempel Apple).
Pakk ut lydspor eller fjern lyd/video
- Pakk ut kun lyd uten å kode på nytt:
ffmpeg -i original.avi -vn -acodec copy solo_audio.mp3 - Pakk ut konvertert lyd til et annet format (f.eks. fra en video):
ffmpeg -i video.mp4 -q:a 0 -map a solo_audio.mp3 - Fjern alle lydspor fra en video:
ffmpeg -i original.avi -map 0 -map -0:a -c copy sin_audio.avi - Slett alle lydstrømmer unntatt spesifikke:
ffmpeg -i original.avi -map 0 -map -0:a:3 -map -0:a:6 -c copy con_dos_streams.avi - Trekk ut bare et bestemt lydspor:
ffmpeg -i original.avi -map 0:a:2 -c copy solo_pista2.avi
Trekk ut bilder eller lag videoer fra bilder
- Pakk ut alle rammer som bilder:
ffmpeg -i video.mp4 imagen%d.jpg - Trekk ut én ramme hvert sekund:
ffmpeg -i video.mp4 -vf fps=1 imagen%d.jpg - Pakk bare ut nøkkelbildene:
ffmpeg -i video.avi -vf "select=eq(pict_type\,I)" -vsync vfr imagen%d.jpg - Lag en video fra en bildesekvens:
ffmpeg -i imagen%d.jpg video.avi - Lag en video med en tilpasset bildefrekvens:
ffmpeg -framerate 1 -i img%03d.png -r 25 -pix_fmt yuv420p salida.mp4
Konverter video til animert GIF
FFmpeg lar deg konvertere et videoklipp til en animert GIF, nyttig for memer og sosiale medier:
ffmpeg -i original.mp4 -vf "scale=320:-1" animado.gif
For høyere kvalitet, trekk ut bildene først og bruk et verktøy som gifski:
ffmpeg -i original.mp4 frame%04d.png
gifski -o salida.gif frame*.png
Konverter mellom 4K, FullHD, HD-oppløsninger…
- Fra 4K til FullHD (endre container):
ffmpeg -i 4k.mkv -vf scale=1920:1080 -q:a 0 -q:v 0 1080p.avi - Fra FullHD til HD:
ffmpeg -i fullhd.mkv -vf scale=1280:720 -b:v 2000k hd.mp4 - Fra FullHD til 4K:
ffmpeg -i 1080p.mkv -vf scale=3840:-1 4k.mkv
Redigering av fragmenter: klippe, slå sammen, trimme og kombinere filer
Klipp ut et video- eller lydfragment
For å pakke ut en bestemt del av en fil:
ffmpeg -ss 00:00:30 -t 00:00:15 -i original.mp4 -c copy fragmento.mp4
Dette kutter fra sekund 30, med en varighet på 15 sekunder. Hvis du vil definere slutten i stedet for varigheten, bruk -to:
ffmpeg -ss 00:00:35 -to 00:01:05 -i original.mp4 -c copy fragmento.mp4
Du kan også klippe fra begynnelsen til et punkt:
ffmpeg -t 00:01:36 -i original.mp4 -c copy recortado.mp4
Slå sammen flere videoer til én
Den mest pålitelige metoden er gjennom fillister og filtrering concat: Mer om å slå sammen filer med FFmpeg
- Opprett en tekstfil (for eksempel
lista.txt) med navnene på videoene:
filen 'del1.mp4' filen 'del2.mp4'
- Løpe:
ffmpeg -f concat -safe 0 -i lista.txt -c copy resultado.mp4
Denne metoden er rask og komprimerer ikke på nytt, men videoene må ha identiske kodeker.
Kombiner lyd og video fra forskjellige filer
Du kan slå sammen en lydfil med en videofil:
ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac -strict experimental final.mp4
Slik erstatter du lydsporet i en video:
ffmpeg -i video.mp4 -i nuevo_audio.mp3 -map 0:v -map 1:a -c copy video_con_nuevo_audio.mp4
Automatisering: Batchkonvertering og skripting
En av FFmpegs styrker er å automatisere prosesser ved hjelp av bash-skript. Du kan endre formatet til hundrevis av filer med bare noen få linjer:
IFS=$'\n'
for i in *.webm; do ffmpeg -i "$i" "${i/%.webm/.mp3}"; done; unset IFS
Med lignende løkker kan du konvertere .flv til .ogg, eller en hvilken som helst annen kombinasjon. Husk at i navn med mellomrom, bruken av IFS Det er grunnleggende.
Feilrettinger og kompatibilitet
Reparer problematiske filer
Enkelte videoer fungerer kanskje ikke som de skal på enheter som smart-TV-er. Løs dette ved å generere en kopi i FFmpeg uten å kode på nytt:
ffmpeg -i video_orig.avi -c:v copy -c:a copy reparado.avi
Hvis det er problemer med oppløsningen, kan du tvinge frem -vf "setdar=16:9,setsar=1:1" for å angi riktig sideforhold. Mer informasjon om kompatibilitet med forskjellige formater og enheter er tilgjengelig på verktøy for å konvertere virtuelle disker.
Optimaliser for maksimal kompatibilitet
Hvis du trenger at en MKV-fil skal fungere på nesten alle TV-er, bruk:
ffmpeg -i original.mkv -c:a libmp3lame -pix_fmt yuv420p compatible.mkv
Noen ganger kan lydkodeker forårsake problemer, så velg MP3 eller AAC for maksimal kompatibilitet.
Andre avanserte oppgaver og operasjoner
Trekk ut og legg til undertekster
- Konverter undertekster fra .vtt til .ass:
ffmpeg -i subtitulos.vtt salida.ass - Legg til undertekster i en video:
ffmpeg -i video.mp4 -i subtitulos.srt -map 0 -map 1 -c copy -c:v libx264 -crf 23 -preset veryfast salida.mkv
Fjern undertekster og andre strømmer
ffmpeg -i entrada.mkv -map 0:v -map 0:a -c copy solo_video_audio.mkv
Legg til vannmerker eller logoer
Du kan legge til et bilde (for eksempel PNG med gjennomsiktighet) i et hvilket som helst hjørne:
ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=10:10" salida.mp4
Slik plasserer du logoen nederst til høyre:
ffmpeg -i video.mp4 -i logo.png -filter_complex "overlay=W-w-10:H-h-10" salida.mp4
Juster volumet eller få klar lyd
- Øk volumet ved å multiplisere med 3.5:
ffmpeg -i entrada.mkv -filter:a "volume=3.5" -c:v copy -acodec mp3 salida.mkv - Fjern bakgrunnsstøy (krever sox):
Pakk ut støyfragmentet først
ffmpeg -i entrada.mp3 -ss 00:00:00 -t 1 ruido.mp3
deretter:
sox entrada.mp3 limpio.mp3 noisered noise.prof 0.21
Synkroniser lyd og video
Hvis du oppdager desynkronisering, forsink lyden eller bildet med -itsoffset o -af adelay:
ffmpeg -itsoffset 1.7 -i video.mkv -i video.mkv -map 0:0 -map 1:1 -acodec copy -vcodec copy sincronizado.mkv
I enklere tilfeller for å forsinke lyden med 1.7 sekunder:
ffmpeg -i video1.webm -af "adelay=1700|1700" -vcodec copy video_sincronizado.webm
Sett sammen videoer med forskjellige kodeker eller formater
Når filene ikke har samme kodek og parametere, er det best å omkode dem først eller bruke concat med transkoding. Du kan også sjekke ut.
ffmpeg -f concat -i lista.txt -c:v libx264 -c:a aac -strict experimental salida.mp4
Roter videoer
Slik roterer du en video 90 grader til høyre:
ffmpeg -i original.mov -vf "transpose=1" -c:a copy rotado.mov
For 180 grader:
ffmpeg -i original.mov -vf "transpose=2,transpose=2" -c:a copy rotado.mov
Spill av video i gjentakelse
ffmpeg -stream_loop 2 -i original.mp4 -c copy loop.mp4
Tallet angir repetisjonene; bruk -1 for uendelig.
Stabiliser ustabile videoer
For ustabile videoer:
- Registrerer bevegelse:
ffmpeg -i tembloroso.avi -vf vidstabdetect=stepsize=6:shakiness=3:accuracy=9:result=vectors.trf -f null - - Rett videoen:
ffmpeg -i tembloroso.avi -vf vidstabtransform=input=vectors.trf:zoom=1:smoothing=30,unsharp=5:5:0.8:3:3:0.4 -vcodec libx264 -preset slow -tune film -crf 18 -acodec copy corregido.avi
Avspillingshastighet
Slik øker eller senker du hastigheten på en video:
- Akselerer x2:
ffmpeg -i video.mpg -vf "setpts=0.5*PTS" rapido.mpg - Sakk ned farten x4:
ffmpeg -i video.mpg -vf "setpts=4.0*PTS" lento.mpg
Spill inn video fra skrivebordet eller strømming
- Ta opp skrivebord (FullHD) og lyd:
ffmpeg -f alsa -i default -f x11grab -s 1920x1080 -r 30 -i :0.0 -preset ultrafast -vcodec libx264 -tune zerolatency -f mpegts tcp://IP_DESTINO:4444 - Opptak fra webkamera:
ffmpeg -f v4l2 -i /dev/video0 -preset ultrafast salida.webm
Automatiser masseredigering og repeterende oppgaver
Kombiner FFmpeg med skript som bruker bash, python eller et hvilket som helst prosesshåndteringsspråk for å konvertere, gi nytt navn til og behandle hundrevis av filer samtidig. Eksempel på automatisk fildeling ved hjelp av en oppgavelistefil og et skript som itererer gjennom katalogen og utfører de riktige kommandoene for hver fil etter behov.
Endre flere filformater automatisk
Bruk tilpassede løkker eller skript. For eksempel, for å konvertere alle .wav-filene på en CD til MP3 og lagre dem i en mappe:
cd /ruta/al/cd
mkdir ~/MP3s
IFS=$'\n'
for i in *.wav; do ffmpeg -i "$i" ~/MP3s/"${i/%.wav/.mp3}"; done; unset IFS
Avansert tilfelle: konvertering av DVD-, Blu-ray- eller ISO-innhold
- Monter ISO-bildet på systemet ditt.
- Identifiserer videofragmenter (vanligvis .VOB for DVD, .m2ts for BluRay).
- Sett sammen store filer for å få hele filmen:
cat VTS_01_1.VOB VTS_01_2.VOB VTS_01_3.VOB VTS_01_4.VOB > pelicula.vob - Sjekk strømmingene:
ffmpeg -probesize 4G -analyzeduration 4G -i pelicula.vob - Velg bare de nødvendige strømmene (for eksempel video og lyd på spansk):
ffmpeg -i pelicula.vob -q:a 0 -q:v 0 -map 0:1 -map 0:2 pelicula_es.mkv
Hele prosessen kan tilpasses behovene dine, og du kan inkludere undertekster eller alternative spor ved å bruke de riktige parameterne. -map.
Lidenskapelig forfatter om verden av bytes og teknologi generelt. Jeg elsker å dele kunnskapen min gjennom å skrive, og det er det jeg skal gjøre i denne bloggen, vise deg alle de mest interessante tingene om dingser, programvare, maskinvare, teknologiske trender og mer. Målet mitt er å hjelpe deg med å navigere i den digitale verden på en enkel og underholdende måte.
