Przejdź do treści
HNarzędzia
pl
Kategorie

Wideo i nagrania

Jak zrobić GIF z filmu, który nie waży kilkudziesięciu MB

GIF z kilkunastu sekund filmu potrafi ważyć wielokrotnie więcej niż sam film. Poniżej: skąd się to bierze, które ustawienie zmniejsza plik najbardziej i kiedy lepiej zrezygnować z GIF-a.

Na naszym syntetycznym pliku testowym (film 1280×720, 15 s, 8,4 MB w MP4) GIF z ustawieniami 15 s, 15 kl./s i 720 px (maksymalna długość i szerokość w narzędziu) waży 25,1 MB. To trzy razy więcej niż film, z którego powstał. Ten sam materiał skrócony do 5 s, z 10 kl./s i szerokością 480 px zmieścił się w 2,3 MB.

Dlaczego GIF jest ciężki

Film w MP4 czy WebM zapisuje głównie zmiany między klatkami i potrafi pominąć to, co się nie poruszyło. W GIF-ie narzędzie zapisuje każdą klatkę w całości, jako osobny obraz skompresowany algorytmem LZW. Przy 10 kl./s i 5 s to 50 pełnych obrazów, a przy 15 kl./s i 15 s już 225.

Drugi powód to kolory. Obraz w GIF-ie rysuje się z tablicy kolorów, a specyfikacja formatu pozwala na najwyżej 256 pozycji (GIF89a, W3C, sprawdzone w październiku 2026). Narzędzie buduje jedną wspólną paletę 256 kolorów z maksymalnie 8 klatek rozłożonych równomiernie po wybranym fragmencie. Dzięki temu kolory nie „migoczą” między klatkami, ale gładkie przejścia tonalne (niebo, gradient, skóra) mogą wyjść pasmowe lub ziarniste. W klatce naszego pliku testowego naliczyłem w Node 25 519 różnych kolorów, a w klatce GIF-a o szerokości 480 px 225.

Z tego wynika, na co masz wpływ: na liczbę klatek i liczbę pikseli w każdej z nich. Palety w narzędziu nie ustawiasz.

Co zmniejsza GIF i w jakiej kolejności po to sięgać

Narzędzie Wideo na GIF ma trzy ustawienia. Każde ma granice, które wynikają z kodu. Do tego GIF nie jest szerszy od filmu źródłowego.

Ustawienie Zakres Domyślnie Wpływ na wagę
Zaznaczony fragment od 0,2 do 15 s pierwsze 5 s Waga rośnie mniej więcej liniowo z długością
Klatki na sekundę 5-20 10 Waga rośnie z liczbą klatek
Szerokość 240-720 px, krok 20 px 480 px Waga klatki rośnie z liczbą pikseli, a wysokość dopasowuje się do proporcji filmu

Kolejność, którą polecam: najpierw skróć fragment, bo to nie zmienia wyglądu żadnej klatki. Potem obniż liczbę klatek, jeśli ruch jest powolny. Szerokość zmniejszaj na końcu, bo jej spadek widać od razu, zwłaszcza gdy w kadrze jest tekst.

Zanim klikniesz „Utwórz GIF”, narzędzie pokazuje długość fragmentu, liczbę klatek i wymiary GIF-a. Dzięki temu możesz policzyć, ile pikseli trzeba będzie zakodować: liczba klatek × szerokość × wysokość. Powyżej 60 milionów pikseli narzędzie ostrzega, że GIF będzie duży.

Przykład: od 25,1 MB do 1,1 MB

Plik testowy: syntetyczny klip 1280×720, 15 s, 30 kl./s, H.264 bez dźwięku, 8,4 MB (8 436 363 bajtów). To przesuwający się gradient, biały kwadrat i wyraźne ziarno, podobne do szumu kamery przy słabym świetle. Nie jest to nagranie z aparatu ani ekranu. Skrypt, który go tworzy, to scripts/guide-fixtures/make-gif-from-video.mjs. Poniżej wagi odczytane z narzędzia po wygenerowaniu GIF-a w przeglądarce.

Krok Ustawienia Klatek Wymiary Waga GIF-a
Start 15 s, 15 kl./s, 720 px 225 720×405 25,1 MB
1. Krótszy fragment 5 s, 15 kl./s, 720 px 75 720×405 8,5 MB
2. Mniej klatek 5 s, 10 kl./s, 720 px 50 720×405 5,7 MB
3. Węższy obraz 5 s, 10 kl./s, 480 px 50 480×270 2,3 MB
4. Jeszcze węższy 5 s, 10 kl./s, 320 px 50 320×180 1,1 MB

Narzędzie Wideo na GIF z filmem testowym: 10 klatek na sekundę, szerokość 480 px, fragment 5 s, 50 klatek 480×270 i gotowy GIF o wadze 2,3 MB

Co z tego widać:

  • Długość działa liniowo. Przy 10 kl./s i 480 px fragmenty 3, 5, 10 i 15 s dały kolejno 1,4 MB, 2,3 MB, 4,5 MB i 7 MB.
  • Waga jednej klatki zależy od liczby pikseli. Po podzieleniu wagi pliku (pomiar w Node, nie z narzędzia) przez liczbę klatek wychodzi około 113 000 bajtów na klatkę przy 720 px, 47 000 przy 480 px i 21 000 przy 320 px. Liczba pikseli maleje przy tych szerokościach do 44% i 20% wartości z 720 px, a waga klatki do 42% i 19%.
  • Spadek klatek z 15 do 10 na sekundę zmniejszył plik o jedną trzecią, a z 10 do 8 przy 480 px (40 klatek) dał 1,9 MB zamiast 2,3 MB.

Liczby z tej tabeli przenosisz na swój film tylko jako proporcje. Waga zależy też od treści. Ten sam klip bez mocnego ziarna (lekki szum, film 15 s ma 689,8 KB) przy ustawieniach z kroku 3 dał GIF o wadze 944,4 KB zamiast 2,3 MB. W przeliczeniu na piksel to około 0,14 bajta w gładkim klipie i około 0,36 w ziarnistym. Ziarno i szum kompresują się w GIF-ie najgorzej, a jednolite tło najlepiej.

Kiedy lepszy będzie MP4 albo WebM

Jeśli miejsce, do którego wysyłasz animację, przyjmuje wideo, krótki MP4 zwykle wygra z GIF-em wagą i jakością. Te same pierwsze 5 s naszego ziarnistego pliku:

Wersja Wymiary Klatki Waga
GIF z narzędzia Wideo na GIF 480×270 10 kl./s 2,3 MB
MP4 po Przytnij wideo 1280×720 30 kl./s 2,9 MB
MP4 po Kompresor wideo, limit 480p, poziom zrównoważony 854×480 30 kl./s 458,4 KB

Skompresowany MP4 ma około pięć razy mniej bajtów niż GIF, a obraz ma więcej pikseli i trzy razy więcej klatek na sekundę. Pomiar dotyczy jednego pliku testowego, więc traktuj go jako ilustrację, a nie obietnicę.

Kompresor ustawia bitrate według poziomu i rozdzielczości (tu 738 kb/s wideo), a nie według treści. Dlatego przy gładkim klipie, który po przycięciu ważył 202,6 KB, ten sam krok dał plik 451,2 KB i narzędzie napisało, że jest większy od oryginału. Gdy film jest już lekki, zostaw wynik z przycinania.

Na własnej stronie wstawisz taki film jako zapętlony obraz:

<video src="animacja.mp4" autoplay loop muted playsinline></video>

Przeglądarki blokują autoodtwarzanie filmów z dźwiękiem, ale nie dotyczy to filmów bez ścieżki audio lub z wyciszoną (MDN: Autoplay guide, sprawdzone w październiku 2026). Ścieżkę dźwiękową usuniesz w narzędziu Usuń dźwięk z filmu.

GIF zostaje dobrym wyborem, gdy docelowe miejsce przyjmuje obrazy, a wideo nie, albo gdy animacja ma ruszać bez odtwarzacza. Wtedy trzymaj się kilku sekund i szerokości, przy której wszystko jest jeszcze czytelne.

Drobiazgi, które warto znać

  • GIF zapisuje czas klatki w setnych sekundy, a narzędzie zaokrągla go do 10 ms. Przy 10 kl./s klatka trwa dokładnie 100 ms. Przy 15 kl./s zapisuje się 70 ms (w pliku testowym zmierzone w Node), czyli 14,3 kl./s, więc 5 s materiału odtwarza się przez 5,25 s. Przy 8 kl./s klatka trwa 130 ms. Jeśli liczy się dokładne tempo, wybierz 10 kl./s albo 20 kl./s (50 ms).
  • GIF nie ma dźwięku i w tym narzędziu zapętla się bez końca.
  • Fragment może mieć najwyżej 15 s. Dłuższy materiał skróć w zaznaczeniu albo zostań przy wideo.
  • Jeśli plik filmu się nie wczytuje, przeglądarka prawdopodobnie nie umie odczytać jego kodeka. Narzędzie wyświetli wtedy komunikat o odczycie pliku.
  • Film przetwarza się w przeglądarce na Twoim urządzeniu i nie jest wysyłany na serwer. Czas zależy od liczby klatek i wydajności komputera.