Formats multimédias acceptés

Ce document décrit la prise en charge du codec multimédia, du conteneur et du protocole réseau fournie par la plate-forme Android.

Les tableaux ci-dessous décrivent la compatibilité des formats multimédias intégrée à la plate-forme Android. "OUI" signifie que le format est disponible sur les appareils portables et les tablettes exécutant toutes les versions d'Android. Lorsqu'une plate-forme Android spécifique est spécifiée, le format est disponible sur les téléphones et les tablettes exécutant cette version et toutes les versions ultérieures. Le format peut également être disponible dans les versions antérieures, mais ce n'est pas garanti. La prise en charge des formats multimédias peut varier pour les facteurs de forme autres que les téléphones et les tablettes.

Notez qu'un appareil mobile particulier peut prendre en charge des formats ou des types de fichiers supplémentaires qui ne figurent pas dans ces tableaux. De plus, si vous utilisez directement un MediaCodec, vous pouvez accéder à n'importe quel format multimédia disponible, quels que soient les types de fichiers et les formats de conteneur compatibles.

Compatibilité audio

Format Encodeur Décodeur Formats de conteneurs de types de fichiers Détails
Extracteur Muxeur
AAC LC OUI OUI • 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• AAC brut ADTS (.aac, ADIF non compatible)
• MPEG-TS (.ts, non accessible, Android 3.0 ou version ultérieure)
• 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• AAC brut ADTS (.aac, ADIF non compatible)
• MPEG-TS (pas sûr) (.ts, non accessible, Android 3.0 ou version ultérieure)
Compatibilité avec les contenus mono/stéréo/5.0/5.1 avec des taux d'échantillonnage standards de 8 à 48 kHz.
HE-AACv1 (AAC+) Android 4.1 ou version ultérieure OUI
HE-AACv2 (AAC+ amélioré)   OUI Compatibilité avec le contenu stéréo/5.0/5.1 avec des taux d'échantillonnage standards de 8 à 48 kHz.
xHE-AAC   Android 9 et versions ultérieures Compatibilité avec les contenus à 8 canaux avec des taux d'échantillonnage standards de 8 à 48 kHz
AAC ELD (AAC à faible latence amélioré) Android 4.1 ou version ultérieure Android 4.1 ou version ultérieure Compatibilité avec le contenu mono/stéréo avec des taux d'échantillonnage standards de 16 à 48 kHz
AMR-NB OUI OUI • 3GPP (.3gp)
• AMR (.amr)
• 3GPP (.3gp)
• AMR (.amr)
4,75 à 12,2 kbit/s échantillonnés à 8 kHz
AMR-WB OUI OUI 9 débits de 6,60 kbit/s à 23,85 kbit/s échantillonnés à 16 kHz
FLAC Android 4.1 ou version ultérieure Android 3.1 ou version ultérieure • FLAC (.flac)
• MPEG-4 (.mp4, .m4a, Android 10 ou version ultérieure)
• Matroska (.mkv)
Mono/Stéréo (pas de multicanaux) Taux d'échantillonnage jusqu'à 48 kHz (mais jusqu'à 44,1 kHz est recommandé sur les appareils avec sortie 44,1 kHz, car le convertisseur 48 kHz vers 44,1 kHz n'inclut pas de filtre passe-bas). 16 bits recommandés ; aucun dither appliqué pour 24 bits.
MIDI   OUI • Type 0 et 1 (.mid, .xmf, .mxmf)
• RTTTL/RTX (.rtttl, .rtx)
• OTA (.ota)
• iMelody (.imy)
Types MIDI 0 et 1 Versions 1 et 2 de DLS XMF et Mobile XMF. Compatibilité avec les formats de sonnerie RTTTL/RTX, OTA et iMelody
MP3   OUI • MP3 (.mp3)
• MPEG-4 (.mp4, .m4a, Android 10 et versions ultérieures)
• Matroska (.mkv, Android 10 et versions ultérieures)
Mono/Stéréo 8-320 kbit/s CBR (débit constant) ou VBR (débit variable)
Opus Android 10 ou version ultérieure Android 5.0 ou version ultérieure • Ogg (.ogg)
• MPEG-4 (.mp4)
• Matroska (.mkv)
• Ogg (.ogg)
WebM (.webm)
PCM/WAVE Android 4.1 ou version ultérieure OUI WAVE (.wav) PCM linéaire 8 et 16 bits (débits jusqu'à la limite du matériel). Taux d'échantillonnage pour les enregistrements PCM bruts à 8 000, 16 000 et 44 100 Hz.
Vorbis   OUI • Ogg (.ogg)
• Matroska (.mkv, Android 4.0 ou version ultérieure)
• MPEG-4 (.mp4, .m4a, Android 10 ou version ultérieure)
• WebM (.webm)  

Compatibilité avec les annonces vidéo

Formats vidéo

Format Encodeur Décodeur Formats de conteneurs de types de fichiers Détails
Extracteur Muxeur
H.263 OUI OUI • 3GPP (.3gp)
• MPEG-4 (.mp4)
• Matroska (.mkv)
• 3GPP (.3gp)
• MPEG-4 (.mp4)
La prise en charge de H.263 est facultative sous Android 7.0 et versions ultérieures.
Profil de référence (BP)
H.264 AVC
Android 3.0 ou version ultérieure OUI • 3GPP (.3gp)
• MPEG-4 (.mp4)
• MPEG-TS (.ts, audio AAC uniquement, non accessible par recherche, Android 3.0 et versions ultérieures)
• Matroska (.mkv)
• 3GPP (.3gp)
• MPEG-4 (.mp4)
H.264 AVC
Main Profile (MP)
Android 6.0 et versions supérieures OUI Le décodeur est obligatoire, l'encodeur est recommandé.
H.265 HEVC Android 5.0 ou version ultérieure • MPEG-4 (.mp4)
• Matroska (.mkv)
• MPEG-4 (.mp4) Profil principal de niveau 3 pour les appareils mobiles et profil principal de niveau 4.1 pour Android TV
MPEG-4 SP   OUI • MPEG-4 (.mp4) • MPEG-4 (.mp4)  
VP8 Android 4.3 ou version ultérieure Android 2.3.3 ou version ultérieure WebM (.webm)
• Matroska (.mkv, Android 4.0 et versions ultérieures)
• WebM (.webm) Disponible en streaming uniquement sur Android 4.0 ou version ultérieure
VP9 Android 4.4 ou version ultérieure WebM (.webm)
• Matroska (.mkv)
• MPEG-4 (.mp4)
• WebM (.webm)
AV1 Android 14 ou version ultérieure Android 10 ou version ultérieure • MPEG-4 (.mp4)
• Matroska (.mkv)
• MPEG-4 (.mp4) L'encodeur et le décodeur sont obligatoires à partir d'Android 14.
APV Android 16 ou version ultérieure Android 16 ou version ultérieure • MPEG-4 (.mp4) • MPEG-4 (.mp4) L'encodeur et le décodeur sont obligatoires à partir d'Android 16.

Recommandations concernant l'encodage vidéo

Le tableau ci-dessous liste les profils et paramètres d'encodage vidéo du framework multimédia Android recommandés pour la lecture à l'aide du codec H.264 Baseline Profile. Les mêmes recommandations s'appliquent au codec Main Profile, qui n'est disponible que sur Android 6.0 et versions ultérieures.

  SD (basse qualité) SD (haute qualité) HD 720p (non disponible sur tous les appareils)
Résolution vidéo 176 x 144 px 480 x 360 px 1 280 x 720 px
Fréquence d'images de la vidéo 12 fps 30 ips 30 ips
Débit vidéo 56 kbit/s 500 Kbit/s 2 Mbit/s
Codec audio AAC-LC AAC-LC AAC-LC
Chaînes audio 1 (mono) 2 (stéréo) 2 (stéréo)
Débit audio 24 kbit/s 128 Kbits/s 192 kbit/s

Le tableau ci-dessous liste les profils et paramètres d'encodage vidéo du framework multimédia Android recommandés pour la lecture à l'aide du codec multimédia VP8.

  SD (basse qualité) SD (haute qualité) HD 720p (non disponible sur tous les appareils) HD 1080p (non disponible sur tous les appareils)
Résolution vidéo 320 x 180 px 640 x 360 px 1 280 x 720 px 1 920 x 1 080 px
Fréquence d'images de la vidéo 30 ips 30 ips 30 ips 30 ips
Débit vidéo 800 Kbit/s 2 Mbit/s 4 Mbit/s 10 Mbit/s

Recommandations de décodage vidéo

Les implémentations d'appareils doivent prendre en charge la résolution vidéo dynamique et le changement de fréquence d'images via les API Android standards dans le même flux pour tous les codecs 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 compatibles avec le décodeur Dolby Vision doivent respecter les consignes suivantes:

  • Fournissez un extracteur compatible avec Dolby Vision.
  • Affichez correctement le contenu Dolby Vision sur l'écran de l'appareil ou sur un port de sortie vidéo standard (par exemple, (HDMI, par exemple).
  • Définissez l'index de piste de la ou des couches de base rétrocompatibles (le cas échéant) sur celui de la couche Dolby Vision combinée.

Exigences concernant le streaming vidéo

Des exigences supplémentaires s'appliquent aux contenus vidéo diffusés en streaming via HTTP ou RTSP:

  • Pour les conteneurs 3GPP et MPEG-4, l'atome moov doit précéder tous les atomes mdat, mais doit suivre l'atome ftyp.
  • Pour les conteneurs 3GPP, MPEG-4 et WebM, les échantillons audio et vidéo correspondant au même décalage temporel ne doivent pas être séparés de plus de 500 ko. Pour minimiser cette dérive audio/vidéo, envisagez d'intercaler l'audio et la vidéo en plus petites tailles de blocs.

Compatibilité avec les images

Format Encodeur Décodeur Détails Types de fichiers
Formats de conteneur
BMP   OUI   BMP (.bmp)
GIF   OUI   GIF (.gif)
JPEG OUI OUI Base+progressive JPEG (.jpg)
PNG OUI OUI   PNG (.png)
WebP Android 4.0 ou version ultérieure
Sans perte: Android 10 ou version ultérieure
Transparence: Android 4.2.1 ou version ultérieure
Android 4.0 ou version ultérieure
Sans perte: Android 4.2.1 ou version ultérieure
Transparence: Android 4.2.1 ou version ultérieure
L'encodage sans perte est possible sur Android 10 avec une qualité de 100. WebP (.webp)
HEIF   Android 8.0 ou version ultérieure   HEIF (.heic, .heif)
AVIF (profil de référence) Android 14 ou version ultérieure Android 14 ou version ultérieure L'encodeur et le décodeur sont obligatoires à partir d'Android 14. AVIF (.avif)

Protocoles réseau

Les protocoles réseau suivants sont compatibles avec la lecture audio et vidéo:

  • RTSP (RTP, SDP)
  • Streaming progressif HTTP/HTTPS
  • Projet de protocole pour le streaming en direct HTTP/HTTPS:
    • Fichiers multimédias MPEG-2 TS uniquement
    • Version 3 du protocole Android 4.0 ou version ultérieure
    • Version de protocole 2 Android 3.x
    • Non compatible avant Android 3.0

Remarque:HTTPS n'est pas compatible avec les versions antérieures à Android 3.1.

Formats vidéo HDR

Les OEM peuvent activer n'importe quel format HDR de leur choix avec l'architecture HDR Android, qui répond aux besoins fondamentaux des formats HDR: tampons 10 bits, métadonnées (statiques, dynamiques et aucune), fonction de transfert et gestion de l'espace colorimétrique.

Pour assurer la cohérence pour les développeurs et répondre aux principaux cas d'utilisation du HDR, nous exigeons des OEM qu'ils prennent en charge quelques formats de base sur les appareils compatibles avec le HDR:

  • Pour la lecture de contenus professionnels, tels que des films en streaming, nous exigeons le format HDR10.
  • Pour la capture et la lecture de contenus générés par les utilisateurs, nous exigeons HLG10 afin d'offrir une expérience cohérente sur l'ensemble des appareils Android.

Les OEM qui ajoutent la compatibilité HDR doivent prendre en charge ces formats, mais peuvent également prendre en charge d'autres formats tels que HDR10+ ou Dolby Vision.

Format Fonction de transfert Métadonnées Codec Profondeur de bit
HLG10 HLG Non HEVC 10 bits
HDR10 PQ Statique HEVC 10 bits
HDR10+ PQ Statique HEVC 10 bits
Dolby Vision 8.4 HLG Dynamique HEVC 10 bits

Recommandations de gestion des formats

Format de capture Format d'importation Format de diffusion
HLG Compatibilité du backend de l'application avec le format HDR HLG Appareils compatibles avec le HDR (HLG):

HLG

Les appareils sont compatibles avec le HDR (pas de compatibilité avec HLG, uniquement PQ):

SDR (mappage des tons de HLG vers SDR dans le backend)

Appareils non compatibles avec le format HDR: SDR (mappage des tons de HLG vers SDR dans le backend)

Cas d'utilisation 2: Capture avec l'appareil photo natif ou importation depuis la galerie de l'utilisateur (le backend de l'application est compatible avec le HDR)

Format de capture Format d'importation Format de diffusion
HLG HLG Identique au cas d'utilisation de la capture dans l'application
HDR10+ HLG

Mappage des tons de HDR10+ (PQ) vers HLG avant l'importation à l'aide d'API de transformation

Identique au cas d'utilisation de la capture dans l'application
DV8.4 HLG

(DV8.4 utilise HLG et le flux de bits se comportera comme HLG, donc aucun mappage de tons n'est nécessaire)

Identique au cas d'utilisation de la capture dans l'application

Cas d'utilisation 3: le backend de l'application n'est pas compatible avec le HDR

Format de capture Format d'importation Format de diffusion
Tous les formats SDR

Créer une carte tonale HLG vers SDR avant l'importation à l'aide des API de transformateur

SDR