Waarom GIF’s zo zwaar zijn
GIF is eind jaren tachtig ontworpen voor eenvoudige afbeeldingen, en animatie is er later aan toegevoegd: elk frame wordt opgeslagen als een afbeelding met maximaal 256 kleuren, met een compressiemethode die niets van beweging weet. Een paar seconden echt beeldmateriaal loopt snel op tot vele megabytes.
MP4-video met H.264 werkt anders. Het slaat frames in volledige kleur op en beschrijft de meeste ervan aan de hand van hun verschil met de omliggende frames, zodat gebieden die niet veranderen vrijwel niets kosten. Dezelfde animatie als MP4 is daarom meestal veel kleiner dan de GIF, wat snellere pagina’s betekent en berichten die binnen de limieten voor bijlagen en uploads passen.
Lange, grote GIF’s winnen meestal het meest: fragmenten van echt beeldmateriaal, schermopnames en reactie-GIF’s die van het web zijn opgeslagen. Een klein pictogram met een handvol frames heeft veel minder te winnen en laat je misschien beter zoals het is.
Wat behouden blijft en wat verandert
- Timing: de vertraging van elk frame blijft behouden, dus de animatie speelt op dezelfde snelheid af als de GIF.
- Transparantie: MP4-video heeft geen transparantie, dus transparante gebieden van de GIF worden wit.
- Herhalen: een GIF herhaalt zichzelf; een MP4-bestand niet. Spelers en webpagina’s kunnen hem laten herhalen, maar het bestand zelf speelt één keer af.
- Kleuren: er wordt niets toegevoegd; de video toont de bestaande kleuren van de GIF. Omdat videocompressie verliesgevend is, kunnen fijne pixelart of kleine tekst iets zachter ogen dan in de GIF.
- Geluid: GIF’s hebben geen audio, dus de MP4 is stil.
De MP4 laten herhalen
Waar je de speler zelf beheert, is herhalen een instelling. Op een webpagina kan het HTML-video-element de MP4 afspelen zoals een GIF: <video autoplay loop muted playsinline> start hem zonder geluid, herhaalt hem eindeloos en houdt hem op telefoons in de pagina. Veel chat-apps en sociale netwerken herhalen korte video’s automatisch, en de meeste videospelers hebben een herhaaloptie.
Moet de afbeelding een GIF blijven, bijvoorbeeld voor een plek die alleen afbeeldingen accepteert, bewaar dan het origineel. En heb je maar één stilstaand frame nodig, dan bewaart GIF naar PNG het eerste frame als verliesvrije afbeelding.
GIF en MP4 vergeleken
| Geanimeerde GIF | MP4 (H.264) | |
|---|---|---|
| Kleuren | Tot 256 per frame | Volledige kleur |
| Compressie | Verliesvrij, frame voor frame | Verliesgevend, met gebruik van de overeenkomsten tussen frames |
| Gebruikelijke bestandsgrootte | Groot | Meestal veel kleiner |
| Transparantie | Per pixel aan of uit | Geen (transparante gebieden worden wit) |
| Herhalen | Ingebouwd | Bepaald door de speler of pagina |
| Het best voor | Plekken die alleen afbeeldingen accepteren | Webpagina’s, berichten, uploads |
Browservereisten en limieten
MP4-codering gebruikt de videocodeerder die in je browser is ingebouwd. Actuele versies van Chrome, Edge en Safari ondersteunen die, en Firefox doet dat als het besturingssysteem H.264-codering biedt. Kan de jouwe geen video coderen, dan krijg je een duidelijke melding in plaats van een kapot bestand.
GIF’s tot 1 GB worden geaccepteerd, een voor een, en ze worden volledig op je eigen apparaat geconverteerd; er wordt niets geüpload. De andere kant op gaat net zo gemakkelijk: MP4 naar GIF zet een videofragment om in een herhalende GIF wanneer een bestemming alleen afbeeldingen accepteert.