GIF-lusbasics
Het GIF-formaat ondersteunt configureerbaar lusgedrag via de NETSCAPE2.0 Application Extension, toegevoegd na de originele GIF89a-specificatie:
- Lusaantal 0: oneindige lus (speelt voor altijd af). Dit is de standaard voor de meeste GIFs.
- Lusaantal 1: één keer afspelen en stoppen op het laatste frame.
- Lusaantal N: N keer afspelen en dan stoppen. De maximumwaarde is 65.535.
- Geen extensie: technisch gezien betekent dit één keer afspelen, maar het gedrag verschilt per viewer.
Wanneer gebruik je welke instelling
| Lusinstelling | Gebruiksscenario | Voorbeelden |
|---|---|---|
| Oneindig (0) | Doorlopende animaties | Social media, memes, webcontent, berichten |
| Eénmalig (1) | Eenmalige animaties | Presentaties, tutorials, instructies |
| 2–3 keer | Aandacht trekken zonder irritatie | E-mailmarketing, banneradvertenties |
Gedragsverschillen tussen browsers
De interpretatie van het lusaantal in de GIF-specificatie is dubbelzinnig en browsers gaan er verschillend mee om:
- Chrome/Edge: lusaantal N betekent dat de animatie in totaal N+1 keer wordt afgespeeld (initieel afspelen plus N herhalingen). Dus lus=1 speelt twee keer af.
- Firefox: lusaantal N betekent dat de animatie in totaal precies N keer wordt afgespeeld. Dus lus=1 speelt één keer af.
- Safari: vergelijkbaar met Firefox — N betekent N keer in totaal afspelen.
Deze inconsistentie betekent dat lus=1 afhankelijk van de browser één of twee keer wordt afgespeeld. Voor echt "één keer afspelen" dat overal werkt, is het veiligst om je doelbrowsers te testen. Voor oneindig lussen (lus=0) gedragen alle browsers zich identiek.
Praktische tip: Als je precies één keer wilt afspelen, overweeg dan lus=0 (oneindig) te gebruiken met een langere pauze op het laatste frame. Op die manier lijkt de GIF van nature te stoppen, terwijl hij technisch gezien nog steeds lust.
Het lusaantal wijzigen
Bij het maken van een nieuwe GIF
In FFmpeg gebruik je de -loop-vlag:
-loop 0— oneindige lus (standaard)-loop 1— één keer afspelen-loop 3— 3 keer afspelen-loop -1— geen lus (NETSCAPE-extensie volledig weglaten)
Een bestaande GIF aanpassen
Gebruik gifsicle om het lusaantal te wijzigen zonder opnieuw te coderen:
gifsicle --loopcount=0 input.gif > infinite.gifgifsicle --loopcount=1 input.gif > play_once.gif
Lusaantal voor e-mailmarketing
Voor e-mail GIFs is het lusaantal bijzonder belangrijk:
- Oneindige lussen zijn afleidend: een voortdurend bewegende GIF kan abonnees irriteren, vooral in professionele contexten
- 2–3 keer afspelen: trekt aanvankelijk de aandacht en stopt dan. De abonnee kan de animatie opnieuw starten door weg te scrollen en terug te gaan.
- Outlook negeert lussen volledig: toont alleen het eerste frame, ongeacht de lusinstellingen
- Ontwerp voor beide toestanden: de GIF moet er goed uitzien zowel tijdens het animeren als nadat hij is gestopt op het laatste frame