Skąd biorą się pliki AVIF i dlaczego sprawiają kłopot
AVIF to format obrazu oparty na kodeku wideo AV1, opublikowany w 2019 roku przez Alliance for Open Media. Przechowuje nieruchomy obraz jako pojedynczą skompresowaną klatkę wideo i właśnie dlatego jest tak wydajny: zdjęcie, które jako dobry JPG zajmuje 400 KB, jako AVIF często mieści się w 100–150 KB przy podobnej widocznej jakości.
Zwykle trafiasz na pliki AVIF, wcale o nie nie prosząc. Sieci CDN dla obrazów i wiele dużych serwisów serwują AVIF każdej przeglądarce, która zgłasza jego obsługę, więc „Zapisz obraz jako” w Chrome lub Firefoksie często daje plik .avif.
Kłopoty zaczynają się poza przeglądarką. Starsze wersje aplikacji Zdjęcia w Windows, Microsoft Office, wiele kiosków fotograficznych, urzędowe formularze z wgrywaniem plików, starsze wydania Photoshopa i Lightrooma oraz większość komunikatorów albo odrzucają AVIF, albo pokazują pustą miniaturę. JPG, ustandaryzowany w 1992 roku, otwiera się praktycznie wszędzie — i o to w konwersji chodzi.
Co dzieje się z obrazem podczas konwersji
Konwersja odbywa się w przeglądarce. Wbudowany dekoder AVIF przeglądarki zamienia plik w surowe piksele, te są rysowane na kanwie w oryginalnej szerokości i wysokości, a kanwa jest kodowana jako JPG z wybraną jakością. Jeśli przeglądarka na to pozwala, dzieje się to w wątku roboczym w tle, więc strona reaguje płynnie nawet przy dużej partii plików. Nic nie jest wysyłane na serwer.
Kilka szczegółów ma tu znaczenie:
- Wymiary pozostają takie same. AVIF 2400×1600 staje się JPG 2400×1600. Jeśli potrzebujesz też mniejszego obrazu, przepuść wynik przez zmianę rozmiaru obrazu.
- Przezroczystość jest spłaszczana. AVIF obsługuje kanał alfa, JPG nie. Przezroczyste obszary są wypełniane kolorem tła z próbnika, domyślnie białym. Dla logo, które ma trafić na ciemną stronę, wybierz kolor tej strony zamiast białego, aby krawędzie się z nią zlały.
- Animowany AVIF daje jedną klatkę. AVIF może zawierać sekwencje obrazów; konwertowana jest tylko pierwsza klatka.
- HDR i szeroka gama kolorów są sprowadzane do standardowego zakresu. AVIF może przechowywać obrazy HDR w 10 i 12 bitach. Kanwa działa w 8-bitowym sRGB, więc obrazy HDR są mapowane do zwykłej jasności, a wynik nie ma osadzonego profilu kolorów. Zwykłe AVIF-y z internetu są już 8-bitowe w sRGB, więc ich to nie dotyczy.
- Metadane nie są kopiowane. JPG jest kodowany z pikseli, więc dane EXIF i XMP z AVIF zostają po drodze.
Wybór jakości JPG
Suwak obejmuje zakres od 10% do 100% i startuje od 90%, czyli wyżej niż 85% stosowane w większości innych konwerterów JPG na tej stronie. Powód jest taki, że obrazy AVIF zwykle zostały już mocno skompresowane. Ich typowe artefakty to wygładzone tekstury i lekko miękkie krawędzie, a nie blokowy szum JPG, a ponowne kodowanie z niską jakością JPG nakłada drugi rodzaj strat na pierwszy.
Praktyczne punkty wyjścia:
- 90% dla zdjęć do oglądania, udostępniania lub druku. Wynik jest bliski temu, co pokazywał AVIF.
- 95–100%, jeśli będziesz dalej edytować obraz i zapisywać go ponownie, a także dla zrzutów ekranu i grafik z drobnym tekstem.
- 75–80%, gdy JPG musi zmieścić się w limicie wgrywania, na przykład 1 MB w formularzu. Po konwersji sprawdź rozmiar widoczny przy każdym pliku.
Dlaczego JPG jest większy i co z tym zrobić
Spodziewaj się, że JPG będzie wyraźnie większy od AVIF. Podsumowanie przy każdym pliku pokazuje obok siebie rozmiar oryginalny i nowy, a AVIF o wadze 120 KB zamieniający się w JPG o wadze 350 KB to norma. Nie oznacza to, że przybyło jakości; JPG po prostu potrzebuje więcej bajtów, aby opisać te same piksele.
Jeśli rozmiar ma znaczenie:
- Obniżaj jakość suwakiem co 5 punktów i porównuj. Większość zdjęć wygląda bez zmian mniej więcej do 80%.
- Zmniejsz wymiary w pikselach. Obraz o szerokości 4000 px wyświetlany w miejscu na 1000 px marnuje trzy czwarte swoich danych.
- Na koniec skompresuj JPG z ustawieniem dopasowanym do miejsca docelowego.
Obsługa przeglądarek i ograniczenia
Ponieważ dekodowanie opiera się na przeglądarce, potrzebujesz takiej, która czyta AVIF: robią to aktualne Chrome, Edge, Firefox i Opera, a Safari od wersji 16.4 na macOS i iOS. Jeśli pliku nie da się zdekodować, przyczyną jest najczęściej przestarzała przeglądarka, plik, który mimo rozszerzenia wcale nie jest AVIF-em, albo uszkodzone pobranie. Jeśli przeglądarka nie potrafi wyświetlić pliku w karcie, nie potrafi go też skonwertować.
Każdy plik może mieć do 50 MB. Możesz przeciągnąć wiele plików naraz; są przetwarzane jeden po drugim z tymi samymi ustawieniami jakości i tła, a następnie pobierane pojedynczo lub jako jeden ZIP.