¿Qué es AVIF animado?

Un AVIF animado es un archivo AVIF que almacena una secuencia de imágenes AV1: una pista de fotogramas AV1 temporizados dentro del contenedor HEIF, que la especificación identifica con la marca avis. Usa la misma extensión .avif y el mismo tipo de medio image/avif que un AVIF estático y puede incluir transparencia alfa y color HDR.

Cómo funciona AVIF animado

La especificación AVIF define una secuencia de imágenes como un conjunto de unidades temporales AV1 almacenadas en una pista de un archivo ISO Base Media, con el tipo de controlador pict, en lugar de la estructura de elementos que se usa para una imagen estática. La especificación identifica estos archivos con la marca avis y recomienda incluirla en la caja de tipo de archivo, pero solo exige que un archivo AVIF incluya avif o avis. Como las reglas subyacentes de MIAF exigen al menos un elemento de imagen, el mismo archivo también contiene una imagen estática primaria que los lectores que solo admiten elementos pueden decodificar. La transparencia se transmite como una segunda secuencia AV1 monocromática marcada como alfa. La temporización proviene de la pista: cada fotograma tiene una duración contada en unidades de la escala de tiempo de la pista, y el número de repeticiones se obtiene de una lista de edición. Una secuencia puede contener fotogramas que dependen de fotogramas anteriores (libavif permite configurar un intervalo entre fotogramas clave para esto), por lo que los fotogramas no se pueden decodificar de forma independiente a menos que el archivo se escriba con todas las muestras como muestras de sincronización.

Datos clave

  1. Ni la extensión .avif ni el tipo de medio image/avif indican si un archivo es animado: la especificación asigna ambos tanto a archivos estáticos como a secuencias. Examina el interior del archivo. Un archivo de secuencia contiene una pista de secuencia de imágenes y debería incluir la marca avis en su caja de tipo de archivo. La marca es recomendable, pero no obligatoria, así que la ausencia de avis no demuestra que el archivo sea estático; analiza el archivo para encontrar la pista. libavif (desde 1.1.0) informa de su presencia tras el análisis mediante imageSequenceTrackPresent.
  2. Decodificar AVIF estático no significa que un cliente reproduzca secuencias. Según los datos de caniuse consultados en octubre de 2026, Firefox decodificaba AVIF estático desde la versión 93, pero solo reproducía secuencias de forma predeterminada desde la versión 113. El caso de Safari es menos claro: WebKit anunció AVIF estático en Safari 16.0 para iOS 16 y secuencias en Safari 16.1; caniuse considera que Safari reproduce secuencias solo desde la versión 16.4, y un informe de error de WebKit de diciembre de 2022 sobre fallos en la renderización de AVIF animado termina con un comentario que indica que la corrección se publicó en iOS 16.4.1 y macOS 13.3.1. Como el tipo de medio es idéntico, una comprobación basada únicamente en image/avif, como una fuente <picture> con tipo declarado, no puede distinguir los clientes que reproducen secuencias de los que solo decodifican imágenes estáticas. La especificación no indica qué muestra un cliente que solo admite imágenes estáticas; el archivo sí contiene una imagen estática primaria que puede decodificar.
  3. La velocidad de reproducción y la reproducción en bucle son metadatos del contenedor, no ajustes del códec. Las duraciones de los fotogramas son cantidades enteras de unidades de la escala de tiempo de la pista, y el número de repeticiones proviene de una lista de edición. Cuando falta la lista de edición, libavif informa que el número es desconocido y deja el comportamiento en manos de la aplicación, por lo que los reproductores pueden comportarse de forma distinta. Si haces encoding con libavif, establece deliberadamente la escala de tiempo y el número de repeticiones: el codificador usa la repetición infinita de forma predeterminada, y un número no negativo n hace que la secuencia se reproduzca n + 1 veces.
  4. Las herramientas que procesan AVIF estático pueden eliminar la animación. La documentación de sharp indica que las secuencias de imágenes AVIF no son compatibles, y una incidencia pública de sharp informa de la pérdida de animación al convertir GIF a AVIF. El multiplexor avif de FFmpeg trata las entradas de más de un fotograma como un AVIF animado y tiene una opción loop. Comprueba el número de fotogramas de la salida de cada paso de cambio de tamaño, optimización o conversión antes de confiar en un pipeline con una entrada animada; libavif, por ejemplo, informa del número de imágenes de una secuencia decodificada mediante imageCount. Selecciona la fuente de la pista (AVIF_DECODER_SOURCE_TRACKS) antes de contar: la selección predeterminada sigue la marca principal del archivo y puede elegir la imagen estática primaria en su lugar.

Cuándo es relevante AVIF animado

Elige AVIF animado como alternativa a GIF para bucles fotográficos o similares a video cuando los navegadores de destino reproduzcan secuencias AVIF, y conserva una alternativa, porque no todos los clientes que decodifican AVIF estático reproducen secuencias. Para animaciones sin pérdida de gráficos con colores planos, compara primero APNG y WebP animado con tu propio contenido: en una incidencia de libavif titulada «La animación AVIF sin pérdida es mucho más grande que APNG o WebP», colaboradores del proyecto respondieron en 2022 que AVIF sin pérdida es eficiente para imágenes de tipo fotográfico y que se espera que tenga un rendimiento mucho peor que WebP sin pérdida con contenido gráfico, algo que uno de ellos atribuyó a que el códec AV1 está limitado a bloques de 4x4 en modo sin pérdida.

Cómo ayuda Transloadit con AVIF animado

La tabla de formatos de imagen de Transloadit incluye AVIF entre los formatos que sus Robots basados en ImageMagick, incluido /image/resize, pueden leer y escribir. La documentación de /image/resize describe el manejo de animaciones mediante su parámetro frame únicamente para GIF animado.

Ninguna de las dos páginas indica si un AVIF animado conserva sus fotogramas tras un cambio de tamaño o una conversión, y no se ejecutó ninguna Assembly para esta entrada. Procesa un archivo animado representativo con tu Assembly y comprueba el número de fotogramas del resultado antes de depender de él.

Explora los formatos de archivo y las capacidades de compresión de Transloadit

Fuentes

Convierte tus conocimientos sobre multimedia en un pipeline funcional

Conecta las subidas, el procesamiento, la IA, el almacenamiento y la entrega mediante una sola API declarativa, mientras nos encargamos por ti del stack de encoding, el escalado y los cambios constantes de formatos.

Prueba Transloadit gratis