O que é 3GP?

3GP é o contêiner multimídia que o 3GPP define como uma instância do ISO Base Media File Format (MPEG-4 Parte 12), criado para mensagens e streaming em redes móveis 3G. Um arquivo 3GP pode conter vídeo H.263, H.264 ou H.265, áudio da família AMR ou AAC e texto temporizado.

Como o 3GP funciona

Um arquivo 3GP armazena faixas de mídia temporizadas na estrutura de caixas do ISO Base Media File Format, a mesma família do MP4. Sua caixa de tipo de arquivo contém códigos de marca de quatro caracteres que identificam a versão e o perfil do 3GPP com os quais o arquivo está em conformidade, por exemplo, 3gp4 para um arquivo da versão 4 ou 3gr6 para um arquivo de download progressivo da versão 6. A especificação atual registra vídeo H.263, H.264 e H.265; áudio AMR, AMR-WB, AMR-WB+, EVS, IVAS, Enhanced aacPlus e AAC; e texto temporizado. O vídeo MPEG-4 Parte 2 já não consta nessa lista (o histórico de alterações registra sua remoção na versão 16), embora arquivos mais antigos ainda possam contê-lo. Os requisitos de decodificação vêm dos codecs contidos no arquivo, não do contêiner, portanto um sistema de ingestão deve analisar cada faixa antes de decidir se basta remultiplexar ou se é necessário transcodificar.

Informações essenciais

  1. video/3gpp não comprova a existência de uma faixa de vídeo: o registro o torna válido para qualquer arquivo 3GP, inclusive os que contêm apenas áudio. audio/3gpp é o rótulo mais restritivo, reservado a arquivos sem material visual, e texto temporizado conta como material visual. Analise as faixas antes de encaminhar um arquivo como áudio ou vídeo.
  2. Nenhum número mágico está registrado para 3GP. Um arquivo em conformidade começa com uma caixa de tipo de arquivo que lista uma marca 3GPP, como 3gp4 ou 3gp6, entre suas marcas compatíveis, e a orientação para os programas de leitura de arquivos é verificar essa lista em vez de depender da marca principal. O FFmpeg exibe esses valores como major_brand e compatible_brands ao abrir um arquivo. Um arquivo pode conter tanto marcas 3GP quanto MP4, portanto um sufixo .3gp ou .mp4 por si só não determina quais regras ele segue.
  3. 3G2 é o equivalente do 3GPP2, não um nome alternativo para 3GP. Ele tem registros separados (video/3gpp2 e audio/3gpp2, com o sufixo usual .3g2), deve listar uma marca 3GPP2 e pode conter voz codificada com o vocoder 13K ou com EVRC, que a especificação 3GP não registra. A MP4 Registration Authority registra 3g2a como uma marca 3GPP2, e o multiplexador 3G2 do FFmpeg 8.0 grava 3g2a, ou 3g2b quando uma faixa é H.264. Ambos pertencem à família de arquivos ISO, portanto um único analisador pode ler qualquer um dos dois (o FFmpeg usa um único desmultiplexador para ambos), mas os decodificadores necessários podem ser diferentes.
  4. Ao copiar fluxos de um arquivo 3GP para MP4 com o FFmpeg, o multiplexador MP4 aceita faixas H.264, H.265, MPEG-4 Parte 2 e AAC, mas não tem uma tag de entrada de amostra para H.263, AMR ou AMR-WB e para com o erro “codec not currently supported in container”. Essas faixas precisam ser recodificadas para gerar uma saída MP4. Isso abrange apenas os codecs citados e descreve as tabelas do multiplexador do FFmpeg conforme verificadas na versão 8.0, não todas as ferramentas de empacotamento. Uma tag é necessária para a cópia, mas não a garante, e copiar uma faixa não a torna, por si só, reproduzível em um navegador.

Quando o 3GP é relevante

Mantenha a ingestão de 3GP para gravações de celulares antigos e acervos de mensagens móveis legadas. Para distribuição na web, converta para MP4 com vídeo H.264 e áudio AAC, que a MDN lista como compatíveis com MP4 no Chrome, Edge, Firefox e Safari (o Firefox depende dos decodificadores do sistema operacional). Não disponibilize o próprio arquivo 3GP: o índice de formatos de contêiner da MDN cita apenas o Firefox para Android como compatível com 3GP, e os guias de codecs da MDN informam que nenhum dos principais navegadores disponibilizou decodificação H.263 e indicam AMR como não compatível com Chrome e Firefox. Copiar uma faixa para MP4 também não a torna reproduzível: recodifique vídeo MPEG-4 Parte 2, que a MDN lista como não compatível com Chrome, Edge, Opera e Safari, e verifique o suporte a H.265 nos navegadores de destino, pois a MDN o vincula à versão do navegador, ao sistema operacional e ao hardware. Mantenha também o original, pois AMR de banda estreita é áudio de voz 8 kHz, e recodificá-lo acrescenta compatibilidade, não fidelidade.

Como a Transloadit ajuda com 3GP

A tabela de formatos de áudio/vídeo da Transloadit, que abrange Robots baseados no FFmpeg, como o /video/encode, lista 3gp e 3g2 como formatos que esses Robots podem gravar. Ambas as linhas mostram Read como No porque cada linha corresponde ao multiplexador do FFmpeg com esse nome, e o FFmpeg lê esses arquivos por meio de um desmultiplexador separado e compartilhado. Como descreve a documentação de formatos do FFmpeg, esse único desmultiplexador lida com toda a família MOV, MP4 e 3GP, e o FFmpeg o identifica pelo nome combinado mov,mp4,m4a,3gp,3g2,mj2, que inclui tanto 3gp quanto 3g2, ao abrir um arquivo desse tipo.

A tabela informa o que cada versão do stack do FFmpeg pode ler e gravar, não um resultado testado para cada codec contido em um upload 3GP. O comportamento da cópia de fluxos descrito nos fatos principais foi verificado no código-fonte do FFmpeg 8.0, não em um stack da Transloadit. Processe um arquivo legado representativo com sua Assembly 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