Animirani GIF (.gif)

CompuServe Standard

Graphics Interchange Format (GIF) je 8-bitni rasterski format slike baziran na paleti koji je razvio CompuServe, širom sveta poznat po popularizaciji kratkih animacija koje se ponavljaju na ranom vebu.

Konvertujte GIF u MP4

Besplatan konvertor GIF u MP4 u pregledaču. Konvertujte datoteke odmah na svom uređaju.

Kompresujte GIF na mreži

Privatno - datoteke nikada ne napuštaju vaš uređaj

Pregled i metapodaci

Operativni sistemi i analizatori datoteka identifikuju GIF datoteke proverom početnog binarnog niza bajtova:

Izaberite ili prevucite datoteke ovde

Privatno - datoteke nikada ne napuštaju vaš uređaj

ili nalepite Ctrl+V
Garancija privatnosti: bez prenosa podataka preko mreže 0 bajtova poslato spoljnim serverima. Sva obrada je izvršena lokalno u bezbednom okruženju vašeg pregledača.

Potpis zaglavlja na nivou bajtova (magični bajtovi)

Operativni sistemi i analizatori datoteka identifikuju GIF datoteke proverom početnog binarnog niza bajtova:

HEKSADECIMALNI POTPIS (OFFSET 0):

47 49 46 38

ASCII REPREZENTACIJA: GIF8

Standardizacija: CompuServe GIF87a / GIF89a Specification

Tehničke specifikacije

Arhitektura kontejneraFormat rastrirane slike zasnovan na tokovima sa zaglavljima blokova i završnim bajtom (0x3B)
KompresijaLempel-Ziv-Welch (LZW) kompresija rečnika bez gubitaka
Bajtni redosled (Endianness)Maloendijanski za dimenzije platna i tajmere kašnjenja
Prostori bojaIndeksirana paleta od 8 bita (maksimalno 256 boja po kadru)
Kanali i strukturaIndeksirana paleta sa 1-bitnom binarnom transparentnošću (uključeno/isključeno)
Maksimalne dimenzije65.535 x 65.535 piksela (dvoajtni neoznačeni celobrojni brojevi)
Transparentnost1-bitna binarna transparentnost (pojedinačni indeks boje označen kao transparentan)
Strimovanje i progresivno učitavanjeAlgoritam preplitanja linija u 4 prolaza podržan u osnovnoj specifikaciji

Tehnička matrica poređenja: GIF u odnosu na konkurente

Tehnički atributGIF (Trenutno)Animated WebPMP4 (H.264)APNG
Veličina datotekeVrlo velika (loša kompresija za video kadrove)Često manja od GIF-a; rezultat zavisi od sadržaja slike i podešavanja kodiranja.Može biti manja od GIF-a; rezultat zavisi od sadržaja slike i podešavanja kodiranja.Umerena
Podrška za bojeMaksimalno 256 boja po kadru16,7 miliona boja (24-bitni Truecolor)16,7 miliona boja (YUV 4:2:0)16,7 miliona boja (24-bitni Truecolor)
TransparentnostSamo binarna transparentnost od 1 bita (nazubljene ivice)Pun 8-bitni glatki alfa kanalNema izvornu transparentnostPun 8-bitni glatki alfa kanal
Podrška platformamaŠiroka podrška na mnogim savremenim i starijim platformamaPodržavaju ga mnogi savremeni pregledači; dostupnost se razlikujePodržavaju ga mnogi video plejeri i pregledači; dostupnost se razlikujePodržavaju ga mnogi savremeni pregledači; dostupnost se razlikuje

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Animacija se reprodukuje delimično i zamrzava se, ili pregledač slika prijavljuje neočekivani kraj datoteke (EOF).

Osnovni uzrok: Nedostaje završni bajt 0x3B (tačka-zarez) uzrokovan prekinutim preuzimanjem.

Oporavak: Dodajte bajt 0x3B na kraj datoteke pomoću heksadecimalnog uređivača.

Bezbednosna analiza i vektori napada parsera

GIF datoteke su jednostavne, ali su istorijski patile od napada prekoračenja bafera proširenjem LZW-a i GIFAR poliglota.

Poznati vektori napada

  • Ranjivosti prekoračenja bafera LZW-a u starijim izvornim dekoderima.
  • GIFAR napadi poliglotima: kreiranje datoteka koje su istovremeno validni GIF i validni Java JAR fajlovi radi zaobilaženja filtera za otpremanje.

Najbolje prakse za zaštitu: U hodu transkodirajte animirane GIF-ove koje otpremaju korisnici u MP4 ili animirani WebP da biste uštedeli propusni opseg i neutralisali pretnje poliglotima.

Istorijat i prekretnice

2006Svi globalni patenti koji pokrivaju LZW kompresiju ističu, čime GIF prelazi u potpunosti u javno vlasništvo.
1995Netscape 2.0 predstavlja blok aplikacione ekstenzije koji omogućava beskonačno ponavljanje animacije.
1989CompuServe objavljuje GIF89a specifikaciju koja dodaje animaciju i transparentne boje.
1987Steve Wilhite i CompuServe objavljuju GIF87a za prenos grafike u boji preko dial-up modema.

Ključne prednosti

  • GIF podržavaju brojni pregledači i alati za slike, ali kompatibilnost zavisi od platforme i aplikacije.
  • Trenutna reprodukcija bez pregovaranja o video kodecima ili ograničenja licenciranja.
  • Kompresija bez gubitaka unutar njegove palete od 256 boja.

Tehnička ograničenja i nedostaci

  • Strogo ograničeno na paletu od 256 boja (uzrokuje ozbiljno posterizovanje boja na fotografijama).
  • Masovno neefikasna veličina datoteke u poređenju sa modernim MP4, WebM ili animiranim WebP video formatima (često 5x do 10x veća).
  • Binarna 1-bitna transparentnost uzrokuje nazubljene pikselizovane ivice na pozadinama koje nisu bele (nema alfa mešanja).

Zanimljivosti

  • Tvorac Steve Wilhite je 2013. godine čuveno razjasnio da je predviđeni izgovor „JIF" sa mekim G.
  • Animacije koje se ponavljaju nisu bile deo zvanične CompuServe specifikacije; Netscape je dodao blok ekstenzije „NETSCAPE2.0" 1995. godine.
  • Godine 1994, Unisys je objavio da će agresivno sprovoditi svoj LZW softverski patent protiv programera koji kreiraju GIF alate, što je direktno navelo zajednicu otvorenog koda da izmisli format Portable Network Graphics (PNG) kao alternativu bez patenta.

Često postavljana tehnička pitanja

Zašto su animirani GIF-ovi toliko veći od MP4 video zapisa?

GIF je dizajniran 1987. godine kao format statične slike. Nedostaju mu moderni koncepti video kompresije kao što su međukadrovski vektori kretanja, makroblokovi i vremensko prediktivno kodiranje. On čuva svaki kadar kao punu nezavisnu rastersku sliku, što rezultira ogromnim veličinama datoteka.

Kako mogu da smanjim veličinu GIF-a?

Možete smanjiti broj boja u paleti, smanjiti brzinu kadrova (npr. sa 30 fps na 15 fps), smanjiti dimenzije u pikselima ili, idealno, konvertovati datoteku u moderan animirani WebP ili MP4.

Da li GIF podržava zvuk ili audio zapise?

Ne. CompuServe GIF specifikacija je napravljena striktno za bitmapirane kadrove slika i kašnjenja tajminga; ne sadrži nikakve strukture podataka niti kontejner za sinhronizaciju audio tokova. Moderne platforme koje izgledaju kao da puštaju „GIF-ove sa zvukom" zapravo isporučuju utišane ili sa zvukom MP4/WebM video datoteke.