Ce document décrit la prise en charge des codecs médias, des conteneurs et des protocoles réseau fournie par la plateformeAndroid.
Les tableaux ci-dessous décrivent la prise en charge des formats médias intégrée à la plateforme Android. OUI signifie que le format est disponible sur toutes les versions d’Android. Lorsqu’une plateforme Android spécifique est spécifiée, leformat est disponible pour cette version et toutes les versions ultérieures. Le format peut également être disponible dans les versions antérieures, mais cela n’est pas garanti.
Notez qu’un appareil mobile particulier peut prendre en charge des formats ou des types de fichiers supplémentaires qui ne sont pas répertoriés dans ces tableaux. En outre, si vous utilisez unMediaCodecdirectement, vous pouvez accéder à tous les formats de médias disponibles, quels que soient les types de fichiers et les formats de conteneurs pris en charge.
Support audio
Format | Encodeur | Décodeur | Détails | Types de fichiers Formats de conteneurs |
---|---|---|---|---|
AAC LC | YES | YES | Support pour mono/stéréo/5.0/5.1contenu avec des taux d’échantillonnage standard de 8 à 48 kHz. | – 3GPP (.3gp) – MPEG-4 (.mp4, .m4a) – ADTS raw AAC (.aac, décodage dans Android 3.1+, encodage dans Android 4.0+, ADIF non pris en charge) – MPEG-TS (.ts, non recherchable, Android 3.0+) |
HE-AACv1 (AAC+) | Android 4.1+ | OUI | ||
HE-AACv2 (AAC+ amélioré) | OUI | Support du contenu stéréo/5.0/5.1avec des taux d’échantillonnage standard de 8 à 48 kHz. | ||
xHE-AAC | Android 9+ | Support pour un contenu allant jusqu’à 8 canaux avec des taux d’échantillonnage standard de 8 à 48 kHz | ||
AAC ELD (enhanced low delay AAC) | Android 4.1+ | Android 4.1+ | Support du contenu mono/stéréo avec des taux d’échantillonnage standard de 16 à 48 kHz | |
AMR-NB | YES | YES | 4.75 à 12,2 kbps échantillonnés à 8kHz | – 3GPP (.3gp) – AMR (.amr) |
AMR-WB | YES | YES | 9 taux de 6.60 kbit/s à 23,85 kbit/s échantillonnés à 16kHz | |
FLAC | Android 4.1+ | Android 3.1+ | Mono/Stereo (pas de multicanal). Fréquences d’échantillonnage jusqu’à 48 kHz (mais jusqu’à 44,1 kHz est recommandé sur les appareils avec une sortie de 44,1 kHz, car ledownsampler de 48 à 44,1 kHz ne comprend pas de filtre passe-bas). 16 bits recommandés ; aucun tramage n’est appliqué pour les 24 bits. | – FLAC (.flac) – MPEG-4 (.mp4, .m4a, Android 10+) |
MIDI | OUI | MIDI Type 0 et 1. DLS Version 1 et 2. XMF et Mobile XMF. Support des formats de sonneries RTTTL/RTX, OTA et iMelody | – Type 0 et 1 (.mid, .xmf, .mxmf) – RTTTL/RTX (.rtttl, .rtx) – OTA (.ota) – iMelody (.imy) |
|
MP3 | OUI | Mono/Stereo 8-320Kbps à débit constant (CBR) ou 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+ | OUI | – PCM linéaire 8 et 16 bits (taux jusqu’à la limite du matériel). Taux d’échantillonnage pour les enregistrements PCM bruts à 8000, 16000 et 44100 Hz. | WAVE (.wav) |
Vorbis | OUI | – Ogg (.ogg) – Matroska (.mkv, Android 4.0+) – MPEG-4 (.mp4, .m4a, Android 10+) |
Support vidéo
Formats vidéo
Format | Encodeur | Décodeur | Détails | Types de fichiers Formats de conteneurs |
---|---|---|---|---|
H.263 | OUI | OUI | La prise en charge de H.263 est optionnel dans Android 7.0+ | – 3GPP (.3gp) – MPEG-4 (.mp4) – Matroska (.mkv) |
H.264 AVC Baseline Profile (BP) |
Android 3.0+ | YES | – 3GPP (.3gp) – MPEG-4 (.mp4) – MPEG-TS (.ts, audio AAC uniquement, non consultable, Android 3.0+) – Matroska (.mkv) |
|
H.264 AVC Profil principal (MP) |
Android 6.0+ | Oui | Le décodeur est nécessaire, l’encodeur est recommandé. | |
H.265 HEVC | Android 5.0+ | Profil principal niveau 3 pour les appareils mobiles et profil principal niveau 4.1 pour Android TV | – MPEG-4 (.mp4) – Matroska (.mkv) |
|
MPEG-4 SP | OUI | 3GPP (.3gp) | ||
VP8 | Android 4.3+ | Android 2.3.3+ | Streamable uniquement dans Android 4.0 et plus | – WebM (.webm) – Matroska (.mkv, Android 4.0+) |
VP9 | Android 4.4+ | – WebM (.webm) – Matroska (.mkv) |
||
AV1 | Android 10+ | Le décodeur est facultatif. | – MPEG-4 (.mp4) – Matroska (.mkv) |
Recommandations d’encodage vidéo
Le tableau ci-dessous répertorie les profils et paramètres d’encodage vidéo de l’Android media frameworkrecommandés pour la lecture avec le H.264. Baseline Profile. Les mêmes recommandations s’appliquent au codec Main Profile, qui n’est disponible qu’à partir d’Android 6.0.
SD (basse qualité) | SD (haute qualité) | HD 720p (N/D sur tous les appareils) | . appareils) | |
---|---|---|---|---|
Résolution vidéo | 176 x 144 px | 480 x 360 px | 1280 x 720 px | |
Fréquence d’images vidéo | 12 fps | 30 fps | 30 fps | |
Débit vidéo | 56 Kbps | 500 Kbps | 2 Mbps | |
Codec audio | AAC-LC | AAC-LC | AAC-LC | |
Canaux audio | 1 (mono) | 2 (stéréo) | 2 (stéréo) | |
Débit binaire audio | 24 Kbps | 128 Kbps | 192 Kbps |
Le tableau ci-dessous répertorie les profils et paramètres d’encodage vidéo de l’Android media frameworkrecommandés pour la lecture à l’aide du codec multimédia VP8.
SD (basse qualité) | SD (haute qualité) | HD 720p (N/A sur tous les appareils) | HD 1080p (N/A sur tous les appareils) | |
---|---|---|---|---|
Résolution vidéo | 320 x 180 px | 640 x 360 px | 1280 x 720 px | 1920 x 1080 px |
Taux de rafraîchissement vidéo | 30 fps | 30 fps | 30 fps | 30 fps |
Débit binaire vidéo | 800 Kbps | 2 Mbps | 4 Mbps | 10 Mbps |
.
Recommandations de décodage vidéo
Les implémentations des appareils doivent prendre en charge la résolution vidéo dynamique et le changement de fréquence d’images par le biais des APIAndroid standard au sein du même flux pour tous les VP8, VP9, H.264, et H.265 en temps réel et jusqu’à la résolution maximale prise en charge par chaque codec sur l’appareil.
Les implémentations qui prennent en charge le décodeur Dolby Vision doivent suivre les directives suivantes :
- Présenter un extracteur compatible avec Dolby Vision.
- Afficher correctement le contenu Dolby Vision sur l’écran du dispositif ou sur un port de sortie vidéo standard (par exemple, HDMI).
- Définissez l’indice de piste de la ou des couches de base rétrocompatibles (si elles sont présentes) pour qu’il soit identique à l’indice de piste de la couche Dolby Vision combinée.
Exigences de diffusion vidéo en continu
Pour le contenu vidéo qui est diffusé en continu sur HTTP ou RTSP, il existe des exigences supplémentaires :
- Pour les conteneurs 3GPP et MPEG-4, l’atome
moov
doit précéder tout atomemdat
, mais doit succéder à l’atomeftyp
. - Pour les conteneurs 3GPP, MPEG-4 et WebM, les échantillons audio et vidéo correspondant au même décalage temporel ne peuvent être séparés de plus de 500 Ko. Pour minimiser cette dérive audio/vidéo, envisagez d’entrelacer l’audio et la vidéo dans des tailles de chunk plus petites.
Support d’images
Format | Encodeur | Décodeur | Détails | Types de fichiers Formats de conteneurs |
---|---|---|---|---|
BMP | OUI | BMP (.bmp) | ||
GIF | YES | GIF (.gif) | ||
JPEG | YES | YES | Base+progressive | JPEG (.jpg) |
PNG | OUI | OUI | PNG (.png) | |
WebP | Android 4.0+ Sans perte : Android 10+ Transparence : Android 4.2.1+ |
Android 4.0+ Sans perte : Android 4.2.1+ Transparence : Android 4.2.1+ |
Le codage sans perte peut être obtenu sur Android 10 en utilisant une qualité de 100. | WebP (.webp) |
HEIF | Android 8.0+ | HEIF (.heic ; .heif) |
Protocoles réseau
Les protocoles réseau suivants sont pris en charge pour la lecture audio et vidéo :
- RTSP (RTP, SDP)
- HTTP/HTTPS diffusion progressive
- HTTP/HTTPS diffusion en direct projet de protocole :
- Fichiers médiasMPEG-2 TS uniquement
- Protocole version 3 Android 4.0 et plus
- Protocole version 2 Android 3.x
- Non pris en charge avant Android 3.0
Note : HTTPS n’est pas pris en charge avant Android 3.1.
.