Lokalne narzędzie do optymalizacji obrazów w WebP/AVIF
Lokalne narzędzie do zbiorczej optymalizacji obrazów w formatach WebP/AVIF, zaprojektowane dla siebie jako wygodna, minimalistyczna i efektywna alternatywa dla ciężkich usług online.
Używam go do przygotowania ilustracji do publikacji na rozwijanych stronach — aby uzyskać nowoczesne formaty z maksymalnym kompresowaniem bez utraty jakości wizualnej. W podstawie — biblioteka libvips (przez pyvips), która przetwarza obrazy strumieniowo w kawałkach zamiast ładować je do pamięci w całości — to daje prędkość 5–10 razy wyższą niż ImageMagick czy Pillow, i pozwala pracować nawet z bardzo dużymi plikami.
WebP kompresuje się z method=6 i smart_subsample, AVIF przez kodek AV1. W przypadku braku libvips — automatyczny fallback na Pillow z obsługą AVIF przez pillow-heif.
Wszystkie pliki są przetwarzane równolegle przez ProcessPoolExecutor. Interfejs wspiera drag & drop, kliknięcie oraz wklejanie z schowka (Ctrl+V). Trzy profile jakości, wybór rozmiarów z inteligentnym uwzględnieniem orientacji (pozioma/pionowa), automatyczne pakowanie do ZIP, automatyczne czyszczenie po 10 minutach. Obrazy nie opuszczają maszyny — całkowicie lokalne przetwarzanie. Stos: Python, FastAPI, libvips/pyvips, Pillow, Vanilla JS
Używam go do przygotowania ilustracji do publikacji na rozwijanych stronach — aby uzyskać nowoczesne formaty z maksymalnym kompresowaniem bez utraty jakości wizualnej. W podstawie — biblioteka libvips (przez pyvips), która przetwarza obrazy strumieniowo w kawałkach zamiast ładować je do pamięci w całości — to daje prędkość 5–10 razy wyższą niż ImageMagick czy Pillow, i pozwala pracować nawet z bardzo dużymi plikami.
WebP kompresuje się z method=6 i smart_subsample, AVIF przez kodek AV1. W przypadku braku libvips — automatyczny fallback na Pillow z obsługą AVIF przez pillow-heif.
Wszystkie pliki są przetwarzane równolegle przez ProcessPoolExecutor. Interfejs wspiera drag & drop, kliknięcie oraz wklejanie z schowka (Ctrl+V). Trzy profile jakości, wybór rozmiarów z inteligentnym uwzględnieniem orientacji (pozioma/pionowa), automatyczne pakowanie do ZIP, automatyczne czyszczenie po 10 minutach. Obrazy nie opuszczają maszyny — całkowicie lokalne przetwarzanie. Stos: Python, FastAPI, libvips/pyvips, Pillow, Vanilla JS