Du har 500 PNG-skjermbilder som skal konverteres til WebP for nettstedet ditt. FFmpeg er best kjent som et videoverktøy, men håndterer bilder like bra.
Hvorfor FFmpeg for bilder?
FFmpeg er sannsynligvis allerede installert hvis du jobber med video. For RAW-formater (CR2, NEF, ARW) bruk darktable eller RawTherapee.
Installer FFmpeg
# macOS
brew install ffmpeg
# Ubuntu / Debian
sudo apt install ffmpeg
# Windows (Chocolatey)
choco install ffmpegffmpeg -versionGrunnleggende mønster
Hver bulk-konverteringskommando følger samme struktur: en shell-løkke (Linux/macOS) eller en for-løkke (Windows). Skriv alltid til en separat utdatakatalog.
Massekonverter PNG til JPG
mkdir -p output
for f in *.png; do
ffmpeg -i "$f" -q:v 2 "output/${f%.png}.jpg"
donemkdir output
for %f in (*.png) do ffmpeg -i "%f" -q:v 2 "output/%~nf.jpg"New-Item -ItemType Directory -Force output
Get-ChildItem *.png | ForEach-Object {
ffmpeg -i $_.FullName -q:v 2 "output/$($_.BaseName).jpg"
}| -q:v | Kvalitet | Typisk bruk |
|---|---|---|
| 1-2 | Nesten tapsfri | Trykk, arkivering |
| 3-5 | Høy kvalitet | Webfotografi |
| 6-10 | Middels | Forhåndsvisninger |
| 11+ | Lav kvalitet | Unngå |
Massekonverter JPG til WebP
mkdir -p output
for f in *.jpg *.jpeg; do
[ -f "$f" ] || continue
ffmpeg -i "$f" -quality 85 "output/${f%.*}.webp"
donemkdir -p output
for f in *.png; do
ffmpeg -i "$f" -lossless 1 "output/${f%.png}.webp"
doneWebP produserer typisk 25–35 % mindre filer enn tilsvarende JPG. For bilder er 80–85 det optimale området.
Konverter til PNG
mkdir -p output
for f in *.jpg *.jpeg; do
[ -f "$f" ] || continue
ffmpeg -i "$f" "output/${f%.*}.png"
doneKonverter blandede formater
mkdir -p output
for f in *.jpg *.jpeg *.png *.webp *.tiff *.bmp; do
[ -f "$f" ] || continue
ffmpeg -i "$f" -q:v 3 "output/${f%.*}.jpg"
doneEndre størrelse og konverter i ett trinn
mkdir -p output
for f in *.png; do
ffmpeg -i "$f" -vf scale=1080:-1 -q:v 3 "output/${f%.png}.jpg"
donemkdir -p output
for f in *.jpg; do
ffmpeg -i "$f" -vf "crop='min(iw,ih)':'min(iw,ih)',scale=200:200" \
"output/${f%.jpg}_thumb.jpg"
doneRekursiv behandling av undermapper
find . -name "*.png" -not -path "./output*" | while read f; do
output="output/${f#./}"
mkdir -p "$(dirname "$output")"
ffmpeg -i "$f" -q:v 3 "${output%.png}.jpg"
doneParallell behandling for hastighet
mkdir -p output
ls *.png | xargs -P 4 -I {} sh -c 'ffmpeg -i "$1" -q:v 3 "output/${1%.png}.jpg"' _ {}På en 8-kjerners maskin med SSD reduserer parallell behandling typisk konverteringstiden 3–5 ganger.
Fremdriftsindikator
total=$(ls *.png | wc -l)
count=0
mkdir -p output
for f in *.png; do
count=$((count + 1))
echo "[$count/$total] $f"
ffmpeg -loglevel quiet -i "$f" -q:v 3 "output/${f%.png}.jpg"
doneFeilhåndtering
mkdir -p output
error_log="errors.txt"
> "$error_log"
for f in *.jpg *.jpeg *.png *.webp; do
[ -f "$f" ] || continue
if ffmpeg -loglevel error -i "$f" -quality 85 "output/${f%.*}.webp" 2>>"$error_log"; then
echo "✓ $f"
else
echo "✗ $f"
fi
doneKommandoreferanse
| Konvertering | Kommando (Linux/macOS) | Merknad |
|---|---|---|
| Alle PNG → JPG | for f in *.png | do ffmpeg -i "$f" -q:v 3 output/${f%.png}.jpg |
| Alle JPG → WebP | for f in *.jpg | do ffmpeg -i "$f" -quality 85 output/${f%.jpg}.webp |
| Alle JPG → PNG | for f in *.jpg | do ffmpeg -i "$f" output/${f%.jpg}.png |
| Alle → WebP tapsfritt | for f in *.png | do ffmpeg -i "$f" -lossless 1 output/${f%.png}.webp |
| Endre størrelse + konverter | for f in *.jpg | do ffmpeg -i "$f" -vf scale=1080:-1 -q:v 3 output/${f%.jpg}.jpg |
Når FFmpeg ikke er riktig verktøy
RAW-kameraformater — begrenset støtte. Bruk darktable eller RawTherapee.
AVIF-koding — mulig men veldig treg uten maskinvareakselerasjon.
Bare noen få filer? FastConvert er raskere — uten installasjon.
Ofte stilte spørsmål
Oppsummering
Masse-bildekonvertering med FFmpeg handler om en enkel shell-løkke. Test alltid på en liten batch før du behandler hele biblioteket.
Konvertere bilder uten kommandolinjen? FastConvert — gratis, ingen registrering.
