Animovaný GIF (.gif)

Specifikace Standardní

Graphics Interchange Format (GIF) je 8bitový rastrový obrazový formát založený na paletě, který vyvinula společnost CompuServe a který je celosvětově proslulý tím, že popularizoval krátké smyčkové animace na raném webu.

Převést GIF na MP4

Bezplatný konvertor z GIF do MP4 v prohlížeči. Převeďte soubory okamžitě ve svém zařízení.

Komprese GIF online

Soukromě - soubory nikdy neopustí vaše zařízení

Kontrola a metadata

Operační systémy a analyzátory souborů identifikují soubory GIF kontrolou počáteční binární sekvence bajtů:

Vyberte nebo přetáhněte soubory sem

Soukromě - soubory nikdy neopustí vaše zařízení

nebo vložte Ctrl+V
Záruka ochrany soukromí s nulovým přenosem po síti: 0 bajtů odesláno na externí servery. Veškeré zpracování probíhalo lokálně v sandboxu vašeho prohlížeče.

Podpis hlavičky na úrovni bajtů (Magic Bytes)

Operační systémy a analyzátory souborů identifikují soubory GIF kontrolou počáteční binární sekvence bajtů:

HEXADECIMÁLNÍ PODPIS (POSUN 0):

47 49 46 38

ASCII REPREZENTACE: GIF8

Standardizace: Specifikace CompuServe GIF87a / GIF89a

Technické specifikace

Architektura kontejneruStreamový formát paletového obrázku s hlavičkami bloků a koncovým znakem (0x3B)
KompreseBezztrátová slovníková komprese Lempel-Ziv-Welch (LZW)
Pořadí bajtůLittle-Endian pro rozměry plátna a časovače prodlev
Barevné prostoryIndexovaná 8bitová paleta (maximálně 256 barev na snímek)
Kanály a strukturaIndexovaná paleta s 1bitovou binární průhledností (zapnuto/vypnuto)
Max. rozměry65 535 × 65 535 pixelů (2bajtová celá čísla bez znaménka)
Průhlednost1bitová binární průhlednost (jeden index barvy označený jako průhledný)
Streamování a progresivní načítání4průchodový algoritmus řádkového prokládání podporovaný v základní specifikaci

Technická srovnávací matice: GIF vs konkurence

Technický atributGIF (Aktuální)Animovaný WebPMP4 (H.264)APNG
Velikost souboruVelmi velká (špatná komprese pro video snímky)Často menší než GIF; výsledek závisí na obsahu obrázku a nastavení kódováníMůže být menší než GIF; výsledek závisí na obsahu obrázku a nastavení kódováníStřední
Podpora barevMaximálně 256 barev na snímek16,7 milionu barev (24bitový Truecolor)16,7 milionu barev (YUV 4:2:0)16,7 milionu barev (24bitový Truecolor)
PrůhlednostPouze 1bitová binární (zubaté okraje)Plný 8bitový hladký alfa kanálBez nativní průhlednostiPlný 8bitový hladký alfa kanál
Podpora platforemŠiroká podpora na mnoha současných i starších platformáchPodporováno mnoha současnými prohlížeči; dostupnost se lišíPodporováno mnoha přehrávači videa a prohlížeči; dostupnost se lišíPodporováno mnoha současnými prohlížeči; dostupnost se liší

Běžné režimy poškození a příručka pro obnovení v hex

Animace se přehraje částečně a zamrzne, nebo prohlížeč obrázků hlásí neočekávaný konec souboru (EOF).

Hlavní příčina: Chybějící ukončovací koncový bajt 0x3B (středník) způsobený přerušeným stahováním.

Obnovení: Přidejte bajt 0x3B na konec souboru pomocí hexadecimálního editoru.

Bezpečnostní analýza a vektory útoků na parser

Soubory GIF jsou jednoduché, ale historicky trpěly útoky přetečení vyrovnávací paměti při rozbalování LZW a polygloty GIFAR.

Známé vektory útoků

  • Zranitelnosti přetečení vyrovnávací paměti LZW ve starších nativních dekodérech.
  • Útoky typu GIFAR polyglot: vytváření souborů, které jsou současně platnými GIFy a platnými soubory Java JAR za účelem obcházení filtrů pro nahrávání.

Doporučené bezpečnostní postupy: Uživatelem nahrávané animované GIFy za běhu transkódujte do formátu MP4 nebo animovaného WebP, abyste ušetřili šířku pásma a neutralizovali hrozby polyglotů.

Historický vývoj a milníky

2006Všechny globální patenty vztahující se na kompresi LZW vyprší, čímž se formát GIF dostává zcela do public domain.
1995Netscape 2.0 představuje blok aplikačního rozšíření (Application Extension Block), který umožňuje nekonečné opakování animace.
1989CompuServe vydává specifikaci GIF89a, která přidává animaci a průhledné barvy.
1987Steve Wilhite a CompuServe vydávají formát GIF87a pro přenos barevné grafiky přes dial-up modemy.

Klíčové výhody a přednosti

  • GIF podporuje mnoho prohlížečů a obrazových nástrojů, kompatibilita se však liší podle platformy a aplikace.
  • Okamžité přehrávání bez vyjednávání video kodeků nebo licenčních omezení.
  • Bezztrátová komprese v rámci jeho 256barevné palety.

Technická omezení a nevýhody

  • Přísně omezeno na paletu 256 barev (způsobuje výrazné barevné pruhy na fotografiích).
  • Masivně neefektivní velikost souboru v porovnání s moderními video formáty MP4, WebM nebo animovaný WebP (často 5krát až 10krát větší).
  • Binární 1bitová průhlednost vytváří zubaté pixelové okraje na ne-bílých pozadích (bez alfa mísení).

Zajímavé technické drobnosti

  • Tvůrce Steve Wilhite v roce 2013 proslule objasnil, že zamýšlená výslovnost je „DŽIF" s měkkým G.
  • Smyčkové animace nebyly součástí oficiální specifikace CompuServe; Netscape přidal rozšiřující blok „NETSCAPE2.0" v roce 1995.
  • V roce 1994 společnost Unisys oznámila, že bude agresivně vymáhat svůj softwarový patent LZW na vývojářích vytvářejících nástroje pro GIF, což přímo vedlo komunitu open-source k vynálezu formátu Portable Network Graphics (PNG) jako bezpatentové alternativy.

Často kladené technické otázky

Proč jsou animované GIFy mnohem větší než videa ve formátu MP4?

Formát GIF byl navržen v roce 1987 jako statický obrazový formát. Postrádá moderní koncepty video komprese, jako jsou mezisnímkové pohybové vektory, makrobloky a temporální prediktivní kódování. Každý snímek ukládá jako plnohodnotný nezávislý rastrový obrázek, což vede k obrovské velikosti souborů.

Jak mohu zmenšit velikost souboru GIF?

Můžete snížit počet barev v paletě, snížit snímkovou frekvenci (např. z 30 fps na 15 fps), zmenšit rozměry v pixelech nebo ideálně převést soubor na moderní animovaný WebP či MP4.

Podporuje GIF zvuk nebo zvukové stopáže?

Ne. Specifikace CompuServe GIF byla vytvořena striktně pro bitmapové obrazové snímky a časová zpoždění; neobsahuje žádné datové struktury ani synchronizační kontejnery pro zvukové streamy. Moderní platformy, které zdánlivě přehrávají „GIFy se zvukem", ve skutečnosti servírují ztlumená nebo neztišitelná video data MP4/WebM.