Wat is de GIF-framerate?
FPS (frames per seconde) is het aantal individuele beelden dat per seconde wordt weergegeven in een animatie. In tegenstelling tot videostandaarden (24/30/60 fps) zijn GIF-framerates flexibel — elk frame kan zijn eigen vertragingswaarde hebben. Typische GIF-framerates liggen tussen 5 en 20 fps, waarbij 10 fps de meest gebruikte standaard is.
De GIF-specificatie slaat de frametiming op als een vertraging in centiseconden (honderdsten van een seconde). Bijvoorbeeld: 10 fps gebruikt een vertraging van 10 centiseconden tussen frames, terwijl 20 fps een vertraging van 5 centiseconden gebruikt. Deze timing per frame wordt opgeslagen in het Graphics Control Extension-blok van elk frame.
De kernafweging: soepelheid vs bestandsgrootte
De relatie tussen FPS en bestandsgrootte is ongeveer lineair: het verdubbelen van de framerate verdubbelt ongeveer het aantal frames, wat de bestandsgrootte ongeveer verdubbelt. Dit maakt FPS de op één na meest invloedrijke instelling na resolutie om de GIF-grootte te regelen.
| FPS | Frames (5 sec) | Geschatte grootte (480px) | Bewegingskwaliteit |
|---|---|---|---|
| 5 fps | 25 | ~0,8 MB | Schokkerig, diashow |
| 8 fps | 40 | ~1,3 MB | Merkbare stappen |
| 10 fps | 50 | ~1,6 MB | Goede balans |
| 15 fps | 75 | ~2,5 MB | Soepel |
| 20 fps | 100 | ~3,3 MB | Bijna videokwaliteit |
| 30 fps | 150 | ~5 MB | Video-soepel (overdreven) |
FPS-aanbevelingen per contenttype
| Contenttype | Aanbevolen FPS | Waarom |
|---|---|---|
| Eenvoudige logo-animatie | 5–8 fps | Weinig bewegende elementen, soepelheid is niet kritisch |
| Schermopname / UI-demo | 8–12 fps | Cursorbeweging heeft enige vloeiendheid nodig |
| Standaard web-GIF / meme | 10–12 fps | Beste balans tussen kwaliteit en grootte |
| Social media-bericht | 12–15 fps | Iets soepeler om aandacht te trekken |
| Snelle actie / sportclip | 15–20 fps | Snelle beweging vereist meer frames |
| Nooit aanbevolen | 24–30 fps | Enorme bestanden, geen echt voordeel boven 20 fps |
Vuistregel: begin met 10 fps. Als de beweging te schokkerig lijkt, probeer 12 of 15. Als het bestand te groot is, ga terug naar 8. Boven 20 fps gaan levert afnemende opbrengsten op — bestandsgroottes blijven lineair groeien, maar de visuele verbetering wordt verwaarloosbaar.
Hoe GIF-framevertragingen werken
Het GIF-formaat slaat de timing op als een vertraging per frame gemeten in centiseconden (1/100 seconde):
- 10 fps = vertraging van 10 centiseconden (100 ms tussen frames)
- 20 fps = vertraging van 5 centiseconden (50 ms tussen frames)
- 50 fps = vertraging van 2 centiseconden (20 ms — praktisch minimum)
Browsers gaan inconsistent om met zeer korte vertragingen. Vertragingen onder 2 centiseconden worden in Chrome en Firefox vaak begrensd op een minimum van 10 centiseconden, waardoor de GIF op 10 fps afspeelt ongeacht de beoogde snelheid. Houd framevertragingen altijd op 3 centiseconden (33 fps) of hoger voor consistente weergave.
Snelheidsregeling: snellere en langzamere GIF's
Je kunt de waargenomen snelheid onafhankelijk van de framerate regelen:
- 2x snelheid: halveert de PTS-waarden (presentation timestamp), waardoor de clip twee keer zo snel afspeelt terwijl het oorspronkelijke aantal frames behouden blijft. De GIF ziet er dynamisch en energiek uit.
- 0,5x snelheid: verdubbelt de PTS-waarden en creëert een slow-motion-effect. Werkt het best met bronnen met hogere FPS (15+ fps) zodat de vertraging nog steeds soepel lijkt.
Gebruik in FFmpeg het filter setpts: setpts=0.5*PTS voor 2x snelheid, setpts=2*PTS voor halve snelheid. Combineer met geschikte FPS-instellingen voor het beste resultaat.
Praktische voorbeelden van bestandsgrootte
Dezelfde videoclip van 5 seconden bij 480px breedte, 256 kleuren, Sierra2-dithering:
| FPS | Frames | Geschatte bestandsgrootte | vs 10 fps |
|---|---|---|---|
| 8 fps | 40 | ~1,3 MB | -20 % |
| 10 fps | 50 | ~1,6 MB | basislijn |
| 15 fps | 75 | ~2,5 MB | +50 % |
| 20 fps | 100 | ~3,3 MB | +100 % |
| 30 fps | 150 | ~5,0 MB | +200 % |