O que é um arquivo DivX?

Um arquivo DivX contém vídeo codificado com um codec DivX, geralmente MPEG-4 Parte 2 ou uma variante posterior do DivX. O fluxo codificado costuma ser armazenado em um contêiner AVI ou MKV, em vez de um contêiner exclusivo do DivX.

Como funcionam os arquivos DivX

DivX é uma marca que abrange várias gerações de codecs e perfis de dispositivos, não uma única estrutura de arquivo. O DivX 3 era baseado no codec MPEG-4 v3 da Microsoft, que os decodificadores tratam como um codec distinto do MPEG-4 Parte 2 padrão; o codificador DivX 5 é documentado como uma implementação de MPEG-4 Parte 2 (Simple e Advanced Simple Profile); e a DivX afirma que as versões 3 a 6 usavam AVI como contêiner. O DivX 6 introduziu o DivX Media Format, que usa a extensão .divx e adiciona legendas XSUB, menus, pontos de capítulo e trilhas de áudio alternativas. As gerações posteriores mudaram ambas as camadas: a DivX descreve o vídeo DivX Plus como baseado em H.264 e usa MKV para vídeo DivX Plus e DivX HEVC. Portanto, o fluxo determina o decodificador de que um arquivo precisa, enquanto o contêiner fornece a temporização e a organização das trilhas.

Informações essenciais

  1. Nem todos os arquivos AVI identificados como DivX precisam do mesmo decodificador. O FFmpeg mapeia os FourCCs DIVX e DX50 para seu decodificador MPEG-4 Parte 2, mas mapeia DIV3, DIV4, DIV5 e DIV6 para msmpeg4v3, a variante Microsoft MPEG-4 v3 na qual o DivX 3 se baseava. O FourCC é apenas uma etiqueta no cabeçalho do fluxo, e a tabela do FFmpeg inclui entradas para arquivos AVI com problemas, portanto confirme o codec decodificando uma amostra, não apenas lendo a etiqueta.
  2. Copiar o fluxo de vídeo DivX de um AVI sem recodificação pode produzir um arquivo que decodificadores padrão rejeitam. O FFmpeg documenta que quadros B empacotados no estilo DivX não são MPEG-4 válido e alerta que eles causam problemas quando copiados para MP4 ou MPEG-PS/TS. Seu decodificador MPEG-4 registra uma mensagem ao encontrá-los e sugere o filtro de fluxo de bits mpeg4_unpack_bframes “without encoding but stream copy”: o filtro corrige o fluxo durante uma cópia, e o exemplo documentado pelo FFmpeg copia de um arquivo AVI para outro. Uma recodificação não precisa do filtro, pois o próprio decodificador trata os quadros B empacotados.
  3. Nem todo fluxo da época do DivX pode ser copiado sem recodificação para MP4 com o FFmpeg. A tabela de etiquetas de codec do multiplexador MP4 do FFmpeg tem entradas para MPEG-4 Parte 2, H.264 e HEVC, mas nenhuma para msmpeg4v3 ou legendas XSUB, e o multiplexador termina com um erro quando o codec de um fluxo não tem etiqueta. Portanto, um vídeo decodificado como msmpeg4v3 precisa ser recodificado para ser incluído em um MP4 gravado pelo FFmpeg, e as legendas XSUB não podem ser copiadas para ele.
  4. A extensão não identifica o codec e sugere o contêiner sem confirmá-lo. A DivX descreve arquivos .divx como baseados no contêiner AVI e .mkv como a extensão do Matroska, e sua tabela de perfis lista .avi e .divx para seus perfis da época do MPEG-4 e .mkv, .avi e .divx para DivX Plus HD. Portanto, um filtro .divx deixa de detectar vídeo DivX armazenado como .avi ou .mkv, e nenhuma extensão determina qual codec está dentro do arquivo.
  5. A decodificação por software não significa que um dispositivo DivX Certified reproduzirá o arquivo. A tabela de perfis define limites separados por classe de dispositivo para tamanho de quadro, taxa de bits, quantidade de quadros B e método de quantização: o perfil Home Theater, por exemplo, lista quantização H.263 e um quadro B, enquanto o DivX HD 1080p lista dois quadros B e quantização H.263, MPEG ou personalizada.

Quando os arquivos DivX são importantes

Ofereça suporte a DivX ao trabalhar com coleções de vídeos legados ou convertê-las para ambientes de reprodução mais recentes. Detecte tanto o codec quanto o contêiner, pois uma extensão por si só pode não revelar o decodificador ou demultiplexador necessário.

Como a Transloadit ajuda com arquivos DivX

A referência de codecs de vídeo da Transloadit, que abrange seus Robots baseados no FFmpeg, como /video/encode, lista mpeg4 (MPEG-4 Parte 2, com codificadores que incluem mpeg4 e libxvid) e msmpeg4v3 como compatíveis com leitura e gravação. Esses são os dois codecs para os quais o FFmpeg mapeia os FourCCs acima.

A referência lista codecs. Ela não abrange recursos do DivX Media Format, como menus ou legendas XSUB, portanto teste os arquivos que dependem deles.

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