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
- Nem todos os arquivos AVI identificados como DivX precisam do mesmo decodificador. O FFmpeg mapeia os FourCCs
DIVXeDX50para seu decodificador MPEG-4 Parte 2, mas mapeiaDIV3,DIV4,DIV5eDIV6paramsmpeg4v3, 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. - 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. - 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
msmpeg4v3ou legendas XSUB, e o multiplexador termina com um erro quando o codec de um fluxo não tem etiqueta. Portanto, um vídeo decodificado comomsmpeg4v3precisa ser recodificado para ser incluído em um MP4 gravado pelo FFmpeg, e as legendas XSUB não podem ser copiadas para ele. - A extensão não identifica o codec e sugere o contêiner sem confirmá-lo. A DivX descreve arquivos
.divxcomo baseados no contêiner AVI e.mkvcomo a extensão do Matroska, e sua tabela de perfis lista.avie.divxpara seus perfis da época do MPEG-4 e.mkv,.avie.divxpara DivX Plus HD. Portanto, um filtro.divxdeixa de detectar vídeo DivX armazenado como.aviou.mkv, e nenhuma extensão determina qual codec está dentro do arquivo. - 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
- DivX: especificações técnicas dos perfis DivX (extensões de arquivo, codecs e limites por perfil)
- Glossário de tecnologia DivX: AVI (contêiner para vídeo DivX das versões 3 a 6)
- Glossário de tecnologia DivX: MKV (contêiner para vídeo DivX Plus e DivX HEVC)
- Glossário de tecnologia DivX: H.264 (base do vídeo DivX Plus)
- Comunicado de imprensa da DivX, 15 de junho de 2005: DivX 6 apresenta o DivX Media Format
- Guia do usuário do DivX 10 (PDF): arquivos .divx e o contêiner AVI
- Descrição de formato fdd000069 da Library of Congress: codec de vídeo DivX, versão 5
- Código-fonte do FFmpeg, libavformat/riff.c: mapeamento de FourCC para codec
- Documentação dos filtros de fluxo de bits do FFmpeg: mpeg4_unpack_bframes
- Código-fonte do FFmpeg, libavcodec/mpeg4videodec.c: tratamento de quadros B empacotados e mensagem
- Código-fonte do FFmpeg, libavformat/movenc.c: etiquetas de codec do multiplexador MP4