Dit document beschrijft de media codec, container, en netwerkprotocol ondersteuning die door het Android platform wordt geboden.
De onderstaande tabellen beschrijven de mediaformaat ondersteuning die in het Android platform is ingebouwd. JA betekent dat het formaat beschikbaar is op alle Android versies. Wanneer een specifiek Android platform is gespecificeerd, is het formaat beschikbaar voor die versie en alle latere versies. Het formaat kan ook beschikbaar zijn in eerdere versies, maar dit is niet gegarandeerd.
Merk op dat een bepaald mobiel apparaat mogelijk aanvullende formaten of bestandstypen ondersteunt die niet in deze tabellen zijn opgenomen. Bovendien, als u een MediaCodecd direct gebruikt, kunt u toegang krijgen tot elk van de beschikbare mediaformaten, ongeacht de ondersteunde bestandstypen en containerformaten.
Audio-ondersteuning
Formaat | Encoder | Decoder | Details | Bestandstypen Bestandsindelingen |
|
---|---|---|---|---|---|
AAC LC | JJa | Ja | Ondersteuning voor mono/stereo/5.0/5.1-inhoud met standaard bemonsteringsfrequenties van 8 tot 48 kHz. | – 3GPP (.3gp) – MPEG-4 (.mp4, .m4a) – ADTS raw AAC (.aac, decoderen in Android 3.1+, coderen in Android 4.0+, ADIF niet ondersteund) – MPEG-TS (.ts, niet zoekbaar, Android 3.0+) |
|
HE-AACv1 (AAC+) | Android 4.1+ | JJa | |||
HE-AACv2 (verbeterde AAC+) | Ja | Ondersteuning voor stereo/5.0/5.1-inhoud met standaard bemonsteringsfrequenties van 8 tot 48 kHz. | |||
xHE-AAC | Android 9+ | Ondersteuning voor maximaal 8-kanaals inhoud met standaard bemonsteringsfrequenties van 8 tot 48 kHz | |||
AAC ELD (verbeterde AAC met lage vertraging) | Android 4.1+ | .1+ | Android 4.1+ | Ondersteuning voor mono/stereo inhoud met standaard sampling rates van 16 tot 48 kHz | |
AMR-NB | JAAR | JAAR | 4.75 tot 12,2 kbps gesampled @ 8kHz | – 3GPP (.3gp) – AMR (.amr) |
|
AMR-WB | Ja | Ja | 9 snelheden van 6..60 kbit/s tot 23,85 kbit/s gesampled @ 16kHz | ||
FLAC | Android 4.1+ | Android 3.1+ | Mono/Stereo (geen meerkanaals). Sample rates tot 48 kHz (maar tot 44,1 kHz wordt aanbevolen op apparaten met 44,1 kHz uitgang, aangezien de 48 naar 44,1 kHzdownsampler geen laagdoorlaatfilter bevat). 16-bit aanbevolen; geen dither toegepast voor 24-bit. | – FLAC (.flac) – MPEG-4 (.mp4, .m4a, Android 10+) |
|
MIDI | YES | MIDI Type 0 en 1. DLS Versie 1 en 2. XMF en mobiele XMF. Ondersteuning voor ringtone-indelingen RTTTL/RTX, OTA, en iMelody | – Type 0 en 1 (.mid, .xmf, .mxmf) – RTTTL/RTX (.rtttl, .rtx) – OTA (.ota) – iMelody (.imy) |
||
MP3 | YES | Mono/Stereo 8-320Kbps constant (CBR) of variabele bit-rate (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+ | JJES | 8- en 16-bit lineaire PCM (snelheden tot limiet van hardware). Samplingrates voor ruwe PCM opnamen op 8000, 16000 en 44100 Hz. | WAVE (.wav) | |
Vorbis | YES | – Ogg (.ogg) – Matroska (.mkv, Android 4.0+) – MPEG-4 (.mp4, .m4a, Android 10+) |
Video-ondersteuning
Video-indelingen
Formaat | Encoder | Decoder | Details | Bestandstypen Container-indelingen |
---|---|---|---|---|
H.263 | JJa | Ja | Ondersteuning voor H.263 is optioneel 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, alleen AAC-audio, niet zoekbaar, Android 3.0+) – Matroska (.mkv) |
|
H.264 AVC Main Profile (MP) |
Android 6.0+ | Ja | De decoder is vereist, de encoder wordt aanbevolen. | |
H.265 HEVC | Android 5.0+ | Main Profile Level 3 voor mobiele apparaten en Main Profile Level 4.1 voor Android TV | – MPEG-4 (.mp4) – Matroska (.mkv) |
|
MPEG-4 SP | JJES | 3GPP (.3gp) | ||
VP8 | Android 4.3+ | Android 2.3.3+ | Streambaar alleen in Android 4.0 en hoger | – WebM (.webm) – Matroska (.mkv, Android 4.0+) |
VP9 | Android 4.4+ | – WebM (.webm) – Matroska (.mkv) |
||
AV1 | Android 10+ | De decoder is optioneel. | – MPEG-4 (.mp4) – Matroska (.mkv) |
Video-coderingsaanbevelingen
De onderstaande tabel bevat de video-coderingsprofielen en parameters van het Android media framework die worden aanbevolen voor weergave met de H.264 Baseline Profile codec. Dezelfde aanbevelingen gelden voor de Main Profile codec, die alleen beschikbaar is in Android 6.0 en later.
SD (lage kwaliteit) | SD (hoge kwaliteit) | HD 720p (n.v.t. op alle apparaten) | |
---|---|---|---|
Videoresolutie | 176 x 144 px | 480 x 360 px | 1280 x 720 px |
Video frame rate | 12 fps | 30 fps | |
Video-bitrate | 56 Kbps | 500 Kbps | 2 Mbps |
Audio codec | AAC-LC | AAC-LC | AAC-LC |
Audio kanalen | 1 (mono) | 2 (stereo) | |
Audio bitrate | 24 Kbps | 128 Kbps | 192 Kbps |
In de onderstaande tabel staan de video-coderingsprofielen en parameters van het Android media framework die worden aanbevolen voor weergave met de VP8 media codec.
SD (Lage kwaliteit) | SD (Hoge kwaliteit) | HD 720p (N/A op alle apparaten) | HD 1080p (N/A op alle apparaten) | |
---|---|---|---|---|
Videoresolutie | 320 x 180 px | 640 x 360 px | 1280 x 720 px | 1920 x 1080 px |
Videoframesnelheid | 30 fps | 30 fps | 30 fps | 30 fps |
Video bitrate | 800 Kbps | 2 Mbps | 4 Mbps | 10 Mbps |
Video decoding aanbevelingen
Device implementaties moeten dynamische video resolutie en frame rate switching ondersteunen via de standaard Android APIs binnen dezelfde stream voor alle VP8, VP9, H.264, en H.265 codecs in realtime en tot de maximale resolutie ondersteund door elke codec op het apparaat.
Implementaties die de Dolby Vision-decoder ondersteunen, moeten deze richtlijnen volgen:
- Zorg voor een Dolby Vision-geschikte extractor.
- Toon Dolby Vision-inhoud op de juiste wijze op het scherm van het apparaat of op een standaard video-uitvoerpoort (bijv. HDMI).
- Stel de trackindex van achterwaartse-compatibele base-layer(s) (indien aanwezig) zo in dat deze gelijk is aan de trackindex van de gecombineerde Dolby Vision-laag.
Video streaming-vereisten
Voor video-inhoud die wordt gestreamd via HTTP of RTSP, zijn er aanvullende vereisten:
- Voor 3GPP- en MPEG-4-containers moet het
moov
-atoom voorafgaan aan eventuelemdat
-atomen, maar moet hetftyp
-atoom worden opgevolgd. - Voor 3GPP, MPEG-4, en WebM containers, audio en video samples die corresponderen met dezelfde tijd offset mogen niet meer dan 500 KB uit elkaar liggen. Om deze audio/video drift te minimaliseren, overweeg interleaving audio en video in kleinere chunk sizes.
Afbeeldingondersteuning
Formaat | Encoder | Decoder | Details | Bestandstypen Containerindelingen |
---|---|---|---|---|
BMP | JAAR | BMP (.bmp) | ||
GIF | JES | GIF (.gif) | ||
JPEG | JES | JES | Base+progressive | JPEG (.jpg) |
PNG | Ja | Ja | PNG (.png) | |
WebP | Android 4.0+ Verliezen: Android 10+ Transparant: Android 4.2.1+ |
Android 4.0+ Los: Android 4.2.1+ Transparant: Android 4.2.1+ |
Verliesloze codering kan worden bereikt op Android 10 met een kwaliteit van 100. | WebP (.webp) |
HEIF | Android 8.0+ | HEIF (.heic; .heif) |
Netwerkprotocollen
De volgende netwerkprotocollen worden ondersteund voor het afspelen van audio en video:
- RTSP (RTP, SDP)
- HTTP/HTTPS progressive streaming
- HTTP/HTTPS live streaming concept protocol:
- MPEG-2 TS mediabestanden alleen
- Protocol versie 3 Android 4.0 en hoger
- Protocol versie 2 Android 3.x
- Niet ondersteund vóór Android 3.0
Note: HTTPS wordt niet ondersteund vóór Android 3.1.