Ondersteunde mediaformaten

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 eventuele mdat-atomen, maar moet het ftyp-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.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.