UltKit

Jak zrobić GIF z filmu: rozmiar, klatki i zapętlenie

Aby zrobić GIF z filmu, wybierz fragment trwający od dwóch do sześciu sekund, przeskaluj go do szerokości 320–640 px, obniż liczbę klatek do 10–15 fps i pozwól konwerterowi zbudować z tego klipu paletę 256 kolorów. Te cztery decyzje przesądzają, czy otrzymasz ostrą pętlę o wadze 2 MB, czy plik 30 MB, którego nie przyjmie żaden komunikator.

Mina SatoMina SatoRedaktorka audio i wideo
Zaktualizowano 11 min czytania
Zabytkowy projektor filmowy na drewnianej skrzynce, rzucający jasną wiązkę światła przez mgiełkę w ciemnym pomieszczeniu

Co naprawdę przechowuje plik GIF

GIF jest starszy niż internet w dzisiejszej postaci. CompuServe opublikowało pierwszą wersję, GIF87a, w 1987 roku, aby wysyłać nieruchome obrazy przez łącza telefoniczne, a rewizja z 1989 roku, GIF89a, dodała dwie funkcje umożliwiające animację: czas opóźnienia dla każdej klatki oraz jeden kolor przezroczysty. Zapętlanie pojawiło się później, w 1995 roku, gdy Netscape Navigator 2.0 zaczął odczytywać niewielkie rozszerzenie aplikacji określające, ile razy powtarzać animację. Każdy dzisiejszy animowany GIF to nadal plik GIF89a z tym blokiem w środku, dlatego odtwarza się praktycznie w każdej przeglądarce i kliencie poczty.

W środku GIF to stos obrazów indeksowanych. Każda klatka wskazuje tabelę kolorów liczącą najwyżej 256 pozycji, więc może pokazać 256 różnych kolorów i ani jednego więcej, mimo że wideo źródłowe miało ich miliony. Piksele są następnie kompresowane metodą LZW, bezstratną metodą słownikową, która dobrze radzi sobie z jednolitymi obszarami, a słabo z szumem fotograficznym, ziarnem i gradientami. Sam LZW niczego nie odrzuca; strata następuje wcześniej, gdy miliony kolorów są upychane w palecie.

GIF nie pomieści jeszcze dwóch rzeczy. Nie ma żadnej ścieżki dźwiękowej, więc dźwięk z Twojego wideo po prostu znika. Jego taktowanie jest też zgrubne: opóźnienia zapisuje się w setnych częściach sekundy, a większość przeglądarek traktuje opóźnienie 0 lub 1 setnej jak 10 setnych, więc GIF zbudowany w 50 fps lub szybciej odtwarza się wolniej, a nie płynniej. W praktyce użyteczny zakres to 10–25 fps.

GIF89a dodaje animację
1989
Maksymalna liczba kolorów w klatce
256
Najmniejszy krok opóźnienia
1/100 s
Ścieżki audio
0

Dlaczego GIF-y puchną i w jakiej kolejności je zmniejszać

Nowoczesny kodek wideo, taki jak H.264, zapisuje pełny obraz tylko od czasu do czasu, a większość klatek opisuje jako niewielkie zmiany względem poprzedniej. GIF potrafi to w niewielkim stopniu, aktualizując tylko prostokąt poprzedniej klatki, ale nie ma niczego na kształt predykcji ruchu. Gdy tylko kamera się poruszy, zmienia się prawie każdy piksel i każda klatka jest zapisywana niemal w całości. Dlatego 2 MB klip z telefonu może stać się 15 MB GIF-em, a nagranie ekranu z myszką poruszającą się nad nieruchomym oknem pozostaje maleńkie.

Rozmiar GIF-a to z grubsza szerokość razy wysokość razy liczba klatek, z rabatem za to, ile pozostaje nieruchome między klatkami. Dzięki temu łatwo uszeregować czynniki. Długość zmniejsza liczbę klatek jeden do jednego: cztery sekundy zamiast ośmiu to połowa pliku. Szerokość zmniejsza liczbę pikseli kwadratowo: przejście z 640 px na 320 px zostawia w każdej klatce jedną czwartą pikseli. Liczba klatek na sekundę znów zmniejsza liczbę klatek liniowo, a 12 fps zaskakująco dobrze sprawdza się przy gestach i twarzach. Mniej kolorów pomaga słabiej, niż ludzie sądzą, zwykle o 10–30 procent, bo LZW bardziej zależy na powtarzalnych wzorach niż na rozmiarze palety.

Dithering to kompromis, który najbardziej myli. Rozsiewa kropki sąsiednich kolorów palety, by udawać odcienie, których paleta nie ma. Ukrywa to pasy na niebie i skórze, ale dodaje drobny szum, który LZW kompresuje słabo. Wyłącz go dla nagrań ekranu, kreskówek i demonstracji interfejsu, gdzie jednolity kolor i tak jest prawdą, a zostaw włączony dla prawdziwych nagrań. Kadrowanie to ostatnia dźwignia: odcięcie statycznej ramki lub czarnych pasów usuwa piksele bez ruszania głównego motywu.

  1. 1.Skróć klipKażda usunięta sekunda zabiera ze sobą swoje klatki; 2–6 sekund wystarcza na większość reakcji.
  2. 2.Zmniejsz szerokośćPołowa szerokości to jedna czwarta pikseli; 320–480 px pasuje do okna czatu.
  3. 3.Obniż liczbę klatek na sekundę10–15 fps zachowuje czytelny ruch; 8 fps nadaje się do wolnych nagrań ekranu.
  4. 4.Ogranicz kolory i dithering64–128 kolorów bez ditheringu dla grafiki; 256 z ditheringiem dla nagrań filmowych.

Wybór początku i końca klipu

Większość udostępnianych GIF-ów to pojedynczy moment: reakcja, gol, kliknięcie przycisku i ekran, który po nim następuje. Obejrzyj wideo raz, mierząc czas w głowie, i zapisz sekundę, w której moment się zaczyna, oraz sekundę, w której wyraźnie się kończy, a następnie dodaj kilka klatek z każdej strony, by pętla nie wyglądała na uciętą. Jeśli źródło jest długie, najpierw wytnij zakres przycinarką wideo i pracuj na krótkim pliku. W konwerterze wpisanie czasów w polach Początek i Koniec w sekundach lub w formacie minuty:sekundy robi to samo bez osobnego kroku.

Pomyśl też o tym, gdzie GIF zaczyna się odtwarzać. Wiele komunikatorów i klientów poczty pokazuje pierwszą klatkę podczas wczytywania pliku, a Outlook dla Windows w wersjach 2007–2016 pokazuje tylko pierwszą klatkę i nigdy nie animuje. Zacznij od klatki, która sensownie wygląda jako nieruchomy obraz, a nie od rozmycia w środku panoramowania. Jeśli sednem GIF-a jest napis lub wynik, przytrzymaj ostatni moment przez pół sekundy, wydłużając Koniec, aby widzowie zdążyli go przeczytać, zanim pętla ruszy od nowa.

TipNagrywaj materiał źródłowy z myślą o GIF-ie: trzymaj telefon nieruchomo, wypełnij kadr obiektem i unikaj zoomu. Ujęcie ze statywu może mieć połowę rozmiaru ujęcia z ręki przy tych samych ustawieniach.

Dwie dłonie trzymające klaps filmowy z odręcznie wpisanymi numerami sceny i ujęcia na tle pustynnego nieba
Zdjęcie: Unsplash

Limity rozmiaru GIF-ów na Discordzie, Slacku, GIPHY, X i Reddicie

To, dokąd trafi GIF, wyznacza budżet jeszcze przed jakimkolwiek ustawieniem. Discord obniżył w 2024 roku darmowy limit przesyłania do 10 MB na plik i właśnie na niego ludzie trafiają najczęściej; Nitro Basic podnosi go do 50 MB, a Nitro do 500 MB. GIPHY przyjmuje pliki do 15 sekund i 100 MB. X przyjmuje GIF-y do 15 MB i przy wysyłaniu zamienia je w zapętlone wideo, a Reddit akceptuje GIF-y do 100 MB, ale też udostępnia je jako wideo. Slack przyjmuje pliki do 1 GB, ale własne emoji muszą mieć poniżej 128 KB, co oznacza bardzo małą szerokość, krótką pętlę i mało kolorów.

E-mail to wyjątek. Gmail pozwala na 25 MB załączników na wiadomość, a Outlook.com na 20 MB, ale GIF umieszczony w treści newslettera lub stopki powinien mieć wyraźnie poniżej 1 MB, aby wiadomość szybko otwierała się na danych mobilnych. W czacie celuj w połowę limitu, a nie tuż pod nim, bo odbiorcy mogą mieć wolne połączenie. Poniższe liczby były aktualne w 2025 roku; gdy plik leży tuż na granicy, sprawdź stronę pomocy usługi.

Limity przesyłania GIF-ów w 2025 roku
Dokąd trafiaLimitCo dzieje się z GIF-em
Discord, konto darmowe10 MB na plikOdtwarza się w wiadomości i zapętla
Discord Nitro Basic / Nitro50 MB / 500 MBOdtwarza się w wiadomości i zapętla
Wiadomość w Slacku / własne emoji1 GB / 128 KBAnimuje się w wiadomości, chyba że odbiorca wyłączył animacje
Przesyłanie do GIPHY15 sekund, 100 MBUdostępniany jako wersje GIF, MP4 i WebP
X (Twitter)15 MBZamieniany na niemy, zapętlony MP4
Reddit100 MBZamieniany na wideo do odtwarzania
W treści e-mailaZalecane poniżej 1 MBOutlook 2007–2016 dla Windows pokazuje tylko pierwszą klatkę

Kiedy MP4, WebM, WebP lub APNG są lepsze od GIF-a

X zamienia każdy przesłany GIF na MP4, i robi tak od 2014 roku, z powodu przepustowości. Te same pięć sekund, które jako GIF ważą 4 MB, zwykle mieszczą się w kilkuset kilobajtach jako H.264, z pełnią kolorów zamiast 256 odcieni i bez szumu ditheringu. GIPHY i Tenor robią to samo: przycisk GIF na klawiaturze zwykle pobiera mały MP4 lub WebP. Uczciwe pytanie brzmi więc nie „jak zrobić najlepszy GIF”, lecz „czy miejsce, do którego wysyłasz, w ogóle potrzebuje GIF-a”.

Prawdziwy GIF zostaw tam, gdzie pokazywane są obrazy, ale nie wideo: w treści e-maila, w README lub zgłoszeniu na GitHubie, w zgłoszeniu Jiry, na wiki, na starym forum, w prezentacji, która ma działać w każdej przeglądarce. Wszędzie tam, gdzie wideo odtwarza się w wiadomości i bez dźwięku, czyli w większości sieci społecznościowych i nowoczesnych komunikatorów, pętla MP4 lub WebM wygląda lepiej i ładuje się szybciej. Na stronie, nad którą masz kontrolę, element <video autoplay muted loop playsinline> zachowuje się jak GIF i kosztuje ułamek bajtów.

Pomiędzy nimi są dwa formaty obrazów. Animowany WebP od Google obsługuje miliony kolorów i kompresję stratną, a w Safari działa od wersji 14 z 2020 roku, więc dziś działa w każdej aktualnej przeglądarce, choć wiele aplikacji poza przeglądarką nadal go odrzuca. APNG rozszerza PNG o klatki, zachowuje pełnię kolorów i prawdziwą przezroczystość alfa, i jest używany przez Apple i LINE do animowanych naklejek. Jeśli GIF już istnieje i potrzebujesz go tylko zmniejszyć dla strony odtwarzającej wideo, zamiana GIF-a z powrotem na MP4 to zwykle największa pojedyncza oszczędność.

Działa wszędzie

GIF

256 kolorów, brak dźwięku, duże pliki, ale wszędzie wyświetla się jako obraz.

  • Treść e-maili, README, zgłoszenia i wiki
  • Pętla bez przycisku odtwarzania
  • Najgorszy stosunek rozmiaru do jakości z całej czwórki
Best for: Miejsca, które pokazują obrazy, ale nie wideo.
Najmniejszy

MP4 lub WebM

Pełne kolory i kompresja ruchu, często dziesiąta część rozmiaru.

  • Może zachować dźwięk
  • Odtwarza się automatycznie bez dźwięku w większości serwisów społecznościowych
  • Większość aplikacji pocztowych nie pokazuje go w treści
Best for: Posty w mediach społecznościowych, komunikatory i strony, nad którymi masz kontrolę.
Formaty obrazów

Animowany WebP lub APNG

Pełnokolorowe animowane obrazy; APNG dodaje płynną przezroczystość.

  • Działają w każdej aktualnej przeglądarce
  • Nierówna obsługa w aplikacjach desktopowych i poczcie
  • APNG jest popularny w naklejkach
Best for: Strony internetowe i paczki naklejek.

Sześć sposobów, jak zrobić GIF z filmu

Telefony poradzą sobie bez dodatkowych aplikacji. Na iPhonie aplikacja Skróty ma akcję Make GIF, która przyjmuje wideo lub Live Photo, a Live Photo z efektem Pętla lub Odbicie to szybki sposób na nagranie źródła. Aplikacja Galeria Samsunga pokazuje przycisk GIF podczas odtwarzania wideo, który nagrywa widoczny fragment jako GIF. Aplikacja GIPHY i jej internetowy GIF Maker pozwalają przyciąć, podpisać i przesłać w jednym miejscu, ale wynik jest publiczny, chyba że tylko go zapiszesz. W Photoshopie File > Import > Video Frames to Layers wczytuje do 500 klatek, a Export > Save for Web (Legacy) zapisuje GIF z kontrolą palety i ditheringu.

Do pełnej kontroli i zadań wsadowych najczystszy wynik daje dwuprzebiegowa metoda palety w ffmpeg: pierwszy filtr skanuje klip i buduje 256-kolorową paletę z jego rzeczywistych kolorów, a drugi mapuje na nią każdą klatkę. Poniższe polecenie wycina pięć sekund od 0:02, skaluje do szerokości 480 px, próbkuje 12 fps i zapętla w nieskończoność. W przeglądarce konwerter wideo na GIF wykonuje ten sam krok z paletą, z kontrolkami Szerokość, Liczba klatek na sekundę, Kolory i Dithering, a strona MP4 na GIF otwiera go z wybranym MP4. Nagrania z telefonu w MOV działają tak samo; jeśli aplikacja je odrzuca, najpierw przeczytaj o konwersji MOV do MP4.

iPhone

  1. 01W aplikacji Skróty zbuduj ciąg Select Photos → Make GIF → Save to Photo Album.
  2. 02Uruchom go i wybierz wideo lub Live Photo; długie klipy najpierw przytnij w Zdjęciach.
  3. 03Udostępnij GIF z albumu Animated w aplikacji Zdjęcia.

Android

  1. 01Otwórz wideo w Galerii Samsunga i dotknij GIF podczas odtwarzania.
  2. 02Przeciągnij uchwyty na wybrany fragment.
  3. 03Dotknij Zapisz; na innych telefonach użyj internetowego konwertera w Chrome.

Komputer

  1. 01W Photoshopie wybierz File > Import > Video Frames to Layers.
  2. 02Ustaw opóźnienie klatek i zapętlanie Forever w panelu Timeline.
  3. 03Eksportuj przez Save for Web (Legacy) jako GIF, 128–256 kolorów.
ffmpeg: 5 sekund od 0:02, szerokość 480 px, 12 fps, zapętlony
ffmpeg -ss 2 -t 5 -i wideo.mp4 -vf "fps=12,scale=480:-1:flags=lanczos,split[a][b];[a]palettegen[p];[b][p]paletteuse" -loop 0 animacja.gif

Płynne pętle i ostateczna kontrola jakości

GIF domyślnie zapętla się w nieskończoność, bo rozszerzenie Netscape jest zapisane z liczbą powtórzeń równą zero, co oznacza nieskończoność. Ustawienie liczby jeden sprawia, że odtworzy się raz i zatrzyma na ostatniej klatce, co pasuje do GIF-a kończącego się komunikatem. Trudniejsze jest sprawienie, by pętla była niewidoczna. Poszukaj fragmentu, w którym klatka początkowa i końcowa są niemal identyczne, na przykład machnięcia ręką wracającego do tej samej pozycji, albo odtwórz klip do przodu, a potem do tyłu opcją Bumerang, co usuwa skok kosztem dwukrotnie większej liczby klatek.

Zanim go wyślesz, otwórz GIF w prawdziwym rozmiarze w karcie przeglądarki, a nie jako miniaturę, i obejrzyj trzy pełne pętle. Sprawdź, czy tekst w kadrze jest czytelny przy wybranej szerokości, czy twarze nie zamieniły się w posteryzowane plamy i czy tempo zgadza się z wideo. Potem porównaj rozmiar pliku z limitem z tabeli powyżej; jeśli jest blisko, wróć do kolejności cięcia: długość, szerokość, liczba klatek i kolory. Dla dłuższych klipów lub czegokolwiek z dźwiękiem lepszym wyborem jest kompresja wideo na Discorda i do e-maila.

  • Pasy na niebie, w cieniach i na skórze

    Paleta wyczerpała odcienie. Zostaw 256 kolorów i przełącz Dithering na Sierra lub Floyd–Steinberg albo wyślij MP4 dla materiału z dużą ilością gradientów.

  • GIF odtwarza się szybciej lub wolniej niż wideo

    Opóźnienia zapisuje się w setnych częściach sekundy. 10, 20 i 25 fps dzielą się równo; wszystko powyżej 50 fps przeglądarki spowalniają.

  • Tekst w kadrze jest nieczytelny

    Zwiększ szerokość do 640 px i obniż liczbę klatek na sekundę dla kompensacji albo przed konwersją przytnij kadr do obszaru z tekstem.

  • Widoczny skok przy ponownym starcie pętli

    Przesuń Początek i Koniec na pasujące klatki albo włącz Bumerang i skróć zakres o połowę.

Najważniejsze wnioski

  • GIF mieści najwyżej 256 kolorów na klatkę, nie ma dźwięku, a opóźnienia klatek zapisuje w setnych częściach sekundy.
  • Rozmiar zależy od długości, szerokości i liczby klatek na sekundę; tnij je w tej kolejności, zanim ruszysz kolory.
  • Celuj w 2–6 sekund, 320–640 px i 10–15 fps; dla nagrań ekranu wyłącz dithering.
  • Darmowy Discord przyjmuje 10 MB, X 15 MB, GIPHY 15 sekund i 100 MB, emoji w Slacku 128 KB.
  • Tam, gdzie wideo odtwarza się w wiadomości, pętla MP4 lub WebM jest mniejsza i wygląda lepiej niż jakikolwiek GIF.
UdostępnijXFacebookWhatsAppTelegram

Najczęściej zadawane pytania

Jaka liczba klatek na sekundę jest najlepsza dla GIF-a z filmu?

W przypadku większości klipów wystarczy 10–15 kl./s. Szybkie nagrania sportowe lub z gier mogą uzasadniać 20 kl./s, a wolne nagrania ekranu wyglądają dobrze przy 8 kl./s i ważą znacznie mniej.

Ile sekund powinien trwać GIF?

Od dwóch do sześciu sekund wystarcza do prawie każdej reakcji, dema i najlepszego momentu. Po przekroczeniu dziesięciu sekund GIF szybko staje się ciężki, a krótki plik MP4 zwykle lepiej nadaje się do udostępniania.

Czy GIF jest formatem bezstratnym?

Kompresja LZW wewnątrz GIF-a jest bezstratna, ale sama konwersja już nie, ponieważ miliony kolorów wideo są redukowane do palety 256 kolorów na klatkę. To właśnie ta redukcja powoduje bandingi i ziarno.

Dlaczego X zamienia mój GIF na wideo?

X od 2014 roku zamienia przesłane pliki GIF na zapętlone pliki MP4, ponieważ wideo jest znacznie mniejsze i zachowuje pełną głębię kolorów. Wpis nadal odtwarza się w pętli i bez dźwięku, jak GIF.

Czy można zrobić GIF z filmu na YouTube?

Tylko z pliku, który masz na swoim urządzeniu i do którego masz prawa. Pobierz własny film z YouTube Studio lub użyj oryginalnego nagrania, a potem przytnij go i skonwertuj.

Czym różni się GIF od animowanego WebP?

Animowany WebP obsługuje miliony kolorów, kompresję stratną i płynną przezroczystość, więc zwykle jest znacznie mniejszy. GIF działa w większej liczbie miejsc, w tym w klientach poczty i starszych aplikacjach, które nie obsługują WebP.

Czytaj dalej