tooly

Jak zmniejszyć GIF-a na tyle, by dało się go wysłać

Pięciosekundowe nagranie ekranu zamienia się w 20-megabajtowego GIF-a, który potem odbija się od każdego limitu po drodze. Komunikatory w darmowych planach ograniczają załączniki, fora często przyjmują tylko kilka megabajtów, a najpopularniejsze skrzynki pocztowe odrzucają załączniki powyżej 25 MB. Awatary, miejsca na emoji i grafiki w stopkach mają jeszcze ostrzejsze limity.

Dobra wiadomość jest taka, że niemal każdy za duży GIF niesie o wiele więcej danych, niż ktokolwiek jest w stanie zobaczyć. Ten poradnik wyjaśnia, skąd bierze się ta waga, jak ją przewidywalnie obciąć i kiedy najlepiej w ogóle nie wysyłać GIF-a.

Dlaczego GIF-y są ogromne

Format pochodzi z 1987 roku i powstał z myślą o małych grafikach, a nie o wideo. Każda klatka jest zapisana jako osobny obraz z bezstratną kompresją LZW, która dobrze radzi sobie z jednolitymi plamami koloru, ale zawodzi przy wszystkim, co zaszumione. Nie ma tu kompensacji ruchu: kodek wideo po pierwszej klatce zapisuje mówiącą głowę na statycznym tle niemal za darmo, a GIF płaci za całą klatkę raz za razem.

Każda klatka jest też ograniczona do 256 kolorów. Gdy GIF powstaje z nagrania z kamery, enkoder rozsiewa po każdej klatce punkty ditheringu, żeby udawać brakujące odcienie — a właśnie takie punkty LZW kompresuje najgorzej.

Zostają więc trzy dźwignie, a ich efekty się mnożą:

  • Liczba klatek na sekundę. Zejście z 30 do 12 fps usuwa 60% klatek. Większość GIF-ów do czatu wygląda dobrze przy 10–15 fps.
  • Wymiary. Rozmiar zależy od liczby pikseli, a nie od szerokości. Skalowanie do 75% zostawia 56% pikseli, a do 50% — jedną czwartą.
  • Paleta. Paleta 64 lub 128 kolorów dobrana pod konkretną animację kompresuje się znacznie lepiej niż 256.

Czwartą dźwignią, i to najtańszą, jest długość: wycięcie nudnej sekundy na końcu pętli nic nie kosztuje wizualnie.

Zmniejsz istniejącego GIF-a

Kompresja GIF online buduje animację od nowa przy użyciu FFmpeg działającego w przeglądarce. Pierwszy przebieg analizuje całą animację i tworzy jedną zoptymalizowaną paletę; drugi rysuje każdą klatkę na nowo względem tej palety z ditheringiem uporządkowanym, który zostawia regularny wzór, kompresujący się dużo lepiej niż losowy szum.

  1. Wybierz poziom. Domyślnie zaznaczony jest Średni.
  2. Upuść jednego lub kilka GIF-ów. Każdy wiersz pokazuje rozmiar przed i po.
  3. Jeśli wynik nadal jest za duży, usuń go, przełącz na kolejny poziom i upuść oryginał jeszcze raz.

Co robią poszczególne poziomy, w liczbach:

  • Niski: 15 fps, oryginalne wymiary, do 256 kolorów. Do demonstracji interfejsu, w których każdy piksel tekstu musi pozostać czytelny.
  • Średni: 12 fps, 75% szerokości i wysokości, do 128 kolorów. Właściwy pierwszy wybór dla GIF-ów z reakcjami i nagrań udostępnianych na czacie.
  • Wysoki: 10 fps, połowa szerokości i wysokości, do 64 kolorów. Stworzony z myślą o twardych limitach; liczba klatek i pikseli razem spada do niewielkiego ułamka oryginału.

Na każdym poziomie zachowane jest tempo. Trzysekundowa pętla nadal trwa trzy sekundy — jest po prostu rysowana mniejszą liczbą klatek. Narzędzie przyjmuje pliki do 100 MB i nic nie opuszcza Twojego urządzenia.

Który poziom do jakiej treści

  • Nagrania ekranu i prezentacje interfejsu dobrze znoszą redukcję kolorów, ale cierpią przy zmniejszaniu, bo drobny tekst zamienia się w papkę. Zacznij od poziomu Niski; jeśli to za mało, następnym razem nagraj mniejszy obszar, zamiast przechodzić na Wysoki.
  • Naklejki, logo i płaskie ilustracje z garstką kolorów wyglądają przy 64 kolorach niemal tak samo, więc Wysoki zwykle się sprawdza.
  • Klipy z kamery z odcieniami skóry, niebem i gradientami przy 64 kolorach wyraźnie się pasmują. Średni to bezpieczniejszy pułap.
  • Pixel artu nigdy nie należy skalować. Użyj poziomu Niski.

Zacznij od wideo, jeśli nadal je masz

Jeśli GIF powstał z filmu, a źródło wciąż masz pod ręką, często lepiej zbudować go od nowa, niż ściskać gotowego GIF-a, bo od początku kontrolujesz ustawienia.

  1. Wytnij z klipu moment, który się liczy, w narzędziu Przytnij wideo online. Trzy sekundy pętli zwykle wystarczą.
  2. Otwórz Konwertuj wideo na GIF i wybierz szerokość oraz liczbę klatek. Do czatu solidnym punktem wyjścia jest 320 lub 480 px przy 10 fps; 640 px używaj tylko do nagrań ekranu z tekstem.
  3. Konwertuj. Jeśli wynik wciąż nieznacznie przekracza limit, przepuść go przez Kompresję GIF na poziomie Średni.

Konwerter wideo na GIF zawsze liczy maksymalny czas trwania od 0:00, dlatego najpierw warto przyciąć klip: inaczej dostaniesz pierwsze sekundy filmu, a nie fragment, o który chodziło.

Lepsze rozwiązanie, jeśli miejsce docelowe na to pozwala

Jeśli serwis, w którym publikujesz, przyjmuje wideo, wyślij MP4. Te same pięć sekund, które jako GIF ważą 20 MB, jako H.264 często zajmują kilkaset kilobajtów — w pełnym kolorze i przy pełnej liczbie klatek. Większość nowoczesnych komunikatorów odtwarza krótkie, wyciszone klipy bezpośrednio w rozmowie i w pętli, więc odbiorca widzi praktycznie to samo. Niektóre komunikatory z tego właśnie powodu po cichu zamieniają wgrane GIF-y na wideo.

Kompresja wideo online tworzy plik MP4 w H.264; do czatu dobrze sprawdza się ustawienie Średnia. W wyciszonej pętli ścieżki dźwiękowej i tak nie warto zachowywać.

GIF pozostaje jedynym wyborem tam, gdzie wideo jest niedozwolone albo nie odtwarza się automatycznie: w treści i stopkach e-maili, w plikach README na niektórych hostingach, na starszym oprogramowaniu forów, w miejscach na własne emoji i awatary oraz w narzędziach do dokumentacji, które wycinają wideo. Tam używaj GIF-a, a wszędzie indziej — wideo.

Typowe sytuacje

  • Komunikator odrzuca plik jako za duży. Najpierw spróbuj poziomu Średni. Jeśli GIF powstał z nagrania ekranu dłuższego niż dziesięć sekund, skróć go u źródła, zamiast przechodzić na Wysoki.
  • Forum ogranicza załączniki do kilku megabajtów. Wysoki, a jeśli to wciąż za dużo, zbuduj GIF-a od nowa ze źródłowego klipu w 320 px i przy 8–10 fps.
  • Stopka e-mailowa lub newsletter. Utrzymaj animację poniżej kilkuset kilobajtów: małe wymiary, mało klatek, poziom Wysoki. Duże animowane obrazy spowalniają otwieranie wiadomości, a niektóre programy pocztowe pokazują tylko pierwszą klatkę.
  • GIF z reakcją do czatu grupowego. 320 px szerokości w zupełności wystarczy na ekranie telefonu. Nikt nie zauważy 10 fps w dwusekundowej reakcji.

Rozwiązywanie problemów

  • Plik prawie się nie zmniejszył. Źródło było już zoptymalizowane: małe, z niską liczbą klatek lub z niewielką liczbą kolorów. Przejdź o poziom wyżej. Jeśli oryginał ma 10 fps lub mniej, poziom Niski może nawet dodać klatki, więc od razu wybierz Średni lub Wysoki.
  • W gradientach pojawiają się pasy. To efekt palety 128 lub 64 kolorów. Wróć do lżejszego poziomu albo wykadruj niebo lub miękkie tło.
  • Widać drobną siatkę. To wzór ditheringu uporządkowanego, najbardziej widoczny na gładkich gradientach przy poziomie Wysoki.
  • Jedna scena ma dziwne kolory. Cała animacja dzieli jedną paletę, więc krótka scena w nietypowych barwach dostaje niewiele miejsc w palecie. Wycięcie tej sceny pomaga bardziej niż jakiekolwiek ustawienie.
  • Strona wygląda na zawieszoną. Silnik FFmpeg pobiera się raz przy pierwszym użyciu, a potem działa lokalnie. Duży GIF może się przetwarzać do minuty na laptopie i dłużej na telefonie.

Lista kontrolna

  1. Czy miejsce docelowe przyjmuje MP4? Jeśli tak, wyślij skompresowane MP4.
  2. Zanim zrobisz cokolwiek innego, skróć animację do fragmentu, który się liczy.
  3. Do czatu celuj w 320–480 px przy 10–12 fps.
  4. Kompresuj na poziomie Średni; po Wysoki sięgaj tylko przy twardych limitach.
  5. Przed wysłaniem sprawdź wynik w rzeczywistym rozmiarze wyświetlania.

Opublikowano 2026-10-08