Bu belgede, Android platformu tarafından sağlanan medya codec'i, kapsayıcı ve ağ protokolü desteği açıklanmaktadır.
Aşağıdaki tablolarda, Android platformuna yerleştirilmiş medya biçimi desteği açıklanmaktadır. EVET, biçimin tüm Android sürümlerini çalıştıran el cihazlarında ve tabletlerde kullanılabildiği anlamına gelir. Belirli bir Android platformu belirtildiğinde, biçim bu sürümü ve sonraki tüm sürümleri çalıştıran cep telefonlarında ve tabletlerde kullanılabilir. Bu biçim daha önceki sürümlerde de kullanılabilir ancak bu garanti edilmez. Cep telefonları ve tabletler dışındaki form faktörlerinde medya biçimi desteği değişiklik gösterebilir.
Belirli bir mobil cihazın bu tablolarda listelenmeyen ek biçimleri veya dosya türlerini destekleyebileceğini unutmayın. Ayrıca, doğrudan MediaCodec kullanırsanız desteklenen dosya türleri ve kapsayıcı biçimlerinden bağımsız olarak mevcut medya biçimlerinden herhangi birine erişebilirsiniz.
Ses desteği
Biçim | Kodlayıcı | Kod çözücü | Dosya Türleri Kapsayıcı Biçimleri | Ayrıntılar | |
---|---|---|---|---|---|
Ayıklayıcı | Karıştırıcı | ||||
AAC LC | EVET | EVET |
• 3GPP (.3gp) • ADTS ham AAC (.aac, ADIF desteklenmez) • MPEG-TS (.ts, atlanabilir değil, Android 3.0+) |
• 3GPP (.3gp) • ADTS ham AAC (.aac, ADIF desteklenmez) • MPEG-TS (not sure) (.ts, not seekable, Android 3.0+) |
8 ila 48 kHz arasındaki standart örnekleme hızlarına sahip mono/stereo/5.0/5.1 içerik desteği. |
HE-AACv1 (AAC+) | Android 4.1 ve sonraki sürümler | EVET | |||
HE-AACv2 (gelişmiş AAC+) | EVET | 8 ila 48 kHz arasındaki standart örnekleme hızlarına sahip stereo/5.0/5.1 içerikleri desteklenir. | |||
xHE-AAC | Android 9 ve sonraki sürümler | 8 ila 48 kHz arasındaki standart örnekleme hızlarında 8 kanala kadar içerik desteği | |||
AAC ELD (gelişmiş düşük gecikmeli AAC) | Android 4.1 ve sonraki sürümler | Android 4.1 ve sonraki sürümler | 16 ila 48 kHz arasındaki standart örnekleme hızlarına sahip mono/stereo içerik desteği | ||
AMR-NB | EVET | EVET |
• 3GPP (.3gp) • AMR (.amr) |
• 3GPP (.3gp) • AMR (.amr) |
8 kHz'te örneklenmiş 4,75 ila 12,2 Kb/sn |
AMR-WB | EVET | EVET | 16 kHz'te örneklenen 6,60 kbit/sn ile 23,85 kbit/sn arasında 9 hız | ||
FLAC | Android 4.1 ve sonraki sürümler | Android 3.1 ve sonraki sürümler |
• FLAC (.flac) • MPEG-4 (.mp4, .m4a, Android 10+) • Matroska (.mkv) |
Mono/stereo (çok kanallı değil). 48 kHz'e kadar örnek hızları (ancak 48 ila 44,1 kHz aşağı örnekleyici düşük geçiş filtresi içermediğinden, 44,1 kHz çıkışlı cihazlarda 44,1 kHz'e kadar örnek hızları önerilir). 16 bit önerilir; 24 bit için dithering uygulanmaz. | |
MIDI | EVET |
• 0 ve 1 türü (.mid, .xmf, .mxmf) • RTTTL/RTX (.rtttl, .rtx) • OTA (.ota) • iMelody (.imy) |
MIDI Türü 0 ve 1. DLS 1 ve 2 sürümü. XMF ve Mobil XMF. RTTTL/RTX, OTA ve iMelody zil sesi biçimleri için destek | ||
MP3 | EVET |
• MP3 (.mp3) • MPEG-4 (.mp4, .m4a, Android 10+) • Matroska (.mkv, Android 10+) |
Mono/Stereo 8-320 Kb/sn sabit (CBR) veya değişken bit hızı (VBR) | ||
Opus | Android 10 ve sonraki sürümler | Android 5.0 ve sonraki sürümler |
• Ogg (.ogg) • MPEG-4 (.mp4) • Matroska (.mkv) |
• Ogg (.ogg) • WebM (.webm) |
|
PCM/WAVE | Android 4.1 ve sonraki sürümler | EVET | WAVE (.wav) | 8 ve 16 bit doğrusal PCM (donanım sınırına kadar hız). 8000, 16.000 ve 44.100 Hz'de ham PCM kayıtları için örnekleme hızları. | |
Vorbis | EVET |
• Ogg (.ogg) • Matroska (.mkv, Android 4.0+) • MPEG-4 (.mp4, .m4a, Android 10+) |
• WebM (.webm) |
Video desteği
Video biçimleri
Biçim | Kodlayıcı | Kod çözücü | Dosya Türleri Kapsayıcı Biçimleri | Ayrıntılar | |
---|---|---|---|---|---|
Ayıklayıcı | Karıştırıcı | ||||
H.263 | EVET | EVET |
• 3GPP (.3gp) • MPEG-4 (.mp4) • Matroska (.mkv) |
• 3GPP (.3gp) • MPEG-4 (.mp4) |
Android 7.0 ve sonraki sürümlerde H.263 desteği isteğe bağlıdır. |
H.264 AVC Temel Profil (BP) |
Android 3.0 ve üzeri | EVET |
• 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts, yalnızca AAC ses, atlanabilir değil, Android 3.0+) • Matroska (.mkv) |
• 3GPP (.3gp) • MPEG-4 (.mp4) |
|
H.264 AVC Ana Profil (MP) |
Android 6.0 ve sonraki sürümler | EVET | Kod çözücü gereklidir, kodlayıcı önerilir. | ||
H.265 HEVC | Android 5.0 ve sonraki sürümler |
• MPEG-4 (.mp4) • Matroska (.mkv) |
• MPEG-4 (.mp4) | Mobil cihazlar için Ana Profil 3. Seviye ve Android TV için Ana Profil 4.1 Seviyesi | |
MPEG-4 SP | EVET | • MPEG-4 (.mp4) | • MPEG-4 (.mp4) | ||
VP8 | Android 4.3 ve sonraki sürümler | Android 2.3.3 ve sonraki sürümler |
• WebM (.webm) • Matroska (.mkv, Android 4.0+) |
• WebM (.webm) | Yalnızca Android 4.0 ve sonraki sürümlerde oynatılabilir. |
VP9 | Android 4.4 ve sonraki sürümler |
• WebM (.webm) • Matroska (.mkv) • MPEG-4 (.mp4) |
• WebM (.webm) | ||
AV1 | Android 14 ve sonraki sürümler | Android 10 ve sonraki sürümler |
• MPEG-4 (.mp4) • Matroska (.mkv) |
• MPEG-4 (.mp4) | Android 14'ten itibaren kodlayıcı ve kod çözücü zorunludur. |
APV | Android 16 ve sonraki sürümler | Android 16 ve sonraki sürümler | • MPEG-4 (.mp4) | • MPEG-4 (.mp4) | Android 16'dan itibaren kodlayıcı ve kod çözücü zorunludur. |
Video kodlama önerileri
Aşağıdaki tabloda, H.264 Temel Profil codec'i kullanılarak oynatılması önerilen Android medya çerçevesi video kodlama profilleri ve parametreleri listelenmiştir. Aynı öneriler, yalnızca Android 6.0 ve sonraki sürümlerde kullanılabilen Ana Profil codec'i için de geçerlidir.
SD (Düşük kalite) | SD (Yüksek kalite) | HD 720p (Tüm cihazlarda kullanılamaz) | |
---|---|---|---|
Video çözünürlüğü | 176 x 144 piksel | 480 x 360 piksel | 1280 x 720 piksel |
Video kare hızı | 12 fps | 30 fps | 30 fps |
Video bit hızı | 56 Kb/sn | 500 Kb/sn | 2 Mb/sn |
Ses codec'i | AAC-LC | AAC-LC | AAC-LC |
Ses kanalları | 1 (mono) | 2 (stereo) | 2 (stereo) |
Ses bit hızı | 24 Kb/sn | 128 Kb/sn | 192 Kb/sn |
Aşağıdaki tabloda, VP8 medya codec'i kullanılarak oynatılması önerilen Android medya çerçevesi video kodlama profilleri ve parametreleri listelenmiştir.
SD (Düşük kalite) | SD (Yüksek kalite) | HD 720p (Tüm cihazlarda kullanılamaz) | HD 1080p (Tüm cihazlarda kullanılamaz) | |
---|---|---|---|---|
Video çözünürlüğü | 320 x 180 piksel | 640 x 360 piksel | 1280 x 720 piksel | 1920 x 1080 piksel |
Video kare hızı | 30 fps | 30 fps | 30 fps | 30 fps |
Video bit hızı | 800 Kb/sn | 2 Mb/sn | 4 Mb/sn | 10 Mb/sn |
Video kod çözme önerileri
Cihaz uygulamaları, tüm VP8, VP9, H.264 ve H.265 codec'leri için aynı akıştaki standart Android API'leri aracılığıyla dinamik video çözünürlüğünü ve kare hızı geçişini gerçek zamanlı olarak ve cihazdaki her codec'in desteklediği maksimum çözünürlüğe kadar desteklemelidir.
Dolby Vision kod çözücüyü destekleyen uygulamalar aşağıdaki yönergelere uymalıdır:
- Dolby Vision uyumlu bir çıkarıcı sağlayın.
- Dolby Vision içeriğini cihaz ekranında veya standart bir video çıkış portunda (ör. HDMI).
- Geriye dönük uyumlu temel katmanların (varsa) parça dizini, birleştirilmiş Dolby Vision katmanının parça dizini ile aynı olacak şekilde ayarlanmalıdır.
Video akışı koşulları
HTTP veya RTSP üzerinden yayınlanan video içerikleri için ek koşullar vardır:
- 3GPP ve MPEG-4 kapsayıcılarında
moov
atomu, tümmdat
atomlarından önce gelmelidir ancakftyp
atomundan sonra gelmelidir. - 3GPP, MPEG-4 ve WebM kapsayıcılarında, aynı zaman kaymasına karşılık gelen ses ve video örnekleri en fazla 500 KB uzaklıkta olabilir. Bu ses/video kaymasını en aza indirmek için ses ve videoyu daha küçük parça boyutlarında ardışık olarak yerleştirebilirsiniz.
Resim desteği
Biçim | Kodlayıcı | Kod çözücü | Ayrıntılar | Dosya Türleri Kapsayıcı Biçimleri |
---|---|---|---|---|
BMP | EVET | BMP (.bmp) | ||
GIF | EVET | GIF (.gif) | ||
JPEG | EVET | EVET | Taban+aşamalı | JPEG (.jpg) |
PNG | EVET | EVET | PNG (.png) | |
WebP |
Android 4.0 ve üzeri Kayıpsız: Android 10 ve üzeri Şeffaflık: Android 4.2.1 ve üzeri |
Android 4.0 ve üzeri Kayıpsız: Android 4.2.1 ve üzeri Şeffaflık: Android 4.2.1 ve üzeri |
Android 10'da 100 kalite kullanılarak kayıpsız kodlama yapılabilir. | WebP (.webp) |
HEIF | Android 8.0 ve sonraki sürümler | HEIF (.heic; .heif) | ||
AVIF (temel profil) | Android 14 ve sonraki sürümler | Android 14 ve sonraki sürümler | Android 14'ten itibaren kodlayıcı ve kod çözücü zorunludur. | AVIF (.avif) |
Ağ protokolleri
Ses ve video oynatma için aşağıdaki ağ protokolleri desteklenir:
- RTSP (RTP, SDP)
- HTTP/HTTPS aşamalı akış
- HTTP/HTTPS canlı yayın taslak protokolü:
- Yalnızca MPEG-2 TS medya dosyaları
- Protokol sürümü 3 Android 4.0 ve üzeri
- Protokol sürümü 2 Android 3.x
- Android 3.0'dan önceki sürümlerde desteklenmez.
Not: HTTPS, Android 3.1'den önceki sürümlerde desteklenmez.
HDR video biçimleri
OEM'ler, HDR biçimlerinin temel ihtiyaçlarını (10 bitlik arabellekler, meta veriler (statik, dinamik ve yok), aktarım işlevi ve renk alanı işleme) sağlayan Android HDR mimarisiyle istedikleri HDR biçimini etkinleştirebilir.
Geliştiriciler için tutarlılık sağlamak ve önemli HDR kullanım alanlarını ele almak amacıyla OEM'lerin HDR'yi destekleyen cihazlarda birkaç temel biçimi desteklemesini zorunlu tutuyoruz:
- Film akışı gibi profesyonel içerik oynatma için HDR10 gerekir.
- Kullanıcı tarafından oluşturulan içeriklerin yakalanması ve oynatılması için HLG10'un Android cihazlarda tutarlı bir deneyim sunması gerekir.
HDR desteği ekleyen OEM'ler bu biçimleri desteklemelidir ancak HDR10+ veya Dolby Vision gibi ek biçimleri de destekleyebilir.
Biçim | Aktarım İşlevi | Meta veri | Codec | Bit Derinliği |
---|---|---|---|---|
HLG10 | HLG | Hayır | HEVC | 10 bit |
HDR10 | PQ | Statik | HEVC | 10 bit |
HDR10+ | PQ | Statik | HEVC | 10 bit |
Dolby Vision 8.4 | HLG | Dinamik | HEVC | 10 bit |
Biçim işleme önerileri
Kayıt biçimi | Yükleme biçimi | Yayınlama biçimi |
HLG | Uygulama arka ucu HDR HLG'yi desteklemelidir. | HDR'yi (HLG) destekleyen cihazlar:
HLG Cihazlar HDR'yi destekler (HLG desteği yoktur, yalnızca PQ): SDR (Arka uçta HLG'den SDR'ye ton haritası) HDR'yi desteklemeyen cihazlar: SDR (Arka uçta HLG'den SDR'ye ton haritası) |
2. kullanım alanı: Yerleşik kamerayla çekim yapma veya kullanıcının galerisinden içe aktarma (Uygulama arka ucu HDR'yi destekliyor)
Kayıt biçimi | Yükleme biçimi | Yayınlama biçimi |
HLG | HLG | Uygulama içi yakalama kullanım alanıyla aynı |
HDR10+ | HLG
Yüklemeden önce dönüştürücü API'lerini kullanarak HDR10+ (PQ) ile HLG arasında ton eşleme |
Uygulama içi yakalama kullanım alanıyla aynı |
DV8.4 | HLG
(DV8.4 HLG kullanır ve bit akış HLG gibi davranır. Bu nedenle ton eşleme gerekmez.) |
Uygulama içi yakalama kullanım alanıyla aynı |
3. kullanım alanı: Uygulama arka ucu HDR'yi desteklemiyor
Kayıt biçimi | Yükleme biçimi | Yayınlama biçimi |
Tüm biçimler | SDR
Yüklemeden önce dönüştürücü API'lerini kullanarak HLG'den SDR'ye ton eşleme |
SDR |