Bez przesyłania, 100% lokalnie, bez konta

Artykuł

Dlaczego GIF-y są takie ciężkie

Trzysekundowy animowany GIF regularnie waży więcej niż pełna minuta wideo MP4 obejmującego ten sam klip, co dziwi każdego przyzwyczajonego do myślenia o wideo jako o cięższym formacie. GIF nigdy nie został zaprojektowany jako efektywny sposób przechowywania ruchu; to format obrazu z 1987 roku, który przypadkiem obsługuje sekwencję klatek, i każda decyzja projektowa za nim poprzedza nowoczesną kompresję wideo o dekady.

GIF to sekwencja obrazów, a nie strumień wideo

Format Graphics Interchange Format, wprowadzony przez CompuServe w 1987 roku i poprawiony jako GIF89a w 1989, przechowuje animację jako serię pojedynczych klatek obrazu odtwarzanych po kolei, każda jako własny skompresowany nieruchomy obraz. Prawdziwy kodek wideo, jak H.264, zamiast tego koduje większość klatek jako różnicę względem poprzedniej klatki, ponieważ kolejne klatki wideo są zwykle bardzo podobne, przechowując tylko to, co się zmieniło. GIF nie ma odpowiedniego mechanizmu: nawet w większości statyczna scena ponownie przechowuje duże części każdej pojedynczej klatki.

Diagram przeciwstawiający GIF, który przechowuje pełny niezależny obraz na klatkę, kodekowi wideo, który przechowuje większość klatek jako różnicę względem poprzedniej.

256 kolorów, niezależnie od tego, czy źródło ich potrzebuje

GIF ogranicza każdą klatkę do palety co najwyżej 256 kolorów, wybranych z dużo szerszego zakresu, jaki faktycznie zawiera zdjęcie lub wideo. Nagranie ekranu albo klip wideo z płynnymi gradientami i oświetleniem zostaje spłaszczony do tej ograniczonej palety, wprowadzając widoczne pasy kolorystyczne i dithering, a plik nadal musi przechowywać pełną wartość tych zredukowanych danych kolorystycznych na każdej pojedynczej klatce, bez żadnej kompresji między klatkami, na której mógłby się oprzeć.

Porównanie próbek kolorów: paleta GIF 256 kolorów obok pełnego zakresu kolorów oryginalnego zdjęcia lub źródła wideo.

Dlaczego format nigdy nie doczekał się nowoczesnego zastępstwa

Pętla animacji GIF i uniwersalne wsparcie, każda przeglądarka i aplikacja do wiadomości może odtworzyć GIF bez wtyczki, utrzymywały go w ciągłym użyciu długo po tym, jak pojawiły się lepsze opcje, tak samo jak MP3 pozostał w użyciu po wypuszczeniu efektywniejszych kodeków audio. WebP i APNG oba obsługują animację z prawdziwą kompresją na klatkę i dużo większą liczbą kolorów, dając zauważalnie mniejsze pliki dla tej samej treści, ale żaden z nich nie osiągnął poziomu uniwersalnego wsparcia GIF na każdej platformie i w każdym kontekście udostępniania, więc GIF pozostaje domyślnym wyborem dla krótkiej pętlowanej animacji, mimo że to najmniej efektywny sposób jej przechowywania.

MP4 tego samego klipu jest zwykle dużo mniejszy

Konwersja tego samego krótkiego klipu na MP4 z H.264 zachowuje kompresję różnicową między klatkami kodeka wideo i pełny zakres kolorów, dlatego plik zwykle kończy się jako ułamek rozmiaru odpowiadającego mu GIF dla identycznej treści i długości. Kompromisem jest to, że MP4 potrzebuje odtwarzacza wideo, zamiast wyświetlać się wbudowany jako obraz wszędzie tam, gdzie GIF, choć większość nowoczesnych aplikacji do wiadomości i platform społecznościowych już automatycznie odtwarza krótki MP4 tak samo jak zrobiłaby to z GIF.

Konwersja między GIF a wideo bez wysyłania czegokolwiek

Nasze narzędzie GIF na wideo przekodowuje animowany GIF na kompaktowy MP4, a wideo na GIF robi odwrotnie, gdy prawdziwy GIF, dla kontekstu, który konkretnie go wymaga, jest tym, czego naprawdę potrzebujesz, oba w całości w przeglądarce, używając ffmpeg skompilowanego do WebAssembly. Konwersja istniejącego ciężkiego GIF na MP4 najpierw, a potem powrót do GIF tylko dla nielicznych kontekstów, które naprawdę wymagają tego formatu, to zwykle najszybszy sposób, by zmniejszyć rozmiar pliku udostępnianej animacji bez utraty pętli.

Narzędzia w tym artykule

Najczęściej zadawane pytania

Dlaczego krótki GIF waży więcej niż dużo dłuższe wideo MP4?

GIF ponownie przechowuje większość każdej klatki niezależnie, bez kompresji między klatkami, ograniczony do 256 kolorów, podczas gdy MP4 koduje większość klatek jako zwykłą różnicę względem poprzedniej i zachowuje dużo więcej szczegółów kolorystycznych. Narzut formatu GIF na klatkę szybko się sumuje, nawet dla klipu stanowiącego ułamek długości wideo.

Czy mogę zmniejszyć GIF bez konwersji na wideo?

Tak, do pewnego stopnia: zmniejszenie liczby klatek na sekundę, zmniejszenie wymiarów pikselowych albo skrócenie klipu, wszystko to bezpośrednio zmniejsza rozmiar GIF, bo mniej lub mniejsze klatki oznaczają mniej danych do przechowania. Żadne z tych działań nie zmienia fundamentalnego braku kompresji między klatkami formatu, dlatego konwersja na MP4 zwykle oszczędza dużo więcej niż skrócenie GIF.

Czy MP4 będzie się zapętlał automatycznie tak jak GIF?

Większość aplikacji do wiadomości i platform społecznościowych automatycznie odtwarza i zapętla krótki MP4 wbudowany, tak samo jak obsługują GIF, więc wizualny efekt jest zwykle identyczny dla widza. Kontekst, który wyświetla surowy znacznik obrazu bez wsparcia odtwarzacza wideo, niektóre e-maile i starsze oprogramowanie forów, nadal potrzebuje prawdziwego pliku GIF.

Źródła