Unterstützte Medienformate

Dieses Dokument beschreibt die Unterstützung von Mediencodecs, Containern und Netzwerkprotokollen durch die Android-Plattform.

Die folgenden Tabellen beschreiben die Unterstützung von Medienformaten durch die Android-Plattform. YES bedeutet, dass das Format auf allen Android-Versionen verfügbar ist. Wenn eine bestimmte Android-Plattform angegeben ist, ist das Format für diese Version und alle späteren Versionen verfügbar. Das Format kann auch in früheren Versionen verfügbar sein, dies ist jedoch nicht garantiert.

Bitte beachten Sie, dass ein bestimmtes mobiles Gerät zusätzliche Formate oder Dateitypen unterstützen kann, die nicht in diesen Tabellen aufgeführt sind. Wenn Sie außerdem einenMediaCodec direkt verwenden, können Sie auf jedes der verfügbaren Medienformate zugreifen, unabhängig von den unterstützten Dateitypen und Containerformaten.

Audio-Unterstützung

Format Encoder Decoder Details Dateitypen
Containerformate
AAC LC Ja Ja Unterstützung für Mono/Stereo/5.0/5.1-Inhalte mit Standard-Abtastraten von 8 bis 48 kHz. – 3GPP (.3gp)
– MPEG-4 (.mp4, .m4a)
– ADTS raw AAC (.aac, dekodierbar in Android 3.1+, kodierbar in Android 4.0+, ADIF nicht unterstützt)
– MPEG-TS (.ts, nicht suchbar, Android 3.0+)
HE-AACv1 (AAC+) Android 4.1+ Ja
HE-AACv2 (enhanced AAC+) Ja Unterstützung für Stereo/5.0/5.1-Inhalte mit Standardabtastraten von 8 bis 48 kHz.
xHE-AAC Android 9+ Unterstützung für bis zu 8-Kanal-Inhalte mit Standardabtastraten von 8 bis 48 kHz
AAC ELD (enhanced low delay AAC) Android 4.1+ Android 4.1+ Unterstützung für Mono/Stereo-Inhalte mit Standard-Abtastraten von 16 bis 48 kHz
AMR-NB Ja Ja 4.75 bis 12,2 kbps abgetastet @ 8kHz – 3GPP (.3gp)
– AMR (.amr)
AMR-WB Ja Ja 9 Raten von 6.60 kbit/s bis 23,85 kbit/s abgetastet bei 16kHz
FLAC Android 4.1+ Android 3.1+ Mono/Stereo (kein Mehrkanal). Abtastraten bis zu 48 kHz (bei Geräten mit 44,1 kHz-Ausgang wird jedoch bis zu 44,1 kHz empfohlen, da der 48-auf-44,1-kHz-Downsampler keinen Tiefpassfilter enthält). 16-Bit empfohlen; bei 24-Bit wird kein Dither angewendet. – FLAC (.flac)
– MPEG-4 (.mp4, .m4a, Android 10+)
MIDI YES MIDI Typ 0 und 1. DLS Version 1 und 2. XMF und Mobile XMF. Unterstützung für Klingeltonformate RTTTL/RTX, OTA und iMelody – Typ 0 und 1 (.mid, .xmf, .mxmf)
– RTTTL/RTX (.rtttl, .rtx)
– OTA (.ota)
– iMelody (.imy)
MP3 Ja Mono/Stereo 8-320Kbps konstante (CBR) oder variable Bitrate (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+ Ja 8- und 16-bit lineare PCM (Raten bis zum Limit der Hardware). Samplingraten für PCM-Rohaufnahmen bei 8000, 16000 und 44100 Hz. WAVE (.wav)
Vorbis Ja – Ogg (.ogg)
– Matroska (.mkv, Android 4.0+)
– MPEG-4 (.mp4, .m4a, Android 10+)

Videounterstützung

Videoformate

Format Encoder Decoder Details Dateitypen
Containerformate
H.263 Ja Ja Unterstützung für H.263 ist optional in Android 7.0+ – 3GPP (.3gp)
– MPEG-4 (.mp4)
– Matroska (.mkv)
H.264 AVC
Baseline Profile (BP)
Android 3.0+ Ja – 3GPP (.3gp)
– MPEG-4 (.mp4)
– MPEG-TS (.ts, nur AAC-Audio, nicht suchbar, Android 3.0+)
– Matroska (.mkv)
H.264 AVC
Hauptprofil (MP)
Android 6.0+ Ja Der Decoder wird benötigt, der Encoder wird empfohlen.
H.265 HEVC Android 5.0+ Main Profile Level 3 für mobile Geräte und Main Profile Level 4.1 für Android TV – MPEG-4 (.mp4)
– Matroska (.mkv)
MPEG-4 SP Ja 3GPP (.3gp)
VP8 Android 4.3+ Android 2.3.3+ Streambar nur in Android 4.0 und höher – WebM (.webm)
– Matroska (.mkv, Android 4.0+)
VP9 Android 4.4+ – WebM (.webm)
– Matroska (.mkv)
AV1 Android 10+ Der Decoder ist optional. – MPEG-4 (.mp4)
– Matroska (.mkv)

Empfehlungen für die Videokodierung

In der folgenden Tabelle sind die Videokodierungsprofile und -parameter des Android Media Frameworks aufgeführt, die für die Wiedergabe mit dem H.264 Baseline Profile Codec. Die gleichen Empfehlungen gelten für den Main Profile Codec, der nur in Android 6.0 und höher verfügbar ist.

SD (Niedrige Qualität) SD (Hohe Qualität) HD 720p (N/A auf allen Geräten)
Videoauflösung 176 x 144 px 480 x 360 px 1280 x 720 px
Videobildrate 12 fps 30 fps 30 fps
Video-Bitrate 56 Kbps 500 Kbps 2 Mbps
Audio-Codec AAC-LC AAC-LC AAC-LC
Audiokanäle 1 (mono) 2 (stereo) 2 (stereo)
Audio-Bitrate 24 Kbps 128 Kbps 192 Kbps

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

SD (Niedrige Qualität) SD (Hohe Qualität) HD 720p (N/A auf allen Geräten) HD 1080p (N/A auf allen Geräten)
Videoauflösung 320 x 180 px 640 x 360 px 1280 x 720 px 1920 x 1080 px
Video-Bildrate 30 fps 30 fps 30 fps 30 fps
Video-Bitrate 800 Kbps 2 Mbps 4 Mbps 10 Mbps

Empfehlungen für die Videodekodierung

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

Implementierungen, die den Dolby Vision Decoder unterstützen, müssen diese Richtlinien befolgen:

  • Bieten Sie einen Dolby Vision-fähigen Extraktor an.
  • Stellen Sie Dolby Vision-Inhalte ordnungsgemäß auf dem Bildschirm des Geräts oder auf einem Standard-Videoausgang (z. B. HDMI) dar.
  • Stellen Sie den Spurindex der rückwärtskompatiblen Basisschicht(en) (falls vorhanden) so ein, dass er mit dem Spurindex der kombinierten Dolby Vision-Schicht übereinstimmt.

Video-Streaming-Anforderungen

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

  • Für 3GPP- und MPEG-4-Container muss das moov-Atom allen mdat-Atomen vorausgehen, aber dem ftyp-Atom folgen.
  • Für 3GPP-, MPEG-4- und WebM-Container dürfen Audio- und Video-Samples, die demselben Zeitversatz entsprechen, nicht mehr als 500 KB voneinander entfernt sein. Um diese Audio-/Videoabweichung zu minimieren, sollten Audio und Video in kleineren Chunk-Größen verschachtelt werden.

Bildunterstützung

Format Encoder Decoder Details Dateitypen
Behälterformate
BMP Ja BMP (.bmp)
GIF Ja GIF (.gif)
JPEG Ja Ja Basis+progressiv JPEG (.jpg)
PNG Ja Ja PNG (.png)
WebP Android 4.0+
Los: Android 10+
Transparenz: Android 4.2.1+
Android 4.0+
Lossless: Android 4.2.1+
Transparenz: Android 4.2.1+
Lossless encoding can be achieved on Android 10 using a quality of 100. WebP (.webp)
HEIF Android 8.0+ HEIF (.heic; .heif)

Netzwerkprotokolle

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

  • RTSP (RTP, SDP)
  • HTTP/HTTPS progressives Streaming
  • HTTP/HTTPS Live-Streaming-Protokollentwurf:
    • Nur MPEG-2 TS Mediendateien
    • Protokollversion 3 Android 4.0 und höher
    • Protokollversion 2 Android 3.x
    • Nicht unterstützt vor Android 3.0

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.