# Formato de arquivo de mídia de base ISO

A ISO base media file format (ISOBMFF) é um formato de arquivo contêiner que define uma estrutura geral para arquivos que contêm dados multimídia baseados em tempo, como vídeo e áudio. Ele é padronizado na ISO / IEC 14496-12, também conhecida como MPEG-4 Parte 12, e foi publicado anteriormente como ISO/IEC 15444-12, também conhecida como JPEG 2000 Parte 12.
Ele é projetado como um formato flexível e extensível que facilita o intercâmbio, o gerenciamento, a edição e a apresentação da mídia. A apresentação pode ser local ou por meio de uma rede ou outro mecanismo de distribuição de fluxo. O formato do arquivo foi projetado para ser independente de qualquer protocolo de rede específico, ao mesmo tempo em que permite suporte para eles em geral.
O formato se tornou amplamente utilizado para armazenamento de arquivos de mídia e como base para vários outros formatos de arquivo de mídia (por exemplo, os formatos de contêiner MP4 e 3GP), e seu uso generalizado foi reconhecido pelo Prêmio Emmy de Tecnologia e Engenharia apresentado em 4 de novembro de 2021 pela Academia Nacional de Artes e Ciências da Televisão.

## História

O formato de arquivo de mídia base ISO é baseado diretamente no formato de contêiner QuickTime da Apple. Foi desenvolvido pela MPEG (em ISO/IEC JTC 1/SC 29, originalmente Grupo de Trabalho 11 MPEG, atualmente Grupo de Trabalho 3 MPEG Sistemas). A primeira especificação do formato de arquivo MP4 foi criada com base na especificação do formato QuickTime publicada em 2001. O formato de arquivo MP4 conhecido como "versão 1" foi publicado em 2001 como ISO/IEC 14496-1:2001, como revisão do MPEG-4 Parte 1: Sistemas. Em 2003, a primeira versão do formato de arquivo MP4 foi revisada e substituída pelo MPEG-4 Parte 14: formato de arquivo MP4 (ISO/IEC 14496-14:2003), comumente conhecido como formato de arquivo MPEG-4 "versão 2".
O formato de arquivo MP4 foi generalizado no formato de arquivo de mídia base ISO (ISO/IEC 14496-12:2004 ou ISO/IEC 15444-12:2004), que define uma estrutura geral para arquivos de mídia baseados em tempo. É usado como base para outros formatos de arquivo da família, como MP4, 3GP e Motion JPEG 2000).
Historicamente, o texto também foi publicado como ISO/IEC 15444-12 (JPEG 2000 Parte 12), embora a versão JPEG 2000 do padrão tenha sido retirada em janeiro de 2017, pois era redundante com a publicação MPEG-4.
Edições MPEG-4 Parte 12 / JPEG 2000 Parte 12 :
| Edição | Data de lançamento | Última alteração | Padrão |
| Primeira edição | 2004 | | ISO/IEC 14496-12:2004, ISO/IEC 15444-12:2004 |
| Segunda edição | 2005 | 2008 | ISO/IEC 14496-12:2005, ISO/IEC 15444-12:2005 |
| Terceira edição | 2008 | 2009 | ISO/IEC 14496-12:2008, ISO/IEC 15444-12:2008 |
| Quarta edição | 2012 | 2015 | ISO/IEC 14496-12:2012, ISO/IEC 15444-12:2012 |
| Quinta edição | 2015 | 2018 | ISO/IEC 14496-12:2015, ISO/IEC 15444-12:2015 |
| Sexta edição | 2020 | | ISO/IEC 14496-12:2020 |
| Sétima edição | 2022 | | ISO/IEC 14496-12:2022 |

## Extensões

O formato de arquivo de mídia base ISO foi projetado como um formato de arquivo extensível. Uma lista de todas as extensões registradas para o formato de arquivo de mídia base ISO é publicada no site oficial da autoridade de registro, www.mp4ra.org. A autoridade de registro para pontos de código (valores identificadores) em arquivos "Família MP4" é a Apple Inc., e é nomeada no Anexo D (informativo) no MPEG-4 Parte 12. Os projetistas de codecs devem registrar os códigos que inventam, mas o registro não é obrigatório e alguns dos pontos de código inventados e usados não são registrados. Quando alguém está criando uma nova especificação derivada do formato de arquivo de mídia base ISO, todas as especificações existentes devem ser usadas como exemplos e como fonte de definições e tecnologia. Se uma especificação existente já abranger como um tipo específico de mídia é armazenado no formato de arquivo (por exemplo, áudio MPEG-4 ou vídeo em MP4), essa definição deve ser usada e uma nova não deve ser inventada.
O MPEG padronizou uma série de especificações que estendem o formato de arquivo de mídia base ISO: O formato de arquivo MP4 (ISO/IEC 14496-14) definiu algumas extensões sobre o formato de arquivo de mídia base ISO para oferecer suporte a codecs visuais/de áudio MPEG-4 e vários recursos do Sistema MPEG-4, como descritores de objetos e descrições de cenas. O padrão MPEG-4 Parte 3 (Áudio MPEG-4) também definiu o armazenamento de alguns formatos de compressão de áudio. O armazenamento de áudio MPEG-1/2 (MP3, MP2, MP1) no formato de arquivo de mídia base ISO foi definido na norma ISO/IEC 14496-3:2001/Amd 3:2005. O formato de arquivo Advanced Video Coding (AVC) (ISO/IEC 14496-15) definiu o suporte para compressão de vídeo H.264/MPEG-4 AVC. O High Efficiency Image File Format (HEIF) é um formato de contêiner de imagens que usa o formato de arquivo de mídia ISO como base. Embora o HEIF possa ser usado com qualquer formato de compressão de imagem, ele inclui suporte específico para imagens intracodificadas HEVC e sequências de imagens codificadas HEVC, aproveitando a previsão entre imagens.
Algumas das extensões padrão MPEG mencionadas acima são usadas por outros formatos baseados no formato de arquivo de mídia base ISO (por exemplo, 3GP). A especificação do formato de arquivo 3GPP (.3gp) também definiu extensões para oferecer suporte a vídeo H.263, áudio AMR-NB, AMR-WB, AMR-WB+ e texto cronometrado 3GPP em arquivos baseados no formato de arquivo de mídia base ISO. O formato de arquivo 3GPP2 (.3g2) definiu extensões para uso dos formatos de compressão de voz EVRC, SMV ou 13K (QCELP). A especificação JPEG 2000 (ISO/IEC 15444-3) definiu o uso da compressão de vídeo Motion JPEG 2000 e áudio não compactado (PCM) no formato de arquivo de mídia base ISO (.mj2). O "Formato de arquivo DVB" (.dvb) definido pelo Projeto DVB permitiu o armazenamento de serviços DVB no formato de arquivo de mídia base ISO. Ele permite o armazenamento de áudio, vídeo e outros conteúdos de três maneiras principais: encapsulado em um fluxo de transporte MPEG, armazenado como uma trilha de dica de recepção; encapsulado em um fluxo RTP, armazenado como uma trilha de dica de recepção ou armazenado diretamente como trilhas de mídia. O formato de arquivo MPEG-21 (.m21, .mp21) definiu o armazenamento de um item digital MPEG-21 no formato de arquivo de mídia base ISO, com alguns ou todos os seus dados auxiliares (como filmes, imagens ou outros dados não XML) dentro do mesmo arquivo. A especificação OMA DRM Content Format (.dcf) da Open Mobile Alliance definiu o formato de conteúdo para objetos de mídia criptografados protegidos por DRM e metadados associados. Existem também outras extensões, como a especificação ISMA ISMACryp para áudio e vídeo criptografados/protegidos, especificação de compressão de áudio G.719, compressão de áudio AC3 e E-AC-3, compressão de áudio DTS, compressão de vídeo Dirac, especificação de compressão de vídeo VC-1 e outras, que são nomeadas no site da autoridade de registro MP4.
Existem algumas extensões do formato de arquivo de mídia base ISO que não foram registradas pela autoridade de registro MP4. A Adobe Systems introduziu o formato de arquivo F4V para Flash Video em 2007 e disse que ele é baseado no formato de arquivo de mídia base ISO. O formato de arquivo F4V não foi registrado pela autoridade de registro MP4, mas a especificação técnica F4V está disponível publicamente. Este formato pode conter compressão de vídeo H.264 e compressão de áudio MP3 ou AAC. Além disso, o formato de arquivo F4V pode conter dados correspondentes ao ActionScript Message Format e quadros estáticos de dados de vídeo usando formatos de imagem GIF, JPEG e PNG. A Microsoft Corporation anunciou em 2009 um formato de arquivo baseado no formato de arquivo de mídia base ISO, chamado ISMV (Smooth Streaming format), também conhecido como Protected Interoperable File Format (PIFF). Conforme anunciado, este formato pode, por exemplo, conter formatos de compressão VC-1, WMA, H.264 e AAC. A Microsoft publicou uma especificação de Formato de Arquivo Interoperável Protegido (PIFF) em 2010. Ele definiu outro uso de vários sistemas de criptografia e DRM em um único contêiner de arquivo. A marca PIFF foi registrada pela autoridade de registro MP4 em 2010. Algumas extensões usadas por este formato (por exemplo, para suporte a WMA) não foram registradas. O uso do formato de compressão WMA no formato de arquivo de mídia base ISO não foi documentado publicamente.

## Detalhes técnicos

O formato de arquivo de mídia base ISO inclui tempo, estrutura e informações de mídia para sequências temporizadas de dados de mídia, como apresentações audiovisuais. A estrutura do arquivo é orientada a objetos. Um arquivo pode ser decomposto em objetos básicos de forma muito simples, e a estrutura dos objetos é implícita a partir de seu tipo.
Arquivos em conformidade com o formato de arquivo de mídia base ISO são formados como uma série de objetos, chamados "caixas". Todos os dados estão contidos em caixas e não há outros dados dentro do arquivo. Isso inclui qualquer assinatura inicial exigida pelo formato de arquivo específico. A "caixa" é um bloco de construção orientado a objetos definido por um identificador de tipo e comprimento exclusivos. Foi chamado de "átomo" em algumas especificações (por exemplo, a primeira definição do formato de arquivo MP4).
Uma apresentação (sequência de movimentos) pode estar contida em vários arquivos. Todas as informações de tempo e enquadramento (posição e tamanho) devem estar no arquivo de mídia base ISO, e os arquivos auxiliares podem usar essencialmente qualquer formato.

### Arquivo do tipo box

Para identificar as especificações às quais um arquivo baseado no formato de arquivo de mídia base ISO está em conformidade, "marcas" são usadas como identificadores no formato de arquivo. Eles são colocados em uma caixa chamada caixa de tipo de arquivo ("ftyp"), que deve ser colocada no início do arquivo. É um tanto análogo ao chamado código fourcc, usado para um propósito semelhante para mídia incorporada no formato de contêiner AVI. Uma marca pode indicar o tipo de codificação usada, como os dados de cada codificação são armazenados, restrições e extensões aplicadas ao arquivo, a compatibilidade ou o uso pretendido do arquivo. As marcas são códigos de quatro caracteres para impressão. Uma caixa de tipo de arquivo contém dois tipos de marcas. Uma delas é "major_brand", que identifica a especificação do melhor uso para o arquivo. Ele é seguido por "minor_version", um inteiro informativo de 4 bytes para a versão secundária da marca principal. O segundo tipo de marca é "compatible_brands", que identifica diversas especificações às quais o arquivo está em conformidade. Todos os arquivos devem conter uma caixa de tipo de arquivo, mas por motivos de compatibilidade com uma versão anterior da especificação, os arquivos podem estar em conformidade com o formato de arquivo de mídia base ISO/IEC e não conter uma caixa de tipo de arquivo. Nesse caso, eles devem ser lidos como se contivessem um ftyp com uma marca principal e compatível "mp41" (MP4 v1 – ISO 14496-1, Capítulo 13). Algumas marcas em uso (ftyps) não são registradas e podem ser encontradas em algumas páginas da web.
Um arquivo multimídia estruturado no formato de arquivo de mídia base ISO/IEC pode ser compatível com mais de uma especificação concreta e, portanto, nem sempre é possível falar de um único "tipo" ou "marca" para o arquivo. Nesse sentido, a utilidade do tipo de extensão de e-mail da Internet multifuncional e da extensão do nome de arquivo é um pouco reduzida. Apesar disso, quando uma especificação derivada é escrita, uma nova extensão de arquivo será usada, um novo tipo MIME e um novo tipo de arquivo Macintosh.

### Transmissão

O formato de arquivo de mídia base ISO/IEC suporta streaming de dados de mídia através de uma rede, bem como reprodução local. Um arquivo que suporta streaming inclui informações sobre as unidades de dados a serem transmitidas (como servir os dados de fluxo elementares no arquivo por meio de protocolos de streaming). Essas informações são colocadas em trilhas adicionais do arquivo, chamadas trilhas "hint". Faixas de "dicas" separadas para diferentes protocolos podem ser incluídas no mesmo arquivo. A mídia será reproduzida em todos esses protocolos sem fazer cópias ou versões adicionais dos dados de mídia. A mídia existente pode ser facilmente disponibilizada para outros protocolos específicos por meio da adição de faixas de dicas apropriadas. Os dados de mídia em si não precisam ser reformatados de forma alguma. Os fluxos enviados pelos servidores sob a direção das trilhas de dicas não precisam conter nenhum vestígio de informações específicas do arquivo. Quando a apresentação é reproduzida localmente (não transmitida), as faixas de dicas podem ser ignoradas. As trilhas de dicas podem ser criadas por uma ferramenta de criação ou podem ser adicionadas a um arquivo existente (apresentação) por uma ferramenta de dicas.