Acest document descrie suportul pentru codecuri media, containere și protocoale de rețea oferit de platforma Android.
Tabelele de mai jos descriu suportul pentru formate media integrat în platforma Android. DA înseamnă că formatul este disponibil pe toate versiunile Android. În cazul în care este specificată o anumită platformă Android, formatul este disponibil pentru versiunea respectivă și pentru toate versiunile ulterioare. Este posibil ca formatul să fie disponibil și în versiunile anterioare, dar acest lucru nu este garantat.
Rețineți că un anumit dispozitiv mobil poate suporta formate sau tipuri de fișiere suplimentare care nu sunt enumerate în aceste tabele. În plus, dacă folosiți unMediaCodecdirect, puteți accesa oricare dintre formatele media disponibile, indiferent de tipurile de fișiere și formatele de container suportate.
Audio support
Format | Encoder | Decoder | Detalii | Detalii | Tipuri de fișiere Formate de conținut |
---|---|---|---|---|---|
AAC LC | YES | YES | Suport pentru mono/stereo/5.0/5.1conținut cu frecvențe de eșantionare standard de la 8 la 48 kHz. | – 3GPP (.3gp) – MPEG-4 (.mp4, .m4a) – ADTS raw AAC (.aac, decodificare în Android 3.1+, codificare în Android 4.0+, ADIF nu este suportat) – MPEG-TS (.ts, nu poate fi căutat, Android 3.0+) |
|
HE-AACv1 (AAC+) | Android 4.1+ | Da | |||
HE-AACv2 (AAC+ îmbunătățit) | Da | Suport pentru stereo/5.0/5.1conținut cu frecvențe de eșantionare standard de la 8 la 48 kHz. | |||
xHE-AAC | Android 9+ | Suport pentru conținut de până la 8 canale cu frecvențe de eșantionare standard de la 8 la 48 kHz | |||
AAC ELD (enhanced low delay AAC) | Android 4.1+ | Android 4.1+ | Suport pentru conținut mono/stereo cu rate de eșantionare standard de la 16 la 48 kHz | ||
AMR-NB | Da | Da | 4.75 până la 12,2 kbps eșantionat la 8kHz | – 3GPP (.3gp) – AMR (.amr) |
|
AMR-WB | YES | YES | 9 rate de la 6.60 kbit/s până la 23,85 kbit/s eșantionat la 16kHz | ||
FLAC | Android 4.1+ | Android 3.1+ | Mono/Stereo (fără multicanal). Frecvențe de eșantionare de până la 48 kHz (dar se recomandă până la 44,1kHz pe dispozitivele cu ieșire de 44,1 kHz, deoarece downsampler-ul de 48 la 44,1 kHz nu include un filtru trece-jos). Se recomandă 16 biți;nu se aplică dither pentru 24 biți. | – FLAC (.flac) – MPEG-4 (.mp4, .m4a, Android 10+) |
|
MIDI | YES | MIDI Type 0 și 1. DLS Version 1 și 2. XMF și XMF mobil. Suport pentru formatele de tonuri de apel RTTTL/RTX, OTA și iMelody | – Tip 0 și 1 (.mid, .xmf, .mxmf) – RTTTL/RTX (.rtttl, .rtx) – OTA (.ota) – iMelody (.imy) |
||
MP3 | YES | Mono/Stereo 8-320Kbps constant (CBR) sau cu rată de biți variabilă (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+ | Da | PCM liniar pe 8 și 16 biți (rate până la limita hardware-ului). Rate de eșantionare pentru înregistrări PCM brute la 8000, 16000 și 44100 Hz. | WAVE (.wav) | |
Vorbis | YES | – Ogg (.ogg) – Matroska (.mkv, Android 4.0+) – MPEG-4 (.mp4, .m4a, Android 10+) |
Suport video
Forate video
Format | Encoder | Decoder | Detalii | Tipuri de fișiere Formate de conținut |
|
---|---|---|---|---|---|
H.263 | Da | Da | Suport pentru H.263 este opțional în Android 7.0+ | – 3GPP (.3gp) – MPEG-4 (.mp4) – Matroska (.mkv) |
|
H.264 AVC Baseline Profile (BP) |
Android 3.0+ | YES | – 3GPP (.3gp) – MPEG-4 (.mp4) – MPEG-TS (.ts, numai audio AAC, nu se poate căuta, Android 3.0+) – Matroska (.mkv) |
||
H.264 AVC Profil principal (MP) |
Android 6.0+ | Da | Este necesar decodorul, se recomandă codificatorul. | ||
H.265 HEVC | Android 5.0+ | Profil principal nivel 3 pentru dispozitive mobile și profil principal nivel 4.1 pentru Android TV | – MPEG-4 (.mp4) – Matroska (.mkv) |
||
MPEG-4 SP | Da | 3GPP (.3gp) | |||
VP8 | Android 4.3+ | Android 2.3.3+ | Streamable doar în Android 4.0 și mai sus | – WebM (.webm) – Matroska (.mkv, Android 4.0+) |
|
VP9 | Android 4.4+ | – WebM (.webm) – Matroska (.mkv) |
|||
AV1 | Android 10+ | Decodificatorul este opțional. | – MPEG-4 (.mp4) – Matroska (.mkv) |
Recomandări de codificare video
Tabelul de mai jos enumeră profilurile și parametrii de codificare video Android media frameworkrecomandate pentru redare folosind H.264 Baseline Profile codec. Aceleași recomandări se aplică codecului Profil principal, care este disponibil numai în Android 6.0 și ulterior.
SD (Calitate scăzută) | SD (Calitate ridicată) | HD 720p (N/A pe toate dispozitive) | |
---|---|---|---|
Rezoluție video | 176 x 144 px | 480 x 360 px | 1280 x 720 px |
Rata de cadre video | 12 fps | 30 fps | 30 fps |
Bitrate video | 56 Kbps | 500 Kbps | 2 Mbps |
Codec audio | AAC-.LC | AAC-LC | AAC-.LC |
Canale audio | 1 (mono) | 2 (stereo) | 2 (stereo) |
Bitrate audio | 24 Kbps | 128 Kbps | 192 Kbps |
Tabelul de mai jos enumeră profilurile și parametrii de codificare video Android media frameworkrecomandate pentru redare folosind codecul media VP8.
SD (calitate scăzută) | SD (calitate înaltă) | HD 720p (N/A pe toate dispozitivele) | HD 1080p (N/A pe toate dispozitivele) | |
---|---|---|---|---|
Rezoluție video | 320 x 180 px | 640 x 360 px | 1280 x 720 px | 1920 x 1080 px |
Rata de cadre video | 30 fps | 30 fps | 30 fps | 30 fps |
Video bitrate | 800 Kbps | 2 Mbps | 4 Mbps | 10 Mbps |
Recomandări privind decodarea video
Implementațiile dispozitivelor trebuie să suporte comutarea dinamică a rezoluției video și a ratei de cadre prin intermediul API-urilor standardAndroid în cadrul aceluiași flux pentru toate VP8, VP9, H.264, și H.265 în timp real și până la rezoluția maximă suportată de fiecare codec de pe dispozitiv.
Impletările care suportă decodorul Dolby Vision trebuie să respecte următoarele orientări:
- Furnizează un extractor compatibil cu Dolby Vision.
- Afișează în mod corespunzător conținutul Dolby Vision pe ecranul dispozitivului sau pe un port de ieșire video standard (de exemplu, HDMI).
- Setați indicele de pistă al stratului (straturilor) de bază compatibil(e) înapoi (dacă este (sunt) prezent(e) pentru a fi același cu indicele de pistă al stratului Dolby Vision combinat.
Cerințe privind streamingul video
Pentru conținutul video care este transmis prin HTTP sau RTSP, există cerințe suplimentare:
- Pentru containerele 3GPP și MPEG-4, atomul
moov
trebuie să preceadă orice atomimdat
, dar trebuie să urmeze atomulftyp
. - Pentru containerele 3GPP, MPEG-4 și WebM, eșantioanele audio și video care corespund aceluiași decalaj de timp nu pot fi la o distanță mai mare de 500 KB. Pentru a minimiza această derivă audio/video, luați în considerare intercalarea audio și video în bucăți de dimensiuni mai mici.
Suport imagine
Format | Encoder | Decoder | Detalii | Tipuri de fișiere Formatele de conținut |
|
---|---|---|---|---|---|
BMP | YES | BMP (.bmp) | |||
GIF | YES | GIF (.gif) | |||
JPEG | YES | YES | YES | Bază+progresiv | JPEG (.jpg) |
PNG | YES | YES | PNG (.png) | ||
WebP | Android 4.0+ Lossless: Android 10+ Transparență: Android 4.2.1+ |
Android 4.0+ Lossless: Android 4.2.1+ Transparență: Android 4.2.1+ |
Codificarea fără pierderi poate fi obținută pe Android 10 folosind o calitate de 100. | WebP (.webp) | |
HEIF | Android 8.0+ | HEIF (.heic; .heif) |
Protocoale de rețea
Sunt acceptate următoarele protocoale de rețea pentru redare audio și video:
- RTSP (RTP, SDP)
- HTTP/HTTPS progressive streaming
- HTTP/HTTPS live streaming draft protocol:
- Doar fișiere media MPEG-2 TS
- Versiunea protocolului 3 Android 4.0 și mai sus
- Versiunea protocolului 2 Android 3.x
- Nu este acceptat înainte de Android 3.0
Nota: HTTPS nu este acceptat înainte de Android 3.1.
.