Utilia

Wideo na GIF

Zamień fragment filmu MP4, MOV lub WebM w animowany GIF w przeglądarce, z dopasowaną paletą kolorów, szacunkiem rozmiaru i podglądem.

GIF tworzy FFmpeg skompilowany do WebAssembly w dwóch przebiegach (najpierw paleta kolorów dopasowana do klipu, potem klatki). Za pierwszym razem pobierane jest ok. 30 MB, które przeglądarka zachowuje potem w pamięci podręcznej. Przeglądarka jest wolniejsza niż programy na komputer: wybieraj krótkie klipy.

Jak zrobić GIF-a z filmu

  1. Upuść wideo na pole powyżej albo kliknij je, aby wybrać plik (do 300 MB).
  2. Domyślnie zaznaczone jest pierwsze 5 sekund. Przejdź do wybranego momentu i kliknij Ustaw tu początek, a potem Ustaw tu koniec – albo wpisz czasy w sekundach (12,5) lub jako minuty:sekundy (0:12,5). Odtwórz zaznaczenie pokazuje wybrany fragment.
  3. Wybierz Klatki na sekundę i Szerokość. Linia obok przycisku pokazuje długość, liczbę klatek, rozmiar w pikselach i przybliżony szacunek rozmiaru pliku.
  4. Kliknij Utwórz GIF. Pojawi się pasek postępu z przyciskiem Anuluj.
  5. Animowany GIF wyświetli się jako podgląd. Jeśli ci się podoba, pobierz go; jeśli jest za ciężki, zmień ustawienia i utwórz go ponownie.

Jak działa konwersja

GIF może zawierać tylko 256 kolorów na klatkę, a klatka wideo ma ich miliony. Jakość GIF-a zależy więc głównie od tego, które 256 kolorów zostanie wybranych. Narzędzie korzysta z dwuprzebiegowej metody FFmpeg, zalecanej do tworzenia ładnych GIF-ów:

  1. Przebieg palety. FFmpeg czyta zaznaczony fragment raz i buduje paletę 256 kolorów, które najlepiej oddają właśnie ten klip (palettegen), przykładając większą wagę do fragmentów w ruchu.
  2. Przebieg kodowania. Czyta klip ponownie i odwzorowuje każdą klatkę na tę paletę (paletteuse) z lekkim ditheringiem z dyfuzją błędu, który wygładza przejścia tonalne. Dithering jest liczony na nowo tylko w obszarach, które zmieniają się między klatkami, co zapobiega migoczącemu szumowi i zmniejsza plik.

Klatki są też przeliczane do wybranej liczby klatek na sekundę i skalowane filtrem Lanczos, który zachowuje ostrość tekstu i krawędzi. Wynik zapętla się bez końca, jak większość GIF-ów w internecie.

Wszystko działa w twojej przeglądarce dzięki FFmpeg skompilowanemu do WebAssembly. Za pierwszym razem pobierane jest ok. 30 MB, które przeglądarka zachowuje w pamięci podręcznej. Twoje wideo nigdy nie jest wysyłane na serwer.

Jak utrzymać mały rozmiar GIF-a

GIF to stary i mało wydajny format: GIF często waży 5–10 razy więcej niż ten sam klip w MP4. Jego rozmiar rośnie z szerokością × wysokością × liczbą klatek, więc:

  • Skróć klip. Typowa reakcja czy demo trwa 2–6 sekund.
  • Zmniejsz liczbę klatek na sekundę. 10 fps wygląda wystarczająco płynnie dla większości treści i waży o połowę mniej niż 20 fps. Nagrania ekranu często dobrze wyglądają przy 5–8 fps.
  • Zmniejsz szerokość. Przejście z 640 px na 480 px zmniejsza liczbę pikseli prawie o połowę. 480 px to dobra wartość domyślna dla komunikatorów i mediów społecznościowych.

Szacunek rozmiaru zakłada ok. 0,3 bajta na piksel na klatkę. Prawdziwe klipy bardzo się różnią: płaskie nagrania ekranu kompresują się dużo lepiej, a ziarniste nagrania z kamery dużo gorzej. Gdy szacunek przekracza 15 MB lub klip ma więcej niż 450 klatek, narzędzie wyświetla ostrzeżenie. Powyżej 1500 klatek odmawia, bo konwersja trwałaby za długo i zajęłaby za dużo pamięci przeglądarki.

Ograniczenia

Przeglądarka jest wolniejsza niż programy na komputer: każdy przebieg dekoduje wideo na jednym rdzeniu procesora. Krótkie klipy o umiarkowanej szerokości konwertują się w kilka sekund, a długie klipy w Full HD mogą zająć kilka minut. Dłuższy fragment najpierw wytnij narzędziem do przycinania wideo, a potem konwertuj tylko jego. Pliki, których przeglądarka nie odtworzy (AVI, część MKV), również da się skonwertować, ale bez podglądu: wpisz czas początku i końca.

Najczęściej zadawane pytania

Czy moje wideo jest wysyłane na serwer?

Nie. Konwersja odbywa się w twojej przeglądarce dzięki FFmpeg skompilowanemu do WebAssembly. Nic nie jest wysyłane na serwer.

Dlaczego mój GIF jest taki duży?

Bo GIF kompresuje słabo: każda klatka jest zapisywana prawie jak pełny obraz z 256 kolorami. Skróć zaznaczenie, zmniejsz liczbę klatek na sekundę lub szerokość. Zmniejszenie szerokości o połowę zmniejsza rozmiar mniej więcej czterokrotnie.

Jaką liczbę klatek na sekundę wybrać?

10 fps to dobry kompromis między płynnością a rozmiarem. Przy szybkim ruchu, np. w sporcie czy grach, użyj 15–25 fps, a przy nagraniach ekranu lub pokazach slajdów 5–8 fps.

Po co dwa przebiegi?

Pierwszy przebieg znajduje 256 kolorów, które najlepiej pasują do twojego klipu, a drugi rysuje nimi każdą klatkę. Jedna ogólna paleta daje pasy i przekłamane kolory, dlatego GIF-y tworzone tą metodą wyglądają dużo czyściej.

Czy szacunek rozmiaru jest dokładny?

To przybliżona wskazówka, a nie obietnica. Opiera się na średnim współczynniku, a rzeczywisty rozmiar zależy od tego, ile ruchu i detali jest w obrazie. Dokładny rozmiar zobaczysz po konwersji.

Czy GIF zachowuje dźwięk?

Nie. Format GIF nie obsługuje dźwięku. Jeśli chcesz zachować dźwięk, przytnij wideo zamiast tego albo osobno wyodrębnij dźwięk do MP3.