Geanimeerde GIF (.gif)
CompuServe StandaardHet Graphics Interchange Format (GIF) is een 8-bits rasterafbeeldingsformaat op basis van een palet, ontwikkeld door CompuServe, dat wereldwijd bekendstaat om het populair maken van korte herhalende animaties op het vroege web.
GIF naar MP4 converteren
Gratis GIF-naar-MP4-converter in uw browser. Converteer bestanden direct op uw apparaat.
GIF online comprimeren
Privé - bestanden verlaten uw apparaat niet
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen GIF-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen GIF-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
47 49 46 38ASCII-WEERGAVE: GIF8
Standaardisatie: CompuServe GIF87a / GIF89a Specification
Technische specificaties
| Containerarchitectuur | Stroomgebaseerd paletafbeeldingsformaat met blokheaders en afsluitbyte (0x3B) |
| Compressie | Verliesvrije woordenboekcompressie met Lempel-Ziv-Welch (LZW) |
| Bytevolgorde (endianness) | Little-Endian voor canvasafmetingen en vertragingstimers |
| Kleurruimten | Geïndexeerd 8-bits palet (maximaal 256 kleuren per frame) |
| Kanalen en structuur | Geïndexeerd palet met 1-bits binaire transparantie (aan/uit) |
| Maximale afmetingen | 65.535 x 65.535 pixels (gehele getallen zonder teken van 2 bytes) |
| Transparantie | 1-bits binaire transparantie (enkele kleurindex gemarkeerd als transparant) |
| Streaming en progressief | Interlacing-algoritme met 4 doorgangen, ondersteund in de basisspecificatie |
Technische vergelijkingsmatrix: GIF versus concurrenten
| Technisch kenmerk | GIF (Huidig) | Geanimeerde WebP | MP4 (H.264) | APNG |
|---|---|---|---|---|
| Bestandsgrootte | Zeer groot (slechte compressie voor videoframes) | Vaak kleiner dan GIF; resultaten hangen af van afbeeldingsinhoud en coderingsinstellingen | Kan kleiner zijn dan GIF; resultaten hangen af van afbeeldingsinhoud en coderingsinstellingen | Gemiddeld |
| Kleurondersteuning | Maximaal 256 kleuren per frame | 16,7 miljoen kleuren (24-bits truecolor) | 16,7 miljoen kleuren (YUV 4:2:0) | 16,7 miljoen kleuren (24-bits truecolor) |
| Transparantie | Alleen 1-bit binair (rafelige randen) | Volledig vloeiend 8-bits alfakanaal | Geen native transparantie | Volledig vloeiend 8-bits alfakanaal |
| Platformondersteuning | Brede ondersteuning op veel huidige en oudere platforms | Ondersteund door veel huidige browsers; de beschikbaarheid varieert | Ondersteund door veel videospelers en browsers; de beschikbaarheid varieert | Ondersteund door veel huidige browsers; de beschikbaarheid varieert |
Veelvoorkomende beschadigingen en gids voor hex-herstel
De animatie wordt gedeeltelijk afgespeeld en loopt vast, of de afbeeldingsviewer meldt een onverwacht einde van het bestand (unexpected EOF).
Oorzaak: Ontbrekende afsluitende trailerbyte 0x3B (puntkomma) veroorzaakt door afgebroken download.
Herstel: Voeg byte 0x3B toe aan het einde van het bestand met een hex-editor.
Beveiligingsanalyse en aanvalsvectoren voor parsers
GIF-bestanden zijn eenvoudig, maar kregen in het verleden te maken met aanvallen via bufferoverlopen bij LZW-decompressie en met GIFAR-polyglots.
Bekende aanvalsvectoren
- Kwetsbaarheden door LZW-bufferoverlopen in oudere native decoders.
- GIFAR-polyglotaanvallen: bestanden maken die tegelijk geldige GIF- en Java JAR-bestanden zijn om uploadfilters te omzeilen.
Aanbevolen beveiligingspraktijken: Converteer geanimeerde GIF's die gebruikers uploaden direct naar MP4 of geanimeerde WebP om bandbreedte te besparen en polyglotdreigingen te neutraliseren.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- GIF wordt ondersteund door veel browsers en afbeeldingstools, hoewel de ondersteuning varieert tussen platforms en berichtenapps.
- Direct afspelen zonder onderhandeling over videocodecs of licentiebeperkingen.
- Verliesvrije compressie binnen het palet van 256 kleuren.
Technische beperkingen
- Strikt beperkt tot een palet van 256 kleuren (veroorzaakt ernstige kleurbanden op foto's).
- Enorm inefficiënte bestandsgrootte vergeleken met moderne MP4-, WebM- of geanimeerde WebP-videoformaten (vaak 5x tot 10x groter).
- Binaire 1-bits transparantie veroorzaakt rafelige, pixelachtige randen op niet-witte achtergronden (geen alfa-blending).
Interessante technische weetjes
- Maker Steve Wilhite legde in 2013 uit dat de bedoelde uitspraak 'JIF' is, met een zachte G.
- Herhalende animaties maakten geen deel uit van de officiële CompuServe-specificatie; Netscape voegde in 1995 het extensieblok 'NETSCAPE2.0' toe.
- In 1994 kondigde Unisys aan zijn LZW-softwarepatent streng te handhaven tegenover ontwikkelaars die GIF-tools maakten. Dit leidde er direct toe dat de opensourcegemeenschap het Portable Network Graphics (PNG)-formaat ontwikkelde als patentvrij alternatief.
Veelgestelde technische vragen
Waarom zijn geanimeerde GIF's zoveel groter dan MP4-video's?
GIF is in 1987 ontworpen als formaat voor statische afbeeldingen. Het mist moderne videocompressieconcepten zoals bewegingsvectoren tussen frames, macroblokken en temporele voorspellende codering. Het slaat elk frame op als een volledige, onafhankelijke rasterafbeelding, wat resulteert in enorme bestandsgroottes.
Hoe kan ik de grootte van een GIF verkleinen?
U kunt het aantal kleuren in het palet verlagen, de framesnelheid verlagen (bijvoorbeeld van 30 fps naar 15 fps), de pixelafmetingen verkleinen, of idealiter het bestand converteren naar een modern geanimeerd WebP- of MP4-formaat.
Ondersteunt GIF geluid of audiotracks?
Nee. De CompuServe GIF-specificatie is uitsluitend ontworpen voor bitmapafbeeldingsframes en vertragingstijden; er zijn geen gegevensstructuren of synchronisatiecontainers voor audiostreams. Moderne platforms die 'GIF's met geluid' lijken af te spelen, serveren in werkelijkheid gedempte of niet te ontdempen MP4- of WebM-videobestanden.
Gerelateerde conversieparen voor GIF
Het converteren van een geanimeerde GIF naar MP4 hercodeert de frames als video; bestandsgrootte, kleur en afspeelgedrag zijn afhankelijk van de invoer, encoderinstellingen en doelspeler.
Het converteren van een MP4-videoloop naar een geanimeerde GIF levert een breed ondersteund afbeeldingsformaat op dat automatisch wordt afgespeeld zonder dat er een videospeler nodig is.
Het converteren van APNG naar GIF kan handig zijn wanneer de doeltoepassing GIF ondersteunt maar geen APNG. GIF beperkt elk frame tot een palet van maximaal 256 kleuren, en het afspelen is nog steeds afhankelijk van de doelbrowser of -app.
Het converteren van een geanimeerde GIF naar een APNG-bestand tilt een klassieke rasteranimatie van 256 kleuren op naar een moderne reeks met ware kleuren en vloeiende transparantie.
Het converteren van een Lottie-vectoranimatie-JSON-bestand naar een rastergebaseerde geanimeerde GIF overbrugt de kloof tussen moderne codegestuurde graphics en breed ondersteunde afbeeldingscompatibiliteit.
Het converteren van geanimeerde WebP-bestanden naar geanimeerde GIF slaat een brug tussen moderne rasteranimatieformaten en oudere webstandaarden die brede compatibiliteit vereisen.
Deel de beginafbeelding van een GIF als een PDF van één pagina voor een storyboard of rapport. Latere frames, de timing en het herhalen worden niet meegenomen.