Este documento describe el soporte de códecs multimedia, contenedores y protocolos de red proporcionados por la plataformaAndroid.
Las tablas siguientes describen el soporte de formatos multimedia integrado en la plataforma Android. SÍ significa que el formato está disponible en todas las versiones de Android. Cuando se especifica una plataforma Android específica, el formato está disponible para esa versión y todas las versiones posteriores. El formato también podría estar disponible en versiones anteriores, pero esto no está garantizado.
Tenga en cuenta que un dispositivo móvil en particular podría soportar formatos o tipos de archivo adicionales que no están listados en estas tablas. Además, si utiliza unMediaCodecdirectamente, puede acceder a cualquiera de los formatos multimedia disponibles, independientemente de los tipos de archivo y formatos de contenedor admitidos.
Soporte de audio
Formato | Codificador | Decodificador | Detalles | Tipos de archivo Formatos contenedores |
---|---|---|---|---|
AAC LC | SÍ | SÍ | Soporte para mono/estéreo/5.0/5.1contenido con frecuencias de muestreo estándar de 8 a 48 kHz. | – 3GPP (.3gp) – MPEG-4 (.mp4, .m4a) – ADTS raw AAC (.aac, decodificación en Android 3.1+, codificación en Android 4.0+, ADIF no compatible) – MPEG-TS (.ts, no se puede buscar, Android 3.0+) |
HE-AACv1 (AAC+) | Android 4.1+ | SÍ | ||
HE-AACv2 (AAC+ mejorado) | SÍ | Soporte para contenido estéreo/5.0/5.1contenido con frecuencias de muestreo estándar de 8 a 48 kHz. | ||
xHE-AAC | Android 9+ | Soporte para contenido de hasta 8 canales con frecuencias de muestreo estándar de 8 a 48 kHz | ||
AAC ELD (enhanced low delay AAC) | Android 4.1+ | Android 4.1+ | Soporte para contenido mono/estéreo con frecuencias de muestreo estándar de 16 a 48 kHz | |
AMR-NB | SÍ | SÍ | 4.75 a 12,2 kbps muestreados a 8kHz | – 3GPP (.3gp) – AMR (.amr) |
AMR-WB | SÍ | SÍ | 9 tasas de 6.60 kbit/s a 23,85 kbit/s muestreados a 16kHz | |
FLAC | Android 4.1+ | Android 3.1+ | Mono/Estéreo (no multicanal). Velocidades de muestreo de hasta 48 kHz (pero se recomienda hasta 44,1 kHz en dispositivos con salida de 44,1 kHz, ya que el muestreador de 48 a 44,1 kHz no incluye un filtro de paso bajo). Se recomienda 16 bits; no se aplica dither para 24 bits. | – FLAC (.flac) – MPEG-4 (.mp4, .m4a, Android 10+) |
MIDI | MIDI Tipo 0 y 1. DLS Versión 1 y 2. XMF y Mobile XMF. Compatibilidad con los formatos de tono de llamada RTTTL/RTX, OTA e iMelody | – Tipo 0 y 1 (.mid, .xmf, .mxmf) – RTTTL/RTX (.rtttl, .rtx) – OTA (.ota) – iMelody (.imy) |
||
MP3 | SÍ | Mono/Estéreo 8-320Kbps constante (CBR) o tasa de bits variable (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+ | SÍ | 8- y 16-bit linear PCM (tasas hasta el límite del hardware). Velocidades de muestreo para grabaciones PCM en bruto a 8000, 16000 y 44100 Hz. | WAVE (.wav) |
Vorbis | SÍ | – Ogg (.ogg) – Matroska (.mkv, Android 4.0+) – MPEG-4 (.mp4, .m4a, Android 10+) |
Soporte de vídeo
Formatos de vídeo
Formato | Codificador | Decodificador | Detalles | Tipos de archivo Formatos contenedores |
---|---|---|---|---|
H.263 | SÍ | SÍ | Soporte para H.263 es opcional en Android 7.0+ | – 3GPP (.3gp) – MPEG-4 (.mp4) – Matroska (.mkv) |
H.264 AVC Perfil básico (BP) |
Android 3.0+ | SÍ | – 3GPP (.3gp) – MPEG-4 (.mp4) – MPEG-TS (.ts, sólo audio AAC, no buscable, Android 3.0+) – Matroska (.mkv) |
|
H.264 AVC Perfil principal (MP) |
Android 6.0+ | SÍ | Se requiere el decodificador, se recomienda el codificador. | |
H.265 HEVC | Android 5.0+ | Nivel de perfil principal 3 para dispositivos móviles y nivel de perfil principal 4.1 para Android TV | – MPEG-4 (.mp4) – Matroska (.mkv) |
|
MPEG-4 SP | SÍ | 3GPP (.3gp) | ||
VP8 | Android 4.3+ | Android 2.3.3+ | Sólo se puede transmitir en Android 4.0 y superior | – WebM (.webm) – Matroska (.mkv, Android 4.0+) |
VP9 | Android 4.4+ | – WebM (.webm) – Matroska (.mkv) |
||
AV1 | Android 10+ | El decodificador es opcional. | – MPEG-4 (.mp4) – Matroska (.mkv) |
Recomendaciones de codificación de vídeo
La siguiente tabla enumera los perfiles y parámetros de codificación de vídeo de Android media frameworkrecomendados para la reproducción utilizando el H.264 Perfil básico. Las mismas recomendaciones se aplican al códec de perfil principal, que sólo está disponible en Android 6.0 y posteriores.
SD (baja calidad) | SD (alta calidad) | HD 720p (N/A en todos los dispositivos) | |
---|---|---|---|
Resolución de vídeo | 176 x 144 px | 480 x 360 px | 1280 x 720 px |
Velocidad de imagen de vídeo | 12 fps | 30 fps | 30 fps |
Tasa de bits de vídeo | 56 Kbps | 500 Kbps | 2 Mbps |
Códec de audio | AAC-LC | AAC-LC | AAC-LC |
Canales de audio | 1 (mono) | 2 (estéreo) | 2 (estéreo) |
Tasa de bits de audio | 24 Kbps | 128 Kbps | 192 Kbps |
La siguiente tabla enumera los perfiles de codificación de vídeo de Android media framework y los parámetrosrecomendados para la reproducción utilizando el códec multimedia VP8.
SD (baja calidad) | SD (alta calidad) | HD 720p (N/A en todos los dispositivos) | HD 1080p (N/A en todos los dispositivos) | |
---|---|---|---|---|
Resolución de vídeo | 320 x 180 px | 640 x 360 px | 1280 x 720 px | 1920 x 1080 px |
Fotogramas de vídeo | 30 fps | 30 fps | 30 fps | 30 fps |
Tasa de bits de vídeo | 800 Kbps | 2 Mbps | 4 Mbps | 10 Mbps |
Recomendaciones de decodificación de vídeo
Las implementaciones de los dispositivos deben soportar la resolución de vídeo dinámica y el cambio de velocidad de fotogramas a través de las API estándar deAndroid dentro del mismo flujo para todos los VP8, VP9, H.264, y H.265 en tiempo real y hasta la máxima resolución soportada por cada códec en el dispositivo.
Las implementaciones que soportan el decodificador Dolby Vision deben seguir estas directrices:
- Proveer un extractor compatible con Dolby Vision.
- Mostrar correctamente el contenido de Dolby Vision en la pantalla del dispositivo o en un puerto de salida de vídeo estándar (por ejemplo, HDMI).
- Ajuste el índice de pista de la(s) capa(s) base compatible(s) con versiones anteriores (si está(n) presente(s)) para que sea el mismo que el índice de pista de la capa combinada de Dolby Vision.
Requisitos para la transmisión de vídeo
Para el contenido de vídeo que se transmite a través de HTTP o RTSP, existen requisitos adicionales:
- Para los contenedores 3GPP y MPEG-4, el átomo
moov
debe preceder a cualquier átomomdat
, pero debe suceder al átomoftyp
. - Para los contenedores 3GPP, MPEG-4 y WebM, las muestras de audio y vídeo correspondientes al mismo desplazamiento temporal no pueden estar separadas más de 500 KB. Para minimizar este desvío de audio/vídeo, considere la posibilidad de intercalar audio y vídeo en tamaños de trozos más pequeños.
Soporte de imágenes
Formato | Codificador | Decodificador | Detalles | Tipos de archivo Formatos contenedores |
---|---|---|---|---|
BMP | SÍ | BMP (.bmp) | ||
GIF | SÍ | GIF (.gif) | ||
JPEG | SÍ | Sí | Base+progresivo | JPEG (.jpg) |
PNG | SÍ | SÍ | PNG (.png) | |
WebP | Androide 4.0+ Sin pérdida: Android 10+ Transparencia: Android 4.2.1+ |
Android 4.0+ Lossless: Android 4.2.1+ Transparencia: Android 4.2.1+ |
Se puede lograr una codificación sin pérdidas en Android 10 utilizando una calidad de 100. | WebP (.webp) |
HEIF | Android 8.0+ | HEIF (.heic; .heif) |
Protocolos de red
Se admiten los siguientes protocolos de red para la reproducción de audio y vídeo:
- RTSP (RTP, SDP)
- Transmisión progresiva de datos (streaming) THTP/HTTPS
- Protocolo borrador de transmisión en directo THTP/HTTPS:
- Sólo archivos multimedia MPEG-2 TS
- Versión del protocolo 3 Android 4.0 y superior
- Versión del protocolo 2 Android 3.x
- No se admite antes de Android 3.0
Nota: HTTPS no es compatible antes de Android 3.1.