Utilia

Video u GIF

Pretvori dio MP4, MOV ili WebM videa u animirani GIF u pregledniku, s optimiziranom paletom boja, procjenom veličine i pregledom. Bez slanja datoteke.

GIF izrađuje FFmpeg preveden u WebAssembly, u dva prolaza (paleta boja prilagođena tvom isječku, zatim sličice). Prvi put se preuzima oko 30 MB, a zatim se zadržava u predmemoriji preglednika. Preglednik je sporiji od desktop softvera: isječci neka budu kratki.

Kako napraviti GIF iz videa

  1. Povuci video u okvir iznad ili klikni na njega da odabereš datoteku (do 300 MB).
  2. Odabrano je prvih 5 sekundi. Dođi do željenog trenutka i pritisni Postavi početak ovdje, zatim Postavi kraj ovdje, ili upiši vremena u sekundama (12,5) ili minutama:sekundama (0:12,5). Reproduciraj odabir ponovno prikazuje odabrani dio.
  3. Odaberi Sličica u sekundi i Širina. Redak pokraj gumba prikazuje trajanje, broj sličica, veličinu u pikselima i grubu procjenu veličine datoteke.
  4. Pritisni Napravi GIF. Pojavljuje se traka napretka s gumbom Odustani.
  5. Animirani GIF prikazuje se kao pregled. Ako ti se sviđa, preuzmi ga; ako je pretežak, promijeni postavke i napravi ga ponovo.

Kako funkcionira pretvorba

GIF po sličici može sadržavati samo 256 boja, a sličica videa ima milijune. Kvaliteta GIF-a uglavnom ovisi o tome koje se 256 boja odaberu. Ovaj alat koristi FFmpegovu metodu u dva prolaza, onu preporučenu za lijepe GIF-ove:

  1. Prolaz palete. FFmpeg jednom pročita odabrani dio i izgradi paletu od 256 boja koje najbolje predstavljaju baš taj isječak (palettegen), dajući veću težinu dijelovima koji se pomiču.
  2. Prolaz kodiranja. Ponovno čita isječak i preslikava svaku sličicu na tu paletu (paletteuse), uz blago ditheriranje difuzijom pogreške radi izglađivanja prijelaza. Ponovno se ditheriraju samo područja koja se mijenjaju između sličica, što izbjegava treperavi šum i smanjuje datoteku.

Sličice se također ponovno uzorkuju na odabranu brzinu i mijenjaju veličinu Lanczosovim filtrom, koji čuva oštrinu teksta i rubova. Rezultat se vrti u petlji zauvijek, kao većina GIF-ova na webu.

Sve radi u tvom pregledniku s FFmpegom prevedenim u WebAssembly. Prvi put se preuzima oko 30 MB koji se zadržavaju u predmemoriji preglednika. Tvoj se video nikad ne šalje na poslužitelj.

Kako zadržati GIF malim

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

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

Procjena veličine pretpostavlja oko 0,3 bajta po pikselu po sličici. Pravi isječci jako variraju: ravne snimke zaslona komprimiraju se mnogo bolje, zrnata snimka kamere mnogo gore. Kad procjena prijeđe 15 MB ili isječak premaši 450 sličica, alat prikazuje upozorenje. Iznad 1500 sličica odbija, jer bi pretvorba trajala predugo i zauzela previše memorije u pregledniku.

Ograničenja

Preglednik je sporiji od desktop softvera: svaki prolaz dekodira video na jednoj jezgri procesora. Kratki isječci umjerene širine pretvaraju se za nekoliko sekundi; dugi isječci u full HD-u mogu trajati minutama. Za dulji isječak najprije ga izreži alatom za rezanje videa, a zatim pretvori samo taj dio. Datoteke koje tvoj preglednik ne može reproducirati (AVI, neki MKV) ipak se mogu pretvoriti, ali bez pregleda: upiši vremena početka i kraja.

Česta pitanja

Šalje li se moj video na poslužitelj?

Ne. Pretvorba radi u tvom pregledniku s FFmpegom prevedenim u WebAssembly. Ništa se ne šalje na poslužitelj.

Zašto je moj GIF tako velik?

Jer GIF loše komprimira: svaka se sličica pohranjuje gotovo kao cijela slika s 256 boja. Skrati odabir, smanji broj sličica u sekundi ili smanji širinu. Upola manja širina dijeli veličinu s otprilike četiri.

Koji broj sličica u sekundi odabrati?

10 fps dobra je ravnoteža između glatkoće i veličine. Za brz pokret poput sporta ili igara koristi 15–25 fps, a za snimke zaslona ili prezentacije 5–8 fps.

Zašto postoje dva prolaza?

Prvi prolaz pronalazi 256 boja koje najbolje odgovaraju tvom isječku; drugi prolaz crta svaku sličicu s njima. Jedna generička paleta daje prijelaze u pojasevima i pogrešne boje, zbog čega GIF-ovi napravljeni na ovaj način izgledaju mnogo čišće.

Je li procjena veličine točna?

To je gruba smjernica, a ne obećanje. Koristi prosječni omjer, a stvarna veličina ovisi o tome koliko se slika pomiče i koliko je detaljna. Točna veličina prikazuje se nakon pretvorbe.

Zadržava li GIF zvuk?

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