Formatos de mídia compatíveis

Este documento descreve a compatibilidade do de codec de mídia, contêiner e protocolo de rede oferecidos pela plataforma Android.

Como desenvolvedor de aplicativos, você pode usar qualquer codec de mídia disponível em qualquer dispositivo com Android, incluindo codecs disponibilizados pela Plataforma Android e aqueles específicos para certos dispositivos. No entanto, recomendamos que você use perfis de codificação de mídia gerais.

As tabelas abaixo descrevem a compatibilidade de formatos de mídia integrada à plataforma Android. Os codecs que não têm garantia de disponibilidade em todas as versões da plataforma Android são indicados entre parênteses, por exemplo: (Android 3.0+). Observe que qualquer dispositivo móvel pode ser compatível com outros formatos ou tipos de arquivos que não estão listados na tabela.

A seção 5 de Definição de compatibilidade do Android especifica os formatos de mídia com que um dispositivo precisa ser compatível para usar o Android 8.1.

Compatibilidade de áudio

Formatos e codecs de áudio

Formato/Codec Codificador Decodificador Detalhes Tipos de arquivo/Formatos de contêiner compatíveis
AAC LC Compatível com conteúdo mono/estéreo/5.0/5.1 com taxas de amostragem padrão de 8 a 48 kHz. • 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• ADTS RAW AAC (.aac, decodificado no Android 3.1+, codificado no Android 4.0+, não compatível com ADIF)
• MPEG-TS (.ts, não pesquisável, Android 3.0+)
HE-AACv1 (AAC+)
(Android 4.1+)
HE-AACv2 (AAC+ aprimorado)   Compatível com conteúdo estéreo/5.0/5.1 com taxas de amostragem padrão de 8 a 48 kHz.
AAC ELD (AAC aprimorado com atraso baixo)
(Android 4.1+)

(Android 4.1+)
Compatível com conteúdo mono/estéreo com taxas de amostragem padrão de 16 a 48 kHz.
AMR-NB 4,75 a 12,2 kbps com amostragem a 8 kHz. 3GPP (.3gp)
AMR-WB 9 taxas de 6,60 kbit/s a 23,85 kbit/s com amostragem a 16 kHz. 3GPP (.3gp)
FLAC
(Android 4.1+)

(Android 3.1+)
Mono/estéreo (sem multicanal). Taxas de amostragem de até 48 kHz (mas o valor de até 44,1 kHz é recomendado em dispositivos com saída de 44,1 kHz, já que o redutor de 48 para 44,1 kHz não inclui um filtro passa baixa). Recomendação de 16 bits; sem pontilhamento aplicado para 24 bits. Somente FLAC (.flac)
GSM   O Android é compatível com a decodificação GSM em dispositivos de telefonia. GSM (.gsm)
MIDI   MIDI tipos 0 e 1. DLS versões 1 e 2. XMF e XMF para celular. Compatível com os formatos de toque RTTTL/RTX, OTA e iMelody. • Tipo 0 e 1 (.mid, .xmf, .mxmf)
• RTTTL/RTX (.rtttl, .rtx)
• OTA (.ota)
• iMelody (.imy)
MP3   Taxa de bits mono/estéreo constante (CBR) ou variável (VBR) de 8-320 kbps. MMP3 (.mp3)
Opus
(Android 5.0+)
Matroska (.mkv)
PCM/WAVE
(Android 4.1+)
PCM linear de 8 e 16 bits (taxas até o limite de hardware). Taxas de amostragem para gravações PCM RAW em 8.000, 16.000 e 44.100 Hz. WAVE (.wav)
Vorbis     • Ogg (.ogg)
• Matroska (.mkv, Android 4.0+)

Compatibilidade de vídeo

Formatos e codecs de vídeo

Formato/Codec Codificador Decodificador Detalhes Tipos de arquivo/Formatos de contêiner compatíveis
H.263 A compatibilidade com H.263 é opcional no Android 7.0+ • 3GPP (.3gp)
• MPEG-4 (.mp4)
H.264 AVC
Perfil de referência (BP)

(Android 3.0+)
• 3GPP (.3gp)
• MPEG-4 (.mp4) • MPEG-TS (.ts, AAC exclusivo de áudio, não pesquisável, Android 3.0+)
H.264 AVC
Perfil principal (MP)

(Android 6.0+)
O decodificador é obrigatório, o codificador é recomendado.
H.265 HEVC
(Android 5.0+)
Nível 3 do perfil principal para dispositivos móveis e nível 4.1 do perfil principal para Android TV • MPEG-4 (.mp4)
MPEG-4 SP     3GPP (.3gp)
VP8
(Android 4.3+)

(Android 2.3.3+)
Streaming possível apenas no Android 4.0 e versões posteriores. WebM (.webm)
• Matroska (.mkv, Android 4.0+)
VP9
(Android 4.4+)
WebM (.webm)
• Matroska (.mkv, Android 4.0+)

Recomendações de codificação de vídeo

A tabela abaixo lista os perfis e parâmetros de codificação de vídeo do framework de mídia do Android recomendados para reprodução usando o codec de perfil de referência H.264. As mesmas recomendações são válidas para o codec de perfil principal, que está disponível apenas no Android 6.0 e versões posteriores.

  SD (baixa qualidade) SD (alta qualidade) HD 720p (N/A em todos os dispositivos)
Resolução do vídeo 176 x 144 px 480 x 360 px 1.280 x 720 px
Frame rate do vídeo 12 fps 30 fps 30 fps
Taxa de bits do vídeo 56 Kbps 500 Kbps 2 Mbps
Codec de áudio AAC-LC AAC-LC AAC-LC
Canais de áudio 1 (mono) 2 (estéreo) 2 (estéreo)
Taxa de bits do áudio 24 Kbps 128 Kbps 192 Kbps

A tabela abaixo lista os perfis e parâmetros de codificação de vídeo do framework de mídia do Android recomendados para reprodução com o codec de mídia VP8.

  SD (baixa qualidade) SD (alta qualidade) HD 720p (N/A em todos os dispositivos) HD 1.080p (N/A em todos os dispositivos)
Resolução do vídeo 320 x 180 px 640 x 360 px 1.280 x 720 px 1.920 x 1.080 px
Frame rate do vídeo 30 fps 30 fps 30 fps 30 fps
Taxa de bits do vídeo 800 Kbps 2 Mbps 4 Mbps 10 Mbps

Recomendações de decodificação de vídeo

As implementações de dispositivos precisam ser compatíveis com a resolução dinâmica de vídeo e a alternância de frame rate por meio das APIs padrão do Android no mesmo fluxo para todos os codecs VP8, VP9, H.264 e H.265 em tempo real e com a resolução máxima compatível com cada codec no dispositivo.

As implementações compatíveis com o decodificador Dolby Vision precisam seguir estas diretrizes:

  • Fornecer um extrator com tecnologia Dolby Vision.
  • Exibir corretamente o conteúdo do Dolby Vision na tela do dispositivo ou em uma porta de saída de vídeo padrão, como HDMI.
  • Definir o índice de faixa das camadas básicas compatíveis com versões anteriores (se houver) para que ele seja igual ao índice de faixa da camada Dolby Vision combinada.

Requisitos de stream de vídeo

Para conteúdo de vídeo transmitido por HTTP ou RTSP, há mais requisitos:

  • Para os contêineres 3GPP e MPEG-4, o atom moov precisa preceder qualquer atom mdat, mas suceder o atom ftyp.
  • Para os contêineres 3GPP, MPEG-4 e WebM, as amostras de áudio e vídeo correspondentes ao mesmo ajuste de horário não podem estar a mais de 500 KB de distância. Para minimizar esse deslocamento de áudio/vídeo, intercale áudio e vídeo em tamanhos menores.

Compatibilidade de imagem

Formato/Codec Codificador Decodificador Detalhes Tipos de arquivo/Formatos de contêiner compatíveis
BMP     BMP (.bmp)
GIF     GIF (.gif)
JPEG Básico+progressivo JPEG (.jpg)
PNG   PNG (.png)
WebP
(Android 4.0+)
(sem perda, transparência, Android 4.2.1+)

(Android 4.0+)
(sem perda, transparência, Android 4.2.1+)
  WebP (.webp)
HEIF  
(Android 8.0+)
  HEIF (.heic; .heif)

Protocolos de rede

Os seguintes protocolos de rede são compatíveis com a reprodução de áudio e vídeo:

  • RTSP (RTP, SDP)
  • Streaming progressivo HTTP/HTTPS
  • Protocolo de rascunho (em inglês) do HTTP/HTTP Live Streaming:
    • Somente arquivos de mídia TS MPEG-2
    • Protocolo versão 3 (Android 4.0 e posteriores)
    • Protocolo versão 2 (Android 3.x)
    • Não compatível com versões anteriores ao Android 3.0

Observação: HTTPS não é compatível com versões anteriores ao Android 3.1.