Qu’est-ce que l’AVIF animé ?

Un AVIF animé est un fichier AVIF qui stocke une séquence d’images AV1 : une piste d’images AV1 synchronisées dans le conteneur HEIF, que la spécification identifie par la marque avis. Il utilise la même extension .avif et le même type de média image/avif qu’un AVIF fixe et peut contenir une transparence alpha et des couleurs HDR.

Fonctionnement de l’AVIF animé

La spécification AVIF définit une séquence d’images comme un ensemble d’unités temporelles AV1 stockées dans une piste d’un fichier ISO Base Media, avec le type de gestionnaire pict, au lieu de la structure d’éléments utilisée pour une image fixe. La spécification identifie ces fichiers par la marque avis et indique qu’ils devraient la mentionner dans la boîte de type de fichier, mais elle exige uniquement qu’un fichier AVIF mentionne avif ou avis. Comme les règles MIAF sous-jacentes exigent au moins un élément d’image, le même fichier contient aussi une image fixe principale que les lecteurs limités aux éléments peuvent décoder. La transparence est stockée dans une seconde séquence AV1 monochrome marquée comme alpha. La synchronisation provient de la piste : chaque image a une durée exprimée en unités de l’échelle de temps de la piste, et le nombre de répétitions provient d’une liste de montage. Une séquence peut contenir des images qui dépendent d’images précédentes (libavif expose un intervalle d’images clés à cet effet) ; les images ne sont donc pas décodables indépendamment, sauf si le fichier est écrit avec chaque échantillon comme échantillon de synchronisation.

Points clés

  1. Ni l’extension .avif ni le type de média image/avif ne vous indiquent si un fichier est animé : la spécification attribue les deux aux fichiers fixes et aux séquences. Examinez plutôt l’intérieur du fichier. Un fichier de séquence contient une piste de séquence d’images et devrait mentionner la marque avis dans sa boîte de type de fichier. Cette marque est recommandée, pas obligatoire ; l’absence de avis ne prouve donc pas que le fichier est fixe ; analysez le fichier pour trouver la piste. libavif (depuis la version 1.1.0) signale sa présence après analyse via imageSequenceTrackPresent.
  2. Le décodage des AVIF fixes ne signifie pas qu’un client lit les séquences. Selon les données de caniuse consultées en octobre 2026, Firefox décodait les AVIF fixes depuis la version 93, mais ne lisait les séquences par défaut qu’à partir de la version 113. Le cas de Safari est moins net : WebKit a annoncé les AVIF fixes dans Safari 16.0 sur iOS 16 et les séquences dans Safari 16.1, caniuse n’attribue la prise en charge des séquences à Safari qu’à partir de la version 16.4, et un rapport de bug WebKit datant de décembre 2022 sur des anomalies de rendu des AVIF animés se termine par un commentaire indiquant que le correctif a été livré dans iOS 16.4.1 et macOS 13.3.1. Comme le type de média est identique, une vérification portant uniquement sur image/avif, telle qu’une source <picture> avec un type déclaré, ne permet pas de distinguer les clients qui lisent les séquences de ceux qui décodent uniquement les images fixes. La spécification ne précise pas ce qu’affiche un client limité aux images fixes ; le fichier contient bien une image fixe principale qu’il peut décoder.
  3. La vitesse de lecture et la lecture en boucle sont des métadonnées du conteneur, pas des réglages du codec. Les durées des images sont des nombres entiers d’unités de l’échelle de temps de la piste, et le nombre de répétitions provient d’une liste de montage. Lorsque cette liste manque, libavif indique que le nombre est inconnu et laisse l’application déterminer le comportement ; les lecteurs peuvent donc se comporter différemment. Si vous encodez avec libavif, choisissez explicitement l’échelle de temps et le nombre de répétitions : l’encodeur utilise par défaut une répétition infinie, et un nombre de répétitions positif ou nul n entraîne la lecture de la séquence n + 1 fois.
  4. Les outils qui traitent les AVIF fixes peuvent supprimer l’animation. La documentation de sharp indique que les séquences d’images AVIF ne sont pas prises en charge, et un ticket public de sharp signale la perte de l’animation lors d’une conversion de GIF en AVIF. Le multiplexeur avif de FFmpeg traite plusieurs images d’entrée comme un AVIF animé et dispose d’une option loop. Vérifiez le nombre d’images en sortie de chaque étape de redimensionnement, d’optimisation ou de conversion avant de vous fier à un pipeline avec une entrée animée ; libavif, par exemple, indique le nombre d’images d’une séquence décodée via imageCount. Sélectionnez la piste comme source (AVIF_DECODER_SOURCE_TRACKS) avant de compter : le choix par défaut suit la marque principale du fichier et peut sélectionner l’image fixe principale à la place.

Quand l’AVIF animé est utile

Choisissez l’AVIF animé pour remplacer le GIF dans les boucles photographiques ou de type vidéo lorsque vos navigateurs cibles lisent les séquences AVIF, et conservez une solution de repli, car les clients qui décodent les AVIF fixes ne lisent pas tous les séquences. Pour les animations sans perte de graphismes en aplats de couleur, comparez d’abord les résultats avec APNG et WebP animé sur votre propre contenu : dans un ticket libavif intitulé « Animation AVIF sans perte beaucoup plus volumineuse qu’APNG ou WebP », des contributeurs du projet ont répondu en 2022 que l’AVIF sans perte est efficace pour les images de type photographique et devrait être bien moins performant que WebP sans perte pour les contenus graphiques, ce que l’un d’eux a attribué à la limitation du codec AV1 à des blocs de taille 4x4 en mode sans perte.

Comment Transloadit vous aide avec l’AVIF animé

Le tableau des formats d’image de Transloadit répertorie AVIF comme un format que ses Robots basés sur ImageMagick, dont /image/resize, peuvent lire et écrire. La documentation du Robot /image/resize décrit le traitement des animations via son paramètre frame uniquement pour les GIF animés.

Aucune des deux pages n’indique si un AVIF animé conserve ses images lors d’un redimensionnement ou d’une conversion, et aucune Assembly n’a été exécutée pour cette entrée. Traitez un fichier animé représentatif avec votre Assembly et vérifiez le nombre d’images du résultat avant de vous y fier.

Explorer les possibilités de Transloadit en matière de formats de fichiers et de compression

Références

Transformer vos connaissances sur les médias en une chaîne de traitement opérationnelle

Reliez les téléversements, le traitement, l’IA, le stockage et la diffusion via une seule API déclarative — la pile d’encodage, la montée en charge et l’évolution constante des formats sont prises en charge pour vous.

Essayer Transloadit gratuitement