Unterstützte Medienformate

In diesem Dokument werden die von der Android-Plattform bereitgestellte Medien-Codec-, Container- und Netzwerkprotokollunterstützung beschrieben.

In den folgenden Tabellen wird die in die Android-Plattform integrierte Unterstützung von Medienformaten beschrieben. JA bedeutet, dass das Format auf Handhelds und Tablets mit allen Android-Versionen verfügbar ist. Wenn eine bestimmte Android-Plattform angegeben ist, ist das Format auf Mobilgeräten und Tablets mit dieser und allen höheren Versionen verfügbar. Das Format ist möglicherweise auch in früheren Versionen verfügbar, dies ist jedoch nicht garantiert. Bei anderen Formfaktoren als Mobiltelefonen und Tablets kann die Unterstützung von Medienformaten variieren.

Bestimmte Mobilgeräte unterstützen möglicherweise weitere Formate oder Dateitypen, die nicht in diesen Tabellen aufgeführt sind. Wenn Sie einen MediaCodec direkt verwenden, können Sie unabhängig von den unterstützten Dateitypen und Containerformaten auf alle verfügbaren Medienformate zugreifen.

Audio-Unterstützung

Formatieren Encoder Decoder Details Dateitypen
Containerformate
AAC LC JA JA Unterstützung für Mono/Stereo-/5.0/5.1-Inhalte mit Standardabtastraten von 8 bis 48 kHz. • 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• ADTS-RAW-AAC (.aac, decodieren unter Android 3.1 und höher, Codierung unter Android 4.0 und höher, ADIF nicht unterstützt)
• MPEG-TS (.ts, nicht suchbar, Android 3.0 oder höher)
HE-AACv1 (AAC+) Android 4.1 und höher JA
HE-AACv2 (erweitertes AAC+)   JA Unterstützung für Stereo-/5.0/5.1-Inhalte mit Standard-Abtastraten von 8 bis 48 kHz.
xHE-AAC   Android 9 oder höher Unterstützung für Inhalte bis zu 8ch mit Standardabtastraten von 8 bis 48 kHz
AAC ELD (erweitertes AAC mit niedriger Verzögerung) Android 4.1 und höher Android 4.1 und höher Unterstützung für Mono-/Stereoinhalte mit Standardabtastraten von 16 bis 48 kHz
AMR-NB JA JA 4,75 bis 12,2 Kbit/s, abgetastet bei 8 kHz • 3GPP (.3gp)
• AMR (.amr)
AMR-WB JA JA 9 Raten von 6,60 kbit/s bis 23,85 kbit/s, abgetastet bei 16 kHz
FLAC Android 4.1 und höher Android 3.1 und höher Mono/Stereo (kein Multikanal) Abtastraten bis zu 48 kHz (aber auf Geräten mit einer Ausgabe von 44,1 kHz werden bis zu 44,1 kHz empfohlen, da der Downsampler von 48 bis 44,1 kHz keinen Tiefpassfilter enthält). 16 Bit empfohlen; bei 24-Bit wird kein Dither angewendet. • FLAC (.flac)
• MPEG-4 (.mp4, .m4a, Android 10 und höher)
MIDI   JA MIDI-Typ 0 und 1 DLS Version 1 und 2. XMF und Mobile XMF. Unterstützung der Klingeltonformate RTTTL/RTX, OTA und iMelody • Geben Sie 0 und 1 (.mid, .xmf, .mxmf) ein
• RTTTL/RTX (.rtttl, .rtx)
• OTA (.ota)
• iMelody (.imy)
MP3   JA Mono/Stereo, 8–320 kbit/s, konstant (CBR) oder variable Bitrate (VBR) • MP3 (.mp3)
• MPEG-4 (.mp4, .m4a, Android 10 und höher)
• Matroska (.mkv, Android 10 und höher)
Opus Android 10 oder höher Android 5.0 oder höher • Ogg (.ogg)
• Matroska (.mkv)
PCM/WAVE Android 4.1 und höher JA Lineare 8- und 16-Bit-PCM (Raten bis zur Hardwaregrenze). Abtastraten für PCM-Rohaufnahmen bei 8.000, 16.000 und 44.100 Hz. WAVE (WAV)
Vorbis   JA   • Ogg (.ogg)
• Matroska (.mkv, Android 4.0 und höher)
• MPEG-4 (.mp4, .m4a, Android 10 und höher)

Videounterstützung

Videoformate

Formatieren Encoder Decoder Details Dateitypen
Containerformate
H.263 JA JA Die Unterstützung für H.263 ist in Android 7.0 und höher optional. • 3GPP (3GP)
• MPEG-4 (.mp4)
• Matroska (.mkv)
H.264 AVC
Baseline-Profil (BP)
Android 3.0 und höher JA • 3GPP (.3gp)
• MPEG-4 (.mp4)
• MPEG-TS (.ts, AAC-Audio nur, nicht suchbar, Android 3.0 oder höher)
• Matroska (.mkv)
H.264 AVC
Hauptprofil (MP)
Android 6.0 oder höher JA Der Decoder ist erforderlich, der Encoder wird empfohlen.
H.265 HEVC Android 5.0 oder höher Hauptprofilebene 3 für Mobilgeräte und Hauptprofilebene 4.1 für Android TV. • MPEG-4 (.mp4)
• Matroska (.mkv)
MPEG-4 SP   JA   3GPP (3GP)
Vp8 Android 4.3 und höher Android 2.3.3 und höher Nur Streaming ab Android 4.0 WebM (.webm)
• Matroska (.mkv, Android 4.0 oder höher)
Vp9 Android 4.4 und höher WebM (.webm)
• Matroska (.mkv)
AV1 Android 14 oder höher Android 10 oder höher Ab Android 14 sind Encoder und Decoder obligatorisch. • MPEG-4 (.mp4)
• Matroska (.mkv)

Empfehlungen zur Videocodierung

Die folgende Tabelle enthält die Videocodierungsprofile und -parameter für das Android Media Framework, die für die Wiedergabe mit dem Codec H.264 Baseline Profile empfohlen werden. Dieselben Empfehlungen gelten auch für den Codec Hauptprofil, der erst ab Android 6.0 verfügbar ist.

  SD (niedrige Qualität) SD (hohe Qualität) HD 720p (auf allen Geräten nicht verfügbar)
Videoauflösung 176 x 144 px 480 x 360 Pixel 1280 x 720 Pixel
Video-Framerate 12 fps Frame-Rate: 30 fps Frame-Rate: 30 fps
Video-Bitrate 56 kbit/s 500 kbit/s 2 Mbit/s
Audio-Codec AAC-LC AAC-LC AAC-LC
Audiokanäle 1 (Mono) 2 (Stereo) 2 (Stereo)
Audio-Bitrate 24 kbit/s 128 Kbit/s 192 kbit/s

In der folgenden Tabelle sind die Videocodierungsprofile und Parameter des Android Media Framework für Videos aufgeführt, die für die Wiedergabe mit dem VP8-Mediencodec empfohlen werden.

  SD (niedrige Qualität) SD (hohe Qualität) HD 720p (auf allen Geräten nicht verfügbar) HD 1080p (auf allen Geräten nicht verfügbar)
Videoauflösung 320 x 180 px 640 x 360 Pixel 1280 x 720 Pixel 1920 x 1080 px
Video-Framerate Frame-Rate: 30 fps Frame-Rate: 30 fps Frame-Rate: 30 fps Frame-Rate: 30 fps
Video-Bitrate 800 kbit/s 2 Mbit/s 4 Mbit/s 10 Mbit/s

Empfehlungen zur Videodecodierung

Geräteimplementierungen müssen die dynamische Videoauflösung und den Wechsel der Framerate über die Android-Standard-APIs innerhalb desselben Streams für alle VP8-, VP9-, H.264- und H.265-Codecs in Echtzeit und bis zur maximalen Auflösung unterstützen, die von jedem Codec auf dem Gerät unterstützt wird.

Implementierungen, die den Dolby Vision-Decoder unterstützen, müssen den folgenden Richtlinien entsprechen:

  • Stellen Sie einen Dolby Vision-fähigen Extrahierer zur Verfügung.
  • Dolby Vision-Inhalte korrekt auf dem Gerätebildschirm oder an einem Standard-Videoausgangsanschluss (z.B. HDMI).
  • Legen Sie den Trackindex der abwärtskompatiblen Basisschichten (falls vorhanden) so fest, dass er mit dem Trackindex der kombinierten Dolby Vision-Ebene übereinstimmt.

Anforderungen für Videostreaming

Für Videoinhalte, die über HTTP oder RTSP gestreamt werden, gelten zusätzliche Anforderungen:

  • Bei 3GPP- und MPEG-4-Containern muss das moov-Atom vor allen mdat-Atomen, aber nach dem ftyp-Atom liegen.
  • Bei 3GPP-, MPEG-4- und WebM-Containern dürfen Audio- und Video-Samples, die demselben Zeitversatz entsprechen, nicht mehr als 500 KB auseinanderliegen. Du kannst diesen Audio-/Video-Drift minimieren, indem du Audio und Video in kleineren Einheiten verschachtelst.

Bildunterstützung

Formatieren Encoder Decoder Details Dateitypen
Containerformate
BMP   JA   BMP (BMP)
GIF   JA   GIF (GIF)
JPEG JA JA Basis + progressiv JPEG (.jpg)
PNG JA JA   PNG (PNG)
WebP Android 4.0 und höher
Verlustfrei: Android 10 und höher
Transparenz: Android 4.2.1 und höher
Android 4.0 und höher
Verlustfrei: Android 4.2.1 und höher
Transparenz: Android 4.2.1 und höher
Eine verlustfreie Codierung kann unter Android 10 mit einer Qualität von 100 erreicht werden. WebP (WebP)
HEIF   Android 8.0 oder höher   HEIF (.heic; .heif)
AVIF (Baseline-Profil) Android 14 oder höher Android 14 oder höher Ab Android 14 sind Encoder und Decoder obligatorisch. AVIF (AVIF)

Netzwerkprotokolle

Die folgenden Netzwerkprotokolle werden für die Audio- und Videowiedergabe unterstützt:

  • RTSP (RTP, SDP)
  • Progressives HTTP/HTTPS-Streaming
  • Protokollentwurf für HTTP-/HTTPS-Livestreaming:
    • Nur MPEG-2 TS-Mediendateien
    • Protokollversion 3, Android 4.0 und höher
    • Protokollversion 2 Android 3.x
    • Wird vor Android 3.0 nicht unterstützt

Hinweis: HTTPS wird vor Android 3.1 nicht unterstützt.

HDR-Videoformate

OEMs können jedes beliebige HDR-Format mit der Android-HDR-Architektur aktivieren, die die wichtigsten Anforderungen von HDR-Formaten erfüllt: 10-Bit-Zwischenspeicher, Metadaten (statisch, dynamisch und keine), Übertragungsfunktion und Farbraumbearbeitung.

Um für Konsistenz für Entwickler zu sorgen und wichtige HDR-Anwendungsfälle anzugehen, müssen OEMs auf Geräten, die HDR unterstützen, einige Basisformate unterstützen:

  • Für die professionelle Wiedergabe von Inhalten, z. B. zum Streamen von Filmen, ist HDR10 erforderlich.
  • Für die Erfassung und Wiedergabe von nutzergenerierten Inhalten benötigen wir HLG10, um auf allen Android-Geräten eine einheitliche Nutzung zu ermöglichen.

OEMs mit HDR-Unterstützung müssen diese Formate unterstützen, können aber auch zusätzliche Formate wie HDR10+ oder Dolby Vision unterstützen.

Formatieren Übertragungsfunktion Metadaten Codec Bittiefe
HLG10 HLG Nein Logo: HVEC 10-Bit
HDR10 PQ Statisch Logo: HVEC 10-Bit
HDR10+ PQ Statisch Logo: HVEC 10-Bit
Dolby Vision 8.4 HLG Dynamisch Logo: HVEC 10-Bit

Empfehlungen für Formatverarbeitung

Aufnahmeformat Upload-Format Bereitstellungsformat
HLG App-Backend-Unterstützung HDR HLG Geräte mit HDR (HLG):

HLG

Geräte unterstützen HDR (keine HLG-Unterstützung nur PQ):

SDR (Tone Map von HLG zu SDR im Backend)

Geräte, die HDR nicht unterstützen: SDR (Tone Map von HLG zu SDR im Backend)

Anwendungsfall 2: Native Kameraaufnahme oder Import aus der Galerie des Nutzers (App-Backend unterstützt HDR)

Aufnahmeformat Upload-Format Bereitstellungsformat
HLG HLG Wie bei Anwendungsfall für In-App-Erfassung
HDR10+ HLG

Tone Map von HDR10+ (PQ) zu HLG vor dem Upload über Transformer-APIs

Wie bei Anwendungsfall für In-App-Erfassung
DV8.4 HLG

DV8.4 verwendet HLG und Bitstream verhält sich wie HLG, daher ist kein Tone Mapping erforderlich.

Wie bei Anwendungsfall für In-App-Erfassung

Anwendungsfall 3: App-Back-End unterstützt HDR nicht

Aufnahmeformat Upload-Format Bereitstellungsformat
Beliebiges Format SDR

Tone Map von HLG zu SDR vor dem Upload über Transformer-APIs

SDR