Formats multimédias acceptés

Ce document décrit la compatibilité du codec multimédia, du conteneur et du protocole réseau fourni par la plate-forme Android.

Les tableaux ci-dessous décrivent les formats multimédias intégrés à la plate-forme Android. "OUI" signifie que le format est disponible sur les appareils portables et les tablettes équipés de 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 des versions antérieures, mais cela n'est pas garanti. Pour les facteurs de forme autres que les téléphones et les tablettes, la compatibilité des formats multimédias peut varier.

Notez qu'un appareil mobile particulier peut prendre en charge des formats ou types de fichiers supplémentaires qui ne sont pas répertoriés dans ces tableaux. De plus, si vous utilisez directement un MediaCodec, vous pouvez accéder à tous les formats multimédias disponibles, quels que soient les types de fichiers et les formats de conteneurs compatibles.

Compatibilité audio

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

Compatibilité 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 facultative sur Android 7.0 et versions ultérieures. • 3GPP (.3gp)
• MPEG-4 (.mp4)
• Matroska (.mkv)
H.264 AVC
Profil de référence (BP)
Android 3.0 ou version ultérieure OUI • 3GPP (.3gp)
• MPEG-4 (.mp4)
• MPEG-TS (.ts, audio AAC uniquement, recherche impossible, Android 3.0 ou version ultérieure)
• Matroska (.mkv)
H.264 AVC
Profil principal (Mpx)
Android 6.0 et versions supérieures OUI Le décodeur est requis, et l'encodeur est recommandé.
H.265 HEVC Android 5.0 ou version ultérieure Profil principal de niveau 3 pour les appareils mobiles et niveau 4.1 du profil principal pour Android TV • MPEG-4 (.mp4)
• Matroska (.mkv)
MPEG-4 SP   OUI   3GPP (0,3GP)
V8 Android 4.3 ou version ultérieure Android 2.3.3 et versions ultérieures Disponible en streaming uniquement sur Android 4.0 ou version ultérieure WebM (.webm)
• Matroska (.mkv, Android 4.0 ou version ultérieure)
VP9 Android 4.4 ou version ultérieure WebM (.webm)
• Matroska (.mkv)
AV1 Android 14 ou version ultérieure Android 10 ou version ultérieure L'encodeur et le décodeur sont obligatoires à partir d'Android 14. • MPEG-4 (.mp4)
• Matroska (.mkv)

Recommandations concernant l'encodage vidéo

Le tableau ci-dessous présente les profils et paramètres d'encodage vidéo du framework multimédia Android recommandés pour la lecture à l'aide du codec de profil de référence H.264. Les mêmes recommandations s'appliquent au codec de profil principal, qui n'est disponible qu'à partir de la version 6.0 d'Android.

  SD (basse qualité) SD (haute qualité) HD 720p (N/A sur tous les appareils)
Résolution vidéo 176 x 144 px 480 x 360 px 1280 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 présente 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 (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
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 concernant le décodage vidéo

Les implémentations d'appareils doivent prendre en charge le basculement dynamique de résolution vidéo et 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 acceptée par chaque codec de l'appareil.

Les implémentations compatibles avec le décodeur Dolby Vision doivent respecter les consignes suivantes:

  • Fournissez un extracteur compatible Dolby Vision.
  • Afficher correctement le contenu Dolby Vision sur l'écran de l'appareil ou sur un port de sortie vidéo standard (par exemple, HDMI).
  • Définissez l'index de suivi des couches de base rétrocompatibles (le cas échéant) de sorte qu'il soit identique à l'index de suivi de la couche Dolby Vision combinée.

Exigences concernant le streaming vidéo

Pour le contenu vidéo diffusé en streaming via HTTP ou RTSP, des exigences supplémentaires s'appliquent:

  • Pour les conteneurs 3GPP et MPEG-4, l'atome moov doit précéder tous les atomes mdat, mais doit succéder à 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 dépasser 500 Ko. Pour réduire cette dérive audio/vidéo, envisagez d'entrelacer l'audio et la vidéo avec des fragments de plus petite taille.

Compatibilité avec les images

Format Encodeur Décodeur Détails Types de fichiers
Formats de conteneurs
BMP   OUI   BMP (.bmp)
GIF   OUI   GIF (.gif)
JPEG OUI OUI Standard + 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 peut être obtenu 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
  • Brouillon de protocole pour le streaming en direct HTTP/HTTPS:
    • Fichiers multimédias MPEG-2 TS uniquement
    • Protocole version 3 Android 4.0 ou version ultérieure
    • Protocole version 2 Android 3.x
    • Non compatible avec les versions antérieures à Android 3.0

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

Formats vidéo HDR

Les OEM peuvent activer le format HDR de leur choix avec l'architecture HDR d'Android, qui répond aux principaux besoins des formats HDR: tampons 10 bits, métadonnées (statiques, dynamiques et non), 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 de la technologie HDR, nous demandons aux OEM d'accepter quelques formats de base sur les appareils compatibles:

  • Pour une lecture de contenu professionnelle, comme des films en streaming, la technologie HDR10 est requise.
  • Pour la capture et la lecture de contenu généré par l'utilisateur, nous exigeons que le protocole HLG10 offre une expérience cohérente sur tous les appareils Android.

Les OEM qui ajoutent la compatibilité HDR doivent accepter ces formats, mais peuvent également accepter des formats supplémentaires tels que HDR10+ ou Dolby Vision.

Format Fonction de transfert Metadata Codec Profondeur de bit
HLG10 HLG Non HVEC 10 bits
HDR10 QP Statique HVEC 10 bits
HDR10+ QP Statique HVEC 10 bits
Dolby Vision 8.4 HLG Dynamique HVEC 10 bits

Recommandations concernant la gestion des formats

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

HLG

Les appareils sont compatibles avec la technologie HDR (la technologie HLG n'est pas compatible uniquement avec PQ):

SDR (mappage de tons de HLG à SDR dans le backend)

Appareils non compatibles avec la technologie HDR: SDR (mappage de tons de HLG à SDR dans le backend)

Cas d'utilisation 2: capture d'écran native ou importation à partir de la galerie de l'utilisateur (le backend de l'application est compatible avec la technologie HDR)

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

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

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

(DV8.4 utilise HLG et les flux de bits se comportent comme HLG, ce qui signifie qu'aucun mappage de tons n'est requis.)

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

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

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

Cartographie des tons de HLG vers SDR avant l'importation à l'aide des API Transformer

SDR