O que é AVIF animado?

Um AVIF animado é um arquivo AVIF que armazena uma sequência de imagens AV1: uma trilha de quadros AV1 temporizados no contêiner HEIF, que a especificação identifica com a marca avis. Ele usa a mesma extensão .avif e o mesmo tipo de mídia image/avif de um AVIF estático e pode incluir transparência alfa e cores HDR.

Como funciona o AVIF animado

A especificação AVIF define uma sequência de imagens como um conjunto de unidades temporais AV1 armazenadas em uma trilha de um arquivo ISO Base Media, com o tipo de manipulador pict, em vez da estrutura de itens usada para uma imagem estática. A especificação identifica esses arquivos com a marca avis e diz que eles devem listá-la na caixa de tipo de arquivo, mas exige apenas que um arquivo AVIF liste avif ou avis. Como as regras subjacentes do MIAF exigem pelo menos um item de imagem, o mesmo arquivo também contém uma imagem estática primária que leitores compatíveis apenas com itens podem decodificar. A transparência é transportada como uma segunda sequência AV1, monocromática e marcada como alfa. A temporização vem da trilha: cada quadro tem uma duração contada em unidades da escala de tempo da trilha, e o número de repetições é obtido de uma lista de edição. Uma sequência pode conter quadros que dependem de quadros anteriores (a libavif disponibiliza um intervalo de quadros-chave para isso), portanto os quadros não podem ser decodificados de forma independente, a menos que o arquivo seja gravado com todas as amostras como amostras de sincronização.

Informações essenciais

  1. Nem a extensão .avif nem o tipo de mídia image/avif informam se um arquivo é animado: a especificação atribui ambos a arquivos estáticos e a sequências. Examine o conteúdo do arquivo. Um arquivo de sequência contém uma trilha de sequência de imagens e deve listar a marca avis na caixa de tipo de arquivo. A marca é recomendada, mas não obrigatória, portanto a ausência de avis não prova que o arquivo seja estático; analise a estrutura do arquivo para encontrar a trilha. A libavif (desde a versão 1.1.0) informa a presença da trilha após essa análise como imageSequenceTrackPresent.
  2. Decodificar AVIF estático não significa que um cliente reproduza sequências. Nos dados do caniuse consultados em outubro de 2026, o Firefox decodificava AVIF estático desde a versão 93, mas só reproduzia sequências por padrão a partir da versão 113. No Safari, a situação é menos clara: o WebKit anunciou AVIF estático no Safari 16.0 no iOS 16 e sequências no Safari 16.1, o caniuse considera que o Safari reproduz sequências apenas a partir da versão 16.4, e um relato de bug do WebKit de dezembro de 2022 sobre problemas na renderização de AVIF animado termina com um comentário de que a correção foi disponibilizada no iOS 16.4.1 e no macOS 13.3.1. Como o tipo de mídia é idêntico, uma verificação apenas de image/avif, como uma origem <picture> com tipo definido, não consegue distinguir clientes que reproduzem sequências daqueles que só decodificam imagens estáticas. A especificação não diz o que um cliente compatível apenas com imagens estáticas exibe; o arquivo contém uma imagem estática primária que ele pode decodificar.
  3. A velocidade de reprodução e a repetição são metadados do contêiner, não configurações do codec. As durações dos quadros são contagens inteiras da escala de tempo da trilha, e o número de repetições vem de uma lista de edição. Quando a lista de edição está ausente, a libavif informa que a contagem é desconhecida e deixa o comportamento a cargo da aplicação, portanto os reprodutores podem se comportar de formas diferentes. Se você codificar com a libavif, defina deliberadamente a escala de tempo e o número de repetições: o codificador usa repetição infinita por padrão, e uma contagem não negativa n reproduz a sequência n + 1 vezes.
  4. Ferramentas que lidam com AVIF estático podem descartar a animação. A documentação do sharp afirma que sequências de imagens AVIF não são compatíveis, e uma issue pública do sharp relata a perda da animação ao converter GIF em AVIF. O multiplexador avif do FFmpeg trata mais de um quadro de entrada como um AVIF animado e tem uma opção loop. Verifique o número de quadros na saída de cada etapa de redimensionamento, otimização ou conversão antes de confiar em um pipeline com entrada animada; a libavif, por exemplo, informa o número de imagens em uma sequência decodificada como imageCount. Selecione a origem da trilha (AVIF_DECODER_SOURCE_TRACKS) antes da contagem: o padrão segue a marca principal do arquivo e pode selecionar a imagem estática primária.

Quando o AVIF animado é relevante

Escolha AVIF animado como substituto do GIF para animações em repetição com fotografias ou conteúdo semelhante a vídeo quando seus navegadores de destino reproduzirem sequências AVIF, e mantenha uma alternativa, pois nem todos os clientes que decodificam AVIF estático reproduzem sequências. Para animações sem perdas de elementos gráficos com cores uniformes, compare primeiro com APNG e WebP animado usando seu próprio conteúdo: em uma issue da libavif intitulada “Animação AVIF sem perdas muito maior que APNG ou WebP”, colaboradores do projeto responderam em 2022 que o AVIF sem perdas é eficiente para imagens semelhantes a fotografias e que se espera um desempenho muito pior que o do WebP sem perdas em conteúdo gráfico, o que um deles atribuiu à limitação do codec AV1 a blocos de 4x4 no modo sem perdas.

Como a Transloadit ajuda com AVIF animado

A tabela de formatos de imagem da Transloadit lista AVIF como um formato que seus Robots baseados no ImageMagick, incluindo /image/resize, podem ler e gravar. A documentação de /image/resize descreve o tratamento de animações, por meio do parâmetro frame, apenas para GIF animado.

Nenhuma das páginas informa se um AVIF animado mantém seus quadros após um redimensionamento ou uma conversão, e nenhuma Assembly foi executada para este verbete. Processe um arquivo animado representativo na sua Assembly e verifique o número de quadros do resultado antes de depender desse comportamento.

Explore os formatos de arquivo e os recursos de compressão da Transloadit

Fontes

Transforme conhecimento sobre mídia em um pipeline funcional

Conecte uploads, processamento, IA, armazenamento e entrega por meio de uma única API declarativa, com o stack de codificação, o ajuste de escala e as constantes mudanças de formatos gerenciados para você.

Experimente a Transloadit gratuitamente