Comparación de codificadores AVIF 2025 — SVT‑AV1 / libaom / rav1e (calidad y velocidad)
Publicado: 21 sept 2025 · Tiempo de lectura: 5 min · Por el equipo editorial de Unified Image Tools
Introducción
AVIF destaca por su alta compresión, pero cada codificador (SVT‑AV1, libaom, rav1e) se comporta de forma distinta en calidad, velocidad y estabilidad. No basta con “el archivo más pequeño”: hay que ponderar degradaciones visuales, tiempo de codificación, tiempo de decodificación (LCP) y estabilidad de parámetros para CI/automatización. Este artículo publica un procedimiento de comparación con un dataset representativo y resume presets recomendados orientados a producción.
TL;DR
- Interoperabilidad/estabilidad: libaom. Velocidad: SVT‑AV1. Validación de naturalidad/artefactos: rav1e.
- Táctica operativa: partir de WebP como baseline y evaluar AVIF. Si no hay roturas perceptibles, adoptar AVIF; si las hay, priorizar WebP.
- Para candidatos a LCP, considerar tiempo de decodificación y ajustar q en ±5 según necesidad.
Contexto: Estrategia Definitiva de Compresión de Imágenes 2025 – Guía práctica para optimizar velocidad preservando la calidad, Auditoría de artefactos de compresión 2025 — Qué mirar, cuándo empeora y cómo evitarlo
Conjunto de datos y ejes de evaluación
Dataset (ejemplo):
- Retrato (piel/bokeh) ×3
- Texto/UI (trazos finos/alto contraste) ×3
- Paisaje (hojas finas/líneas) ×3
- Gradación (cielo/fondos suaves) ×3
Ejes de evaluación:
- Degradación visual (banding en piel, aristas en líneas, preservación de texturas)
- Tamaño de archivo (anchos representativos 640/960/1280/1536)
- Tiempo de codificación (promedio por archivo; relevancia para CI)
- Tiempo de decodificación (impacto percibido en candidatos LCP)
Las métricas SSIM/PSNR ayudan, pero la decisión final es ocular.
Enfoques de comparación
- Degradación visual (líneas/ piel/ gradación/ ruido)
- Tamaño de archivo (comparado en 3–5 anchos representativos)
- Tiempo de codificación/decodificación (carga de servidor/cliente)
Adicionales:
- Estabilidad de parámetros (variación con el mismo q/speed)
- Portabilidad (CLI/biblioteca/compatibilidad de hosting)
Ejemplos de comandos
# libaom (avifenc)
avifenc --min 28 --max 32 --speed 6 input.png out-libaom.avif
# SVT-AV1
aomenc --good --cpu-used=6 -q 35 -o out-svt.ivf input.y4m
# → Empaquetar a AVIF con una herramienta adecuada
# rav1e
rav1e input.y4m -s 6 -q 35 -o out-rav1e.ivf
En producción suele primar el procesado por lotes vía GUI/bibliotecas, así que incluimos estabilidad de la toolchain y tiempo de CI entre los criterios.
Parámetros recomendados (referencia para imágenes fijas)
- libaom:
--min 28 --max 32 --speed 6
(prioriza calidad, estable) - SVT‑AV1:
-q 34–38 --cpu-used=6
(buen equilibrio velocidad/tamaño) - rav1e:
-q 34–38 -s 6
(útil para verificación/comparación)
Para UI/texto conviene considerar 4:4:4/lossless. Para fotografía, 4:2:0 suele bastar.
Flujo recomendado
- Comparar WebP/AVIF en escenas representativas; usar SSIM/Butteraugli como apoyo.
- Si aparecen artefactos molestos, priorizar WebP. Si no, adoptar AVIF.
- Para candidatos LCP, combinar con
priority/preload
y balancear tamaño/tiempo de decodificación.
Flujo de ajuste en producción
- Crear baseline WebP (q=75–80).
- Probar AVIF con q=34–38 y comprobar piel/texto/gradación.
- Si hay problemas, quedarse en WebP o subir q de AVIF por pasos.
- Para LCP, considerar bajar q 2–4 puntos y optimizar anchos representativos.
Integración en Next.js
<Image
src="/img/hero-1280.avif"
alt="Imagen principal"
width={1280}
height={720}
sizes="(max-width: 768px) 100vw, 768px"
priority
fetchPriority="high"
// no‑hero: loading="lazy" decoding="async"
/>
- 3–5 anchos representativos × WebP/AVIF
sizes
alineado estrictamente al layout- Prioridad solo para el candidato LCP
Pipeline de benchmark (esqueleto para automatizar)
- Definir dataset: fijar 12–20 escenas representativas (versionado para cambios)
- Generación: rejilla de encoder × ancho × q/speed
- Medición: recolectar tamaño, tiempos y SSIM/Butteraugli
- Visualización: página comparativa para revisión ocular de artefactos
- Recomendación: seleccionar presets por umbrales y aplicar en CI
Snippet (Node):
import { execFile } from 'node:child_process';
function run(cmd: string, args: string[]) {
return new Promise((res, rej) => execFile(cmd, args, (e, o) => e ? rej(e) : res(o)));
}
Notas de operación (pitfalls)
- rav1e puede fluctuar entre versiones en calidad/velocidad: fijar versión.
- SVT‑AV1 es rápido, pero la manifestación de artefactos cambia con el “granulado” del q.
- libaom es estable, pero ojo con los tiempos de CI y la complejidad de opciones.
- Verificar si el CDN de imágenes re‑comprime o re‑empaqueta (evitar doble compresión).
Lista de verificación QA
- [ ] Sin artefactos visibles en piel/texto/gradación/alta frecuencia
- [ ] Anchos representativos y
sizes
coherentes con el layout - [ ] En LCP, decodificación/tamaño equilibrados (ajuste fino de q)
- [ ] Tiempos de CI dentro del presupuesto
FAQ
P. ¿Con qué encoder empiezo?
R. Crear baseline con libaom; si la velocidad es un problema, probar SVT‑AV1. Usar rav1e como referencia de comparación.
P. Si la diferencia en tamaño es grande pero los artefactos de AVIF molestan mínimamente, ¿qué hago?
R. Ponderar LCP, tiempos de decodificación y estabilidad operativa. Elige lo que aporte mejor experiencia de usuario.
Guía de elección
- “Si hay dudas, WebP; si hay margen, probar AVIF”: migración segura y realista.
- La diferencia de calidad depende del material. Si AVIF genera artefactos en piel/texto/gradación, prioriza WebP.
- Considera tiempos de CI, interoperabilidad de hosting y decodificación como parte de la decisión.
Resumen
Los encoders difieren, pero la decisión final combina evaluación visual y operativa. Mantén WebP como base estable y adopta AVIF de forma gradual cuando pase tus comprobaciones.
Artículos relacionados
Auditoría de artefactos de compresión 2025 — Qué mirar, cuándo empeora y cómo evitarlo
Rutina práctica y rápida para inspeccionar artefactos en JPEG/WebP/AVIF. Dónde aparecen, qué los empeora y mitigaciones concretas.
Estrategia Definitiva de Compresión de Imágenes 2025 – Guía práctica para optimizar velocidad preservando la calidad
Guía integral y probada en campo para compresión y entrega de imágenes: elección de formatos, presets, flujo responsive, automatización Build/CDN y diagnóstico de problemas para Core Web Vitals estables.
Optimización PNG 2025 — Paletización y compresión sin pérdida
Flujo práctico para reducir PNG manteniendo transparencia y bordes nítidos: paletización, eliminación de chunks redundantes y compresión sin pérdida.
Optimización de animación UX 2025 — Mejorar la experiencia y reducir bytes
Adiós al GIF; patrones prácticos con video/WebP/AVIF animado, bucles y diseño de movimiento que equilibran rendimiento y accesibilidad.
AVIF vs WebP vs JPEG XL en 2025 — Comparación práctica y medida
Comparamos AVIF, WebP y JPEG XL para casos reales: calidad visual, tamaño, velocidad de decodificación y soporte de navegadores. Incluye estrategia de despliegue, diseño de fallback e integración.
Canalización de optimización por lotes — INP/Calidad/Flujo 2025
Optimiza imágenes a escala sin romper UX. Patrones de UI que no empeoran INP, colas asíncronas, elección de formatos y automatización para verificación/observabilidad.