500 PNG képernyőképed van, amelyeket WebP-re kell konvertálni a webhelyedhez. Az FFmpeg főleg videoeszközként ismert, de képekkel ugyanolyan jól boldogul.
Miért használjuk az FFmpeg-et képekhez?
Az FFmpeg valószínűleg már telepítve van, ha videómunkát végzel. RAW kameraformátumokhoz (CR2, NEF, ARW) használd a darktable-t vagy RawTherapee-t.
Az FFmpeg telepítése
# macOS
brew install ffmpeg
# Ubuntu / Debian
sudo apt install ffmpeg
# Windows (Chocolatey)
choco install ffmpegffmpeg -versionAz alapminta
Minden tömeges konverziós parancs ugyanazt a struktúrát követi: shell-ciklus (Linux/macOS) vagy for-ciklus (Windows). Mindig külön kimeneti könyvtárba írj.
Az összes PNG konvertálása JPG-re
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 | Minőség | Tipikus felhasználás |
|---|---|---|
| 1-2 | Közel veszteségmentes | Nyomtatás, archiválás |
| 3-5 | Magas minőség | Webfotózás |
| 6-10 | Közepes | Előnézetek |
| 11+ | Alacsony minőség | Kerülendő |
Az összes JPG konvertálása WebP-re
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"
doneA WebP tipikusan 25–35 % kisebb fájlokat hoz létre, mint az egyenértékű JPG. Fotóknál 80–85 az optimális tartomány.
Konvertálás PNG-re
mkdir -p output
for f in *.jpg *.jpeg; do
[ -f "$f" ] || continue
ffmpeg -i "$f" "output/${f%.*}.png"
doneVegyes formátumok konvertálása
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"
doneÁtméretezés és konvertálás egy lépésben
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"
doneAlkönyvtárak rekurzív feldolgozása
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"
donePárhuzamos feldolgozás a sebesség növeléséhez
mkdir -p output
ls *.png | xargs -P 4 -I {} sh -c 'ffmpeg -i "$1" -q:v 3 "output/${1%.png}.jpg"' _ {}8-magos gépen SSD-tárolással a párhuzamos feldolgozás tipikusan 3–5-szörösére csökkenti a konverziós időt.
Előrehaladásjelző
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"
doneHibakezelés
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
doneParancsreferencia
| Konverzió | Parancs (Linux/macOS) | Megjegyzés |
|---|---|---|
| Összes PNG → JPG | for f in *.png | do ffmpeg -i "$f" -q:v 3 output/${f%.png}.jpg |
| Összes JPG → WebP | for f in *.jpg | do ffmpeg -i "$f" -quality 85 output/${f%.jpg}.webp |
| Összes JPG → PNG | for f in *.jpg | do ffmpeg -i "$f" output/${f%.jpg}.png |
| Összes → WebP veszteségmentes | for f in *.png | do ffmpeg -i "$f" -lossless 1 output/${f%.png}.webp |
| Átméretezés + konvertálás | for f in *.jpg | do ffmpeg -i "$f" -vf scale=1080:-1 -q:v 3 output/${f%.jpg}.jpg |
Mikor nem az FFmpeg a megfelelő eszköz
RAW kameraformátumok — korlátozott támogatás. Használd a darktable-t vagy RawTherapee-t.
AVIF kódolás — lehetséges, de hardveres gyorsítás nélkül nagyon lassú.
Csak néhány fájl? FastConvert gyorsabb — telepítés nélkül.
Gyakran ismételt kérdések
Összefoglalás
Az FFmpeg tömeges képkonverziója egyszerű shell-ciklusra épül. Mindig tesztelj kis méretű kötegen a teljes könyvtár feldolgozása előtt.
Képek konvertálása parancssor nélkül? FastConvert — ingyenesen, regisztráció nélkül.
