Este documento descreve o suporte ao codec de mídia, container e protocolo de rede fornecidos pela plataforma Android.
As tabelas abaixo descrevem o suporte ao formato de mídia incorporado na plataforma Android. SIM significa que o formato está disponível em todas as versões do Android. Quando uma plataforma Android específica é especificada, o formato está disponível para essa versão e para todas as versões posteriores. O formato também pode estar disponível em versões anteriores, mas isso não é garantido.
Note que um determinado dispositivo móvel pode suportar formatos adicionais ou tipos de arquivo que não estão listados nessas tabelas. Além disso, se você usar umMediaCodecdirectly, você pode acessar qualquer um dos formatos de mídia disponíveis, independentemente dos tipos de arquivo e formatos de contêineres suportados.
Suporte de áudio
Formato | Encodificador | Descodificador | Detalhes | Tipos de arquivo Tipos de contentor |
---|---|---|---|---|
AAC LC | YES | YES | Suporte para mono/stereo/5.0/5.1content com taxas de amostragem padrão de 8 a 48 kHz. | – 3GPP (.3gp) – MPEG-4 (.mp4, .m4a) – ADTS AAC cru (.aac, decodificar no Android 3.1+, codificar no Android 4.0+, ADIF não suportado) – MPEG-TS (.ts, não buscável, Android 3.0+) |
HE-AACv1 (AAC+) | Android 4.1+ | YES | ||
HE-AACv2 (AAC+) | YES | Suporte para estéreo/5.0/5,1content com taxas de amostragem padrão de 8 a 48 kHz. | ||
xHE-AAC | Android 9+ | Suporte para até 8ch de conteúdo com taxas de amostragem padrão de 8 a 48 kHz | ||
AAC ELD (Enhanced Low delay AAC) | Android 4.1+ | Andróide 4.1+ | Suporte para mono/stereo com taxas de amostragem padrão de 16 a 48 kHz | |
AMR-NB | YES | YES | 4.75 a 12,2 kbps amostrados @ 8kHz | – 3GPP (.3gp) – AMR (.amr) |
AMR-WB | YES | YES | 9 taxas a partir de 6.60 kbit/s a 23,85 kbit/s amostrados @ 16kHz | |
FLAC | Android 4.1+ | Android 3.1+ | Mono/Stereo (sem multicanal). Taxas de amostragem até 48 kHz (mas é recomendado até 44,1kHz em dispositivos com saída de 44,1 kHz, pois o amostrador de 48 a 44,1 kHz não inclui um filtro passa-baixo). 16-bit recomendado; nenhuma dither aplicada para 24-bit. | – FLAC (.flac) – MPEG-4 (.mp4, .m4a, Android 10+) |
MIDI | YES | MIDI Tipo 0 e 1. DLS Versão 1 e 2. XMF e Móvel XMF. Suporte para formatos de toques RTTTL/RTX, OTA, e iMelody | – Tipo 0 e 1 (.mid, .xmf, .mxmf) – RTTTTL/RTX (.rtttl, .rtx) – OTA (.ota) – iMelody (.imy) |
|
MP3 | YES | Mono/Stereo 8-320Kbps constante (CBR) ou variável bit-rate (VBR) | – MP3 (.mp3) – MPEG-4 (.mp4, .m4a, Android 10+) – Matroska (.mkv, Android 10+) |
|
Opus | Android 10+ | Android 5.0+ | > | – Ogg (.ogg) – Matroska (.mkv) |
PCM/WAVE | Android 4.1+ | YES | 8- e 16-bit linear PCM (taxas até o limite do hardware). Amostras de gravações PCM brutas a 8000, 16000 e 44100 Hz. | WAVE (.wav) |
Vorbis | SIM | – Ogg (.ogg) – Matroska (.mkv, Android 4.0+) – MPEG-4 (.mp4, .m4a, Android 10+) |
Suporte vídeo
Formatos vídeo
Formato | Encodificador | Descodificador | Detalhes | Tipos de arquivo Formatos de contentor |
|
---|---|---|---|---|---|
H.263 | SIM | SIM | Suporte para H.263 é opcional no Android 7.0+ | – 3GPP (.3gp) – MPEG-4 (.mp4) – Matroska (.mkv) |
|
H.264 AVC Perfil da linha de base (PB) |
Andróide 3.0+ | YES | – 3GPP (.3gp) – MPEG-4 (.mp4) – MPEG-TS (.ts, apenas áudio AAC, não procurável, Android 3.0+) – Matroska (.mkv) |
||
H.264 AVC Perfil principal (MP) |
Android 6.0+ | YES | O decodificador é necessário, o codificador é recomendado. | ||
H.265 HEVC | Android 5.0+ | Perfil Principal Nível 3 para dispositivos móveis e Perfil Principal Nível 4.1 para Android TV | – MPEG-4 (.mp4) – Matroska (.mkv) |
||
MPEG-4 SP | YES | 3GPP (.3gp) | |||
VP8 | Andróide 4.3+ | Andróide 2.3.3+ | Só no Android 4.0 e superior | – WebM (.webm) – Matroska (.mkv, Android 4.0+) |
|
VP9 | Android 4.4+ | – WebM (.webm) | – WebM (.mkv, Android 4.webm) – Matroska (.mkv) |
||
AV1 | Android 10+ | O decodificador é opcional. | – MPEG-4 (.mp4) – Matroska (.mkv) |
Recomendações de codificação de vídeo
A tabela abaixo lista os perfis e parâmetros de codificação de vídeo do quadro de mídia do Android e os parâmetros recomendados para reprodução usando o H.264 Codec de perfil de linha de base. As mesmas recomendações aplicam-se ao codec Perfil Principal, que só está disponível no Android 6.0 e posteriores.
SD (Baixa qualidade) | SD (Alta qualidade) | HD 720p (N/A em todos dispositivos) | |
---|---|---|---|
Resolução vídeo | 176 x 144 px | 480 x 360 px | 1280 x 720 px |
Video frame rate | 12 fps | 30 fps | 30 fps |
Video bitrate | 56 Kbps | 500 Kbps | 2 Mbps |
Codeudio | AAC-LC | AAC-LC | AAC-LC |
Canais de áudio | 1 (mono) | 2 (estéreo) | 2 (estéreo) |
Audio bitrate | 24 Kbps | 128 Kbps | 192 Kbps |
A tabela abaixo lista os perfis e parâmetros recomendados para a reprodução do VP8 media codec de vídeo.
SD (Baixa qualidade) | SD (Alta qualidade) | HD 720p (N/A em todos os dispositivos) | HD 1080p (N/A em todos os dispositivos) | |
---|---|---|---|---|
Resolução vídeo | 320 x 180 px | 640 x 360 px | 1280 x 720 px | 1920 x 1080 px |
Video frame rate | 30 fps | 30 fps | 30 fps | 30 fps |
Video bitrate | 800 Kbps | 2 Mbps | 4 Mbps | 10 Mbps |
Recomendações de decodificação de vídeo
Aplicações de dispositivos devem suportar resolução dinâmica de vídeo e comutação de taxa de quadros através das APIs padrãoAndroid dentro do mesmo stream para todos os VP8, VP9, H.264, e codecs H.265 em tempo real e até a resolução máxima suportada por cada codec no dispositivo.
Implementações que suportam o decodificador Dolby Vision devem seguir estas diretrizes:
- Prover um extrator com capacidade Dolby Vision.
- Exibirperly o conteúdo Dolby Vision no ecrã do dispositivo ou numa porta de saída de vídeo padrão (por exemplo, HDMI).
- Definir o índice de faixa da(s) camada(s) de base compatível(s) com versões anteriores (se presentes) para ser o mesmo que o índice de faixa combinado da camada Dolby Vision.
Requisitos de streaming de vídeo
Para conteúdo de vídeo que é streamed sobre HTTP ou RTSP, há requisitos adicionais:
- Para recipientes 3GPP e MPEG-4, o átomo
moov
deve preceder qualquermdat
átomos, mas deve suceder o átomoftyp
. - Para contentores 3GPP, MPEG-4, e WebM, as amostras de áudio e vídeo correspondentes ao mesmo intervalo de tempo não podem ter mais de 500 KB. Para minimizar esse desvio de áudio/vídeo, considere a intercalação de áudio e vídeo em pedaços menores.
Suporte de imagem
Formato | Encodificador | Descodificador | Detalhes | Tipos de ficheiro Formatos de contentor |
---|---|---|---|---|
BMP | SIM | BMP (.bmp) | ||
GIF | SIM | GIF (.gif) | ||
JPEG | SIM | SIM | Base+progressivo | JPEG (.jpg) |
PNG | YES | YES | PNG (.png) | |
WebP | Android 4.0+ Lossless: Android 10+ Transparência: Android 4.2.1+ |
Android 4.0+ Lossless: Android 4.2.1+ Transparência: Android 4.2.1+ |
Codificação sem perdas pode ser obtida no Android 10 usando uma qualidade de 100. | WebP (.webp) |
HEIF | Android 8.0+ | >HEIF (.heic; .heif) |
Protocolos de rede
Os seguintes protocolos de rede são suportados para reprodução de áudio e vídeo:
- RTSP (RTP, SDP)
- HTTP/HTTPS progressive streaming
- HTTP/HTTPS live streaming draft protocol:
- MPEG-2 apenas ficheiros multimédia TS
- Protocolo versão 3 Android 4.0 e superior
- Protocolo versão 2 Android 3.x
- Não suportado antes do Android 3.0
Nota: HTTPS não é suportado antes do Android 3.1.