AVIF na JPG: zdjęcie, którego nie chce otworzyć żaden twój program
Zapisałeś obrazek ze strony internetowej i nic na komputerze nie chce go otworzyć. To jest AVIF. Chrome, Edge, Firefox i Safari wyświetlają go bez problemu, a większość sieci CDN serwuje dziś ten format domyślnie, więc plik trafił do ciebie, choć wcale o niego nie prosiłeś. Starsze wersje Photoshopa, Zdjęcia w Windowsie, punkty druku i sporo formularzy wysyłki nadal odrzucają to rozszerzenie. Z twoim plikiem wszystko jest w porządku. Nie jest uszkodzony i niczego mu nie brakuje. Po prostu przyszedł w formacie, którego jeszcze nie było, kiedy powstawały twoje programy. JPG to jedyny format rastrowy obsługiwany praktycznie wszędzie, więc konwersja jest najkrótszą drogą do obrazu, który wyślesz mailem, wydrukujesz albo przepchniesz przez formularz, na który nie masz wpływu. Poniżej opisujemy dokładnie, co ten konwerter robi z twoim plikiem, łącznie z tym, o czym większość stron konwersji milczy, bo nie brzmi to dobrze w reklamie.
Twój JPG będzie najprawdopodobniej większy niż AVIF
Każdy inny konwerter obiecuje mniejszy plik. Przy tej konwersji ta obietnica jest nieprawdziwa i łatwo to sprawdzić. AVIF to znacznie wydajniejszy kodek niż JPEG, więc ten sam obraz potrzebuje więcej bajtów, kiedy staje się JPG. Oto zdjęcie 2000 na 1500, które przyszło jako AVIF o wadze 138 KB, przepuszczone przez wszystkie trzy ustawienia na naszym własnym serwerze:
| Ustawienie | Rozmiar JPG | Wobec AVIF |
|---|---|---|
| Best quality (najwyższa jakość) | 426 KB | +207% |
| Recommended (ustawienie zalecane) | 184 KB | +33% |
| Smallest (najmniejszy plik) | 87 KB | -37% |
Drugi plik, AVIF 1200 na 900 o wadze zaledwie 21 KB, zachował się tak samo, tylko ostrzej: +285%, +55%, a przy Smallest wciąż +4%. Ta różnica nie bierze się z błędu w konwersji ani z ustawienia, które dałoby się poprawić. Wynika z samego kodeka: AVIF zapisuje ten sam obraz oszczędniej niż JPEG, i tyle. Im lepiej zakodowany był twój AVIF na starcie, tym mniejsza szansa, że jakikolwiek JPG go pobije. Konwertujesz dla zgodności, a nie po to, żeby oszczędzić miejsce. Jeśli naprawdę chodzi ci o zmniejszenie pliku, skompresuj JPG później albo zostaw AVIF dla stron i używaj JPG tylko tam, gdzie AVIF jest odrzucany.
Zdjęcia wychodzą w prawidłowej orientacji
Telefony zapisują niemal każde zdjęcie poziomo i dopinają do niego znacznik mówiący, w którą stronę je obrócić. Sam znacznik niczego nie obraca, mówi tylko programowi, co ma zrobić, więc wszystko zależy od tego, czy ktoś go w ogóle przeczyta. Konwerter, który ten znacznik ignoruje, zwraca każde zdjęcie pionowe położone na boku. Tutaj znacznik jest odczytywany i zastosowany zanim cokolwiek zostanie zakodowane, a potem usunięty z pliku wynikowego. Obie połowy mają znaczenie: pozostawiony znacznik sprawia, że Chrome, Safari, iOS i Zdjęcia w Windowsie obracają po raz drugi już poprawione zdjęcie, i właśnie tak ludzie kończą z obrazem do góry nogami, nie wiedząc dlaczego.
Kolory nie robią się jaskrawe
Nowoczesne telefony fotografują w Display P3, czyli w szerszym zakresie barw niż sRGB. Profil nie jest filtrem ani efektem, tylko informacją o tym, jak odczytywać zapisane w pliku wartości. Wyrzucenie tego profilu niczego nie konwertuje: zostawia te same liczby do odczytania według złej miarki, więc każdy nasycony kolor przychodzi przesycony, skóra robi się czerwona, a niebo neonowe. Profil jest domyślnie przenoszony do JPG. Jeśli miejsce docelowe w ogóle nie czyta profili, ustawienie Colour profile (profil kolorów) przelicza obraz porządnie do sRGB, zamiast po prostu odrzucić znacznik.
Przezroczyste obszary dostają kolor, który sam wybierzesz
JPEG nie ma kanału alfa, więc przezroczyste tło trzeba czymś wypełnić. Oddaj logo z przezroczystymi narożnikami niedbałemu konwerterowi, a często wróci z czarnym prostokątem w tle, co wygląda dokładnie jak uszkodzony plik. Tutaj domyślna jest biel, a próbnik koloru obok ustawień pozwala ustawić dowolną barwę, przez paletę albo przez kod szesnastkowy. Wypełnienie obejmuje wyłącznie obszary przezroczyste, reszta obrazu zostaje nietknięta. Wynik informuje, że przezroczystość została spłaszczona, więc zmienione tło nigdy nie jest zaskoczeniem. Jeśli potrzebujesz zachować przezroczystość zamiast ją wypełniać, użyj AVIF na PNG.
Które ustawienie wybrać
Best quality (najwyższa jakość) jest dla kopii archiwalnej albo dla pliku, który idzie do druku, gdzie nie przeszkadza ci, że waży kilka razy więcej. Recommended (ustawienie zalecane) to właściwa odpowiedź dla wszystkiego, co trafia na ekran, a strata nie jest widoczna na fotografii w normalnej wielkości wyświetlania. Smallest (najmniejszy plik) jest dla poczty, komunikatorów i wszędzie tam, gdzie prawdziwym ograniczeniem jest limit rozmiaru. Żadne z tych trzech ustawień nie zmienia wymiarów obrazu, różnią się wyłącznie stopniem kompresji. Jeśli nie masz pewności, zostaw Recommended. Możesz zmienić zdanie i przekonwertować jeszcze raz, nic za to nie zapłacisz.
Plik jest rozpoznawany po zawartości, a nie po nazwie
Zmiana nazwy nie zmienia tego, co jest w środku, a ludzie zmieniają nazwy plików bez przerwy. AVIF przebrany w rozszerzenie .jpg albo plik .avif zapisany z przeglądarki pod inną nazwą jest rozpoznawany po własnych bajtach i konwertowany prawidłowo. Nie musisz niczego wcześniej poprawiać ani przywracać właściwego rozszerzenia. AVIF w skali szarości wychodzi w skali szarości. Animowany AVIF daje pierwszą klatkę jako nieruchomy obraz, a wynik wyraźnie to podaje.
Konwersja wsadowa zachowuje nazwy plików
Przekonwertuj cały folder obrazów za jednym razem, a wrócą w jednym pliku ZIP, każdy pod nazwą, którą wysłałeś: photo.avif staje się photo.jpg, łącznie z nazwami arabskimi, chińskimi i z polskimi znakami. Jeden nieczytelny plik nie psuje całej paczki: zostaje pominięty, wymieniony w wyniku wraz z powodem, a reszta konwertuje się normalnie. Wynik pokazuje też rozmiar przed i po dla każdego pliku z osobna, a nie jedną sumę, więc od razu widać, który obraz urósł, a który nie.
Co dostajesz
- JPG, który otwiera się w programach napisanych, zanim AVIF w ogóle powstał
- Zdjęcia we właściwej orientacji, ze skasowanym znacznikiem, żeby nic ich ponownie nie obróciło
- Zachowany szeroki zakres barw albo porządne przeliczenie do sRGB, kiedy o to poprosisz
- Przezroczyste obszary wypełnione kolorem, który wybierzesz, nigdy przypadkową czernią
- Te same wymiary w pikselach, od których zacząłeś, za każdym razem
- Paczki zwracane w jednym pliku ZIP pod twoimi oryginalnymi nazwami
Co dalej?
Chcesz zachować przezroczyste tło, zamiast je wypełniać? AVIF na PNG ma prawdziwy kanał alfa i nie narusza nawet częściowej przezroczystości.
Masz już JPG, ale jest za ciężki na maila? Kompresja JPEG zbija rozmiar bez zmiany wymiarów.
Ten sam problem, inny format? HEIC na JPG obsługuje iPhone'ową wersję dokładnie tej samej sytuacji.