¿Qué es la velocidad de fotogramas GIF?
El FPS (fotogramas por segundo) es el número de imágenes individuales mostradas cada segundo en una animación. A diferencia de los estándares de vídeo (24/30/60 fps), las velocidades de fotogramas GIF son flexibles — cada fotograma puede tener su propio valor de retardo. Las velocidades de fotogramas típicas de los GIF van de 5 a 20 fps, siendo 10 fps el valor por defecto más común.
La especificación GIF almacena el tiempo de los fotogramas como un retardo en centisegundos (centésimas de segundo). Por ejemplo, 10 fps utiliza un retardo de 10 centisegundos entre fotogramas, mientras que 20 fps utiliza un retardo de 5 centisegundos. Este tiempo por fotograma se almacena en el bloque Graphics Control Extension de cada fotograma.
El compromiso central: fluidez vs tamaño del archivo
La relación entre FPS y tamaño del archivo es aproximadamente lineal: duplicar la velocidad de fotogramas duplica aproximadamente el número de fotogramas, lo que aproximadamente duplica el tamaño del archivo. Esto convierte al FPS en el segundo ajuste más influyente después de la resolución para controlar el tamaño del GIF.
| FPS | Fotogramas (5 seg) | Tamaño aprox. (480px) | Calidad del movimiento |
|---|---|---|---|
| 5 fps | 25 | ~0,8 MB | Entrecortado, tipo diapositiva |
| 8 fps | 40 | ~1,3 MB | Pasos perceptibles |
| 10 fps | 50 | ~1,6 MB | Buen equilibrio |
| 15 fps | 75 | ~2,5 MB | Fluido |
| 20 fps | 100 | ~3,3 MB | Casi vídeo |
| 30 fps | 150 | ~5 MB | Fluidez de vídeo (excesivo) |
Recomendaciones de FPS por tipo de contenido
| Tipo de contenido | FPS recomendado | Por qué |
|---|---|---|
| Animación de logo simple | 5–8 fps | Pocos elementos en movimiento, la fluidez no es crítica |
| Grabación de pantalla / demo UI | 8–12 fps | El movimiento del cursor necesita algo de fluidez |
| GIF web estándar / meme | 10–12 fps | Mejor equilibrio entre calidad y tamaño |
| Publicación en redes sociales | 12–15 fps | Ligeramente más fluido para captar atención |
| Clip de acción rápida / deportes | 15–20 fps | El movimiento rápido necesita más fotogramas |
| Nunca recomendado | 24–30 fps | Archivos enormes, sin beneficio real sobre 20 fps |
Regla empírica: comienza con 10 fps. Si el movimiento parece demasiado entrecortado, prueba con 12 o 15. Si el archivo es demasiado grande, baja a 8. Ir por encima de 20 fps tiene rendimientos decrecientes — los tamaños de archivo siguen creciendo linealmente, pero la mejora visual se vuelve insignificante.
Cómo funcionan los retardos entre fotogramas GIF
El formato GIF almacena el tiempo como un retardo por fotograma medido en centisegundos (1/100 de segundo):
- 10 fps = retardo de 10 centisegundos (100 ms entre fotogramas)
- 20 fps = retardo de 5 centisegundos (50 ms entre fotogramas)
- 50 fps = retardo de 2 centisegundos (20 ms — mínimo práctico)
Los navegadores manejan retardos muy cortos de forma inconsistente. Los retardos inferiores a 2 centisegundos a menudo se limitan a un mínimo de 10 centisegundos en Chrome y Firefox, haciendo que el GIF se reproduzca a 10 fps independientemente de la velocidad prevista. Mantén siempre los retardos entre fotogramas en 3 centisegundos (33 fps) o más para una reproducción consistente.
Control de velocidad: GIF más rápidos y más lentos
Puedes controlar la velocidad percibida independientemente de la velocidad de fotogramas:
- Velocidad 2x: reduce a la mitad los valores de PTS (presentation timestamp), haciendo que el clip se reproduzca el doble de rápido manteniendo el número original de fotogramas. El GIF se ve dinámico y enérgico.
- Velocidad 0,5x: duplica los valores de PTS, creando un efecto de cámara lenta. Funciona mejor con fuentes de mayor FPS (15+ fps) para que la ralentización siga pareciendo fluida.
En FFmpeg, usa el filtro setpts: setpts=0.5*PTS para velocidad 2x, setpts=2*PTS para media velocidad. Combina con ajustes de FPS apropiados para el mejor resultado.
Ejemplos prácticos de tamaño de archivo
El mismo clip de vídeo de 5 segundos a 480px de ancho, 256 colores, dithering Sierra2:
| FPS | Fotogramas | Tamaño aprox. del archivo | vs 10 fps |
|---|---|---|---|
| 8 fps | 40 | ~1,3 MB | -20 % |
| 10 fps | 50 | ~1,6 MB | referencia |
| 15 fps | 75 | ~2,5 MB | +50 % |
| 20 fps | 100 | ~3,3 MB | +100 % |
| 30 fps | 150 | ~5,0 MB | +200 % |