Detta dokument beskriver stödet för mediecodec, behållare och nätverksprotokoll i Android-plattformen.
Tabellerna nedan beskriver det stöd för medieformat som är inbyggt i Android-plattformen. JA betyder att formatet är tillgängligt i alla Android-versioner. När en specifik Android-plattform anges är formatet tillgängligt för den versionen och alla senare versioner. Formatet kan också vara tillgängligt i tidigare versioner, men detta är inte garanterat.
Notera att en viss mobil enhet kan ha stöd för ytterligare format eller filtyper som inte finns med i dessa tabeller. Om du dessutom använder enMediaCodecdirekt kan du få tillgång till alla tillgängliga medieformat oavsett vilka filtyper och behållarformat som stöds.
Ljudstöd
Format | Enkodare | Dekodare | Detaljer | Filtyper Containerformat |
|
---|---|---|---|---|---|
AAC LC | YES | YES | Stöd för mono/stereo/5.0/5.1-innehåll med standardiserade samplingsfrekvenser från 8 till 48 kHz. | – 3GPP (.3gp) – MPEG-4 (.mp4, .m4a) – ADTS raw AAC (.aac, avkodning i Android 3.1+, kodning i Android 4.0+, ADIF stöds inte) – MPEG-TS (.ts, inte sökbar, Android 3.0+) |
|
HE-AACv1 (AAC+) | Android 4.1+ | YES | |||
HE-AACv2 (förstärkt AAC+) | YES | Stöd för stereo/5.0/5.1-innehåll med standard samplingsfrekvenser från 8 till 48 kHz. | |||
xHE-AAC | Android 9+ | Stöd för upp till 8-kanals innehåll med standard samplingsfrekvenser från 8 till 48 kHz | |||
AAC ELD (förbättrad låg fördröjning AAC) | Android 4.1+ | Android 4.1+ | Stöd för mono/stereo innehåll med standard samplingsfrekvenser från 16 till 48 kHz | ||
AMR-NB | YES | YES | YES | 4.75 till 12,2 kbps samplade @ 8 kHz | – 3GPP (.3gp) – AMR (.amr) |
AMR-WB | YES | YES | YES | 9 hastigheter från 6.60 kbit/s till 23,85 kbit/s samplade vid 16 kHz | |
FLAC | Android 4.1+ | Android 3.1+ | Mono/Stereo (ingen flerkanal). Samplingsfrekvenser upp till 48 kHz (men upp till 44,1 kHz rekommenderas på enheter med 44,1 kHz-utgång, eftersom 48 till 44,1 kHzdownsamplern inte innehåller något lågpassfilter). 16-bit rekommenderas; ingen dither tillämpas för 24-bit. | – FLAC (.flac) – MPEG-4 (.mp4, .m4a, Android 10+) |
|
MIDI | YES | MIDI Typ 0 och 1. DLS Version 1 och 2. XMF och Mobile XMF. Stöd för ringsignalformat RTTTL/RTX, OTA och iMelody | – Typ 0 och 1 (.mid, .xmf, .mxmf) – RTTTL/RTX (.rtttl, .rtx) – OTA (.ota) – iMelody (.imy) |
||
MP3 | YES | Mono/Stereo 8-320Kbps konstant (CBR) eller variabel bithastighet (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+ | YES | 8- och 16-bitars linjär PCM (hastigheter upp till hårdvarans gräns). Samplingrates för rå PCM-inspelningar vid 8000, 16000 och 44100 Hz. | WAVE (.wav) | |
Vorbis | YES | – Ogg (.ogg) – Matroska (.mkv, Android 4.0+) – MPEG-4 (.mp4, .m4a, Android 10+) |
Videostöd
Videoformat
Format | Encoder | Decoder | Detaljer | Filtyper Containerformat |
|
---|---|---|---|---|---|
H.263 | Ja | Ja | Stöd för H.263 är valfritt i 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, endast AAC-ljud, inte sökbar, Android 3.0+) – Matroska (.mkv) |
||
H.264 AVC Main Profile (MP) |
Android 6.0+ | Ja | Dekoder krävs, kodare rekommenderas. | ||
H.265 HEVC | Android 5.0+ | Huvudprofilnivå 3 för mobila enheter och huvudprofilnivå 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+ | Streamable only in Android 4.0 and above | – WebM (.webm) – Matroska (.mkv, Android 4.0+) |
|
VP9 | Android 4.4+ | – WebM (.webm) – Matroska (.mkv) |
|||
AV1 | Android 10+ | Dekodern är valfri. | – MPEG-4 (.mp4) – Matroska (.mkv) |
Rekommendationer för videokodning
Tabellen nedan listar de videokodningsprofiler och parametrar för Android Media Framework som rekommenderas för uppspelning med H.264 Baseline Profile codec. Samma rekommendationer gäller för Main Profile codec, som endast är tillgänglig i Android 6.0 och senare.
SD (låg kvalitet) | SD (hög kvalitet) | HD 720p (N/A på alla enheter) | |
---|---|---|---|
Videoupplösning | 176 x 144 px | 480 x 360 px | 1280 x 720 px |
Video bildfrekvens | 12 fps | 30 fps | 30 fps |
Video bitrate | 56 Kbps | 500 Kbps | 2 Mbps |
Audio codec | AAC-LC | AAC-LC | AAC-LC |
Ljudkanaler | 1 (mono) | 2 (stereo) | 2 (stereo) |
Ljudbitshastighet | 24 Kbps | 128 Kbps | 192 Kbps |
Tabellen nedan visar de videokodningsprofiler och parametrar för Android media framework som rekommenderas för uppspelning med VP8 media codec.
SD (låg kvalitet) | SD (hög kvalitet) | HD 720p (N/A på alla enheter) | HD 1080p (N/A på alla enheter) | |
---|---|---|---|---|
Videoupplösning | 320 x 180 px | 640 x 360 px | 1280 x 720 px | 1920 x 1080 px |
Videobildfrekvens | 30 fps | 30 fps | 30 fps | 30 fps |
Video bitrate | 800 Kbps | 2 Mbps | 4 Mbps | 10 Mbps |
Rekommendationer för videodekodning
Enhetsimplementationer måste stödja dynamisk videoupplösning och byte av bildfrekvens genom standardAndroid API:s inom samma ström för alla VP8, VP9, H.264, och H.265 codecs i realtid och upp till den maximala upplösning som stöds av varje codec på enheten.
Implementationer som stöder Dolby Vision-dekoder måste följa dessa riktlinjer:
- Försörja en Dolby Vision-kompatibel extraktor.
- Visa korrekt Dolby Vision-innehåll på enhetens skärm eller på en standardvideoutgångsport (t.ex. HDMI).
- Sätt spårindexet för bakåtkompatibla baslager (om sådana finns) så att det är detsamma som det kombinerade Dolby Vision-skiktets spårindex.
Krav för videoströmning
För videoinnehåll som strömmas via HTTP eller RTSP finns det ytterligare krav:
- För 3GPP- och MPEG-4-containrar måste atomen
moov
föregå allamdat
-atomer, men måste efterträda atomenftyp
. - För 3GPP-, MPEG-4- och WebM-behållare får ljud- och videoprover som motsvarar samma tidsförskjutning inte vara mer än 500 KB från varandra. För att minimera denna ljud-/videodrift kan du överväga att interfoliera ljud och video i mindre stycken.
Bildstöd
Format | Enkodare | Dekodare | Detaljer | Filtyper Containerformat |
|
---|---|---|---|---|---|
BMP | YES | BMP (.bmp) | |||
GIF | YES | GIF (.gif) | |||
JPEG | YES | YES | Base+progressive | JPEG (.jpg) | |
PNG | YES | YES | PNG (.png) | ||
WebP | Android 4.0+ Löst: Android 10+ Transparens: Android 4.2.1+ |
Android 4.0+ Transparens: Android 4.2.1+ |
Android 4.0+ Lös: Android 4.2.1+ Transparens: Android 4.2.1+ |
Lossless-kodning kan uppnås på Android 10 med en kvalitet på 100. | WebP (.webp) |
HEIF | Android 8.0+ | HEIF (.heic; .heif) |
Nätverksprotokoll
Följande nätverksprotokoll stöds för uppspelning av ljud och video:
- RTSP (RTP, SDP)
- HTTP/HTTPS progressiv streaming
- HTTP/HTTPS live streaming draft protocol:
- EndastMPEG-2 TS-mediefiler
- Protokollversion 3 Android 4.0 och högre
- Protokollversion 2 Android 3.x
- Stöds inte före Android 3.0
Anm.: HTTPS stöds inte före Android 3.1.