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

  1. Comparar WebP/AVIF en escenas representativas; usar SSIM/Butteraugli como apoyo.
  2. Si aparecen artefactos molestos, priorizar WebP. Si no, adoptar AVIF.
  3. Para candidatos LCP, combinar con priority/preload y balancear tamaño/tiempo de decodificación.

Flujo de ajuste en producción

  1. Crear baseline WebP (q=75–80).
  2. Probar AVIF con q=34–38 y comprobar piel/texto/gradación.
  3. Si hay problemas, quedarse en WebP o subir q de AVIF por pasos.
  4. 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)

  1. Definir dataset: fijar 12–20 escenas representativas (versionado para cambios)
  2. Generación: rejilla de encoder × ancho × q/speed
  3. Medición: recolectar tamaño, tiempos y SSIM/Butteraugli
  4. Visualización: página comparativa para revisión ocular de artefactos
  5. 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

Comparación

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.

Compresión

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.

Compresión

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.

Animación

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.

Comparación

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.

Compresió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.