Utilia

Video u GIF

Pretvori dio MP4, MOV ili WebM videa u animirani GIF u pregledniku, s optimizovanom paletom boja, procjenom veličine i pregledom. Video se ne šalje na server.

GIF pravi FFmpeg preveden u WebAssembly, u dva prolaza (paleta boja prilagođena tvom isječku, zatim kadrovi). Prvi put se preuzima oko 30 MB, koje se zatim čuva u kešu tvog preglednika. Preglednik je sporiji od desktop programa: drži isječke kratkim.

Kako napraviti GIF iz videa

  1. Prevuci video na polje iznad ili klikni na njega da odabereš datoteku (do 300 MB).
  2. Odabrano je prvih 5 sekundi. Pomjeri se na željeni trenutak i pritisni Postavi početak ovdje, zatim Postavi kraj ovdje ili upiši vremena kao sekunde (12,5) ili minute:sekunde (0:12,5). Reprodukuj odabir ponovo pušta odabrani dio.
  3. Odaberi Kadrova u sekundi i Širinu. Red pored dugmeta prikazuje trajanje, broj kadrova, veličinu u pikselima i grubu procjenu veličine datoteke.
  4. Pritisni Napravi GIF. Pojavljuje se traka napretka s dugmetom Otkaži.
  5. Animirani GIF se prikazuje kao pregled. Ako ti se sviđa, preuzmi ga; ako je pretežak, promijeni postavke i napravi ga ponovo.

Kako funkcioniše pretvaranje

GIF može sadržavati samo 256 boja po kadru, dok kadar videa ima milione. Kvalitet GIF-a najviše zavisi od toga koje se 256 boja odaberu. Ovaj alat koristi FFmpegovu metodu u dva prolaza, onu koja se preporučuje za GIF-ove lijepog izgleda:

  1. Prolaz za paletu. FFmpeg jednom pročita odabrani dio i napravi paletu od 256 boja koje najbolje predstavljaju baš taj isječak (palettegen), dajući veću težinu dijelovima koji se kreću.
  2. Prolaz za kodiranje. Ponovo čita isječak i svaki kadar preslikava na tu paletu (paletteuse), uz blago raspršivanje grešaka (dithering) radi glađih prelaza. Ponovo se raspršuju samo područja koja se mijenjaju među kadrovima, čime se izbjegava treperavi šum i datoteka ostaje manja.

Kadrovi se također preuzorkuju na odabranu brzinu i mijenja im se veličina Lanczosovim filterom, koji zadržava oštrinu teksta i rubova. Rezultat se vrti u beskraj, kao većina GIF-ova na webu.

Sve radi u tvom pregledniku pomoću FFmpega prevedenog u WebAssembly. Prvi put se preuzima oko 30 MB i čuva u kešu preglednika. Tvoj video se nikada ne šalje na server.

Kako zadržati mali GIF

GIF je star i neefikasan format: GIF je često 5 do 10 puta teži od istog isječka kao MP4. Njegova veličina raste sa širina × visina × broj kadrova, pa:

  • Skrati isječak. 2 do 6 sekundi je tipično za reakciju ili demonstraciju.
  • Smanji broj kadrova u sekundi. 10 fps izgleda dovoljno glatko za većinu sadržaja, a teži upola manje od 20 fps. Snimci ekrana često izgledaju dobro na 5–8 fps.
  • Smanji širinu. Prelazak sa 640 px na 480 px smanjuje broj piksela gotovo upola. 480 px je dobra zadana vrijednost za dopisivanje i društvene mreže.

Procjena veličine pretpostavlja oko 0,3 bajta po pikselu po kadru. Stvarni isječci se jako razlikuju: ravni snimci ekrana komprimuju se mnogo bolje, a zrnati kamerski snimci mnogo gore. Kada procjena pređe 15 MB ili isječak ima više od 450 kadrova, alat prikazuje upozorenje. Preko 1500 kadrova odbija rad, jer bi pretvaranje trajalo predugo i trošilo previše memorije u pregledniku.

Ograničenja

Preglednik je sporiji od desktop programa: svaki prolaz dekodira video na jednom jezgru procesora. Kratki isječci umjerene širine pretvaraju se za nekoliko sekundi; dugi isječci u full HD mogu trajati minutama. Za dug odlomak prvo ga izreži video rezačem, pa pretvori samo taj dio. Datoteke koje tvoj preglednik ne može reproducirati (AVI, neke MKV) ipak se mogu pretvoriti, ali bez pregleda: upiši vremena početka i kraja.

Česta pitanja

Šalje li se moj video na server?

Ne. Pretvaranje radi u tvom pregledniku pomoću FFmpega prevedenog u WebAssembly. Ništa se ne šalje na server.

Zašto je moj GIF tako velik?

Zato što se GIF loše komprimuje: svaki kadar se pohranjuje gotovo kao puna slika s 256 boja. Skrati odabir, smanji broj kadrova u sekundi ili smanji širinu. Prepolovljena širina smanjuje veličinu otprilike četiri puta.

Koji broj kadrova u sekundi odabrati?

10 fps je dobar odnos glatkoće i veličine. Za brzo kretanje, kao što su sport ili igre, koristi 15–25 fps, a za snimke ekrana ili prezentacije 5–8 fps.

Zašto postoje dva prolaza?

Prvi prolaz pronalazi 256 boja koje najbolje odgovaraju tvom isječku; drugi prolaz crta svaki kadar njima. Jedna opća paleta daje pruge i pogrešne boje, zbog čega GIF-ovi napravljeni na ovaj način izgledaju mnogo čišće.

Je li procjena veličine tačna?

To je gruba smjernica, a ne obećanje. Koristi prosječan omjer, a stvarna veličina zavisi od toga koliko se slika kreće i koliko je detaljna. Tačna veličina prikazuje se nakon pretvaranja.

Zadržava li GIF zvuk?

Ne. GIF format nema zvuk. Da zadržiš zvuk, umjesto toga skrati video ili zasebno izdvoji zvuk kao MP3.