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şik olarak sunulan medya biçimi desteği açıklanmaktadır. EVET, biçimin tüm Android sürümlerinin yüklü olduğu elde taşınabilir cihazlarda ve tabletlerde kullanılabileceğ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 ö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, MediaCodec'i doğrudan kullanırsanız desteklenen dosya türleri ve kapsayıcı biçimlerinden bağımsız olarak mevcut medya biçimlerinin tümüne 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ı | Muxer | ||||
| AAC LC | EVET | EVET |
• 3GPP (.3gp) • ADTS raw AAC (.aac, ADIF desteklenmez) • MPEG-TS (.ts, aranabilir değil, Android 3.0+) |
• 3GPP (.3gp) • ADTS raw AAC (.aac, ADIF desteklenmez) • MPEG-TS (emin değiliz) (.ts, aranamaz, Android 3.0+) |
8-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 üzeri | EVET | |||
| HE-AACv2 (geliştirilmiş AAC+) | EVET | 8-48 kHz arasındaki standart örnekleme hızlarına sahip stereo/5.0/5.1 içerik desteği. | |||
| xHE-AAC | Android 9 veya sonraki sürümler | 8-48 kHz arasındaki standart örnekleme hızlarına sahip 8 kanallı içeriklere kadar destek | |||
| AAC ELD (gelişmiş düşük gecikmeli AAC) | Android 4.1 ve üzeri | Android 4.1 ve üzeri | 16-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'de örneklenmiş 4,75 ila 12,2 kb/sn |
| AMR-WB | EVET | EVET | 16 kHz'de örneklenen 6,60 kbit/sn ile 23,85 kbit/sn arasında 9 hız | ||
| FLAC | Android 4.1 ve üzeri | Android 3.1 veya sonraki sürümler |
• FLAC (.flac) • MPEG-4 (.mp4, .m4a, Android 10+) • Matroska (.mkv) |
Mono/Stereo (çok kanallı değil). 48 kHz'ye kadar örnek hızları (ancak 48 kHz'den 44,1 kHz'ye dönüştürme işlemi düşük geçiren filtre içermediğinden 44,1 kHz çıkışlı cihazlarda 44,1 kHz'ye kadar örnek hızları önerilir). 16 bit önerilir; 24 bit için titretme 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 Mobile 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 veya sonraki sürümler | Android 5.0 veya sonraki sürümler |
• Ogg (.ogg) • MPEG-4 (.mp4) • Matroska (.mkv) |
• Ogg (.ogg) • WebM (.webm) |
|
| PCM/WAVE | Android 4.1 ve üzeri | EVET | WAVE (.wav) | 8 ve 16 bit doğrusal PCM (donanım sınırına kadar olan hızlar). 8.000, 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ı | Muxer | ||||
| 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 Baseline Profile (BP) |
Android 3.0 ve üzeri | EVET |
• 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts, yalnızca AAC ses, aranamaz, Android 3.0+) • Matroska (.mkv) |
• 3GPP (.3gp) • MPEG-4 (.mp4) |
|
| H.264 AVC Ana Profil (MP) |
Android 6.0+ | EVET | Kod çözücü gereklidir, kodlayıcı önerilir. | ||
| H.265 HEVC | Android 5.0 veya sonraki sürümler |
• MPEG-4 (.mp4) • Matroska (.mkv) |
• MPEG-4 (.mp4) | Mobil cihazlar için Ana Profil Seviyesi 3 ve Android TV için Ana Profil Seviyesi 4.1 | |
| MPEG-4 SP | EVET | • MPEG-4 (.mp4) | • MPEG-4 (.mp4) | ||
| VP8 | Android 4.3 ve sonraki sürümler | Android 2.3.3 veya sonraki sürümler |
• WebM (.webm) • Matroska (.mkv, Android 4.0+) |
• WebM (.webm) | Yalnızca Android 4.0 ve sonraki sürümlerde yayınlanabilir. |
| VP9 | Android 4.4 veya sonraki sürümler |
• WebM (.webm) • Matroska (.mkv) • MPEG-4 (.mp4) |
• WebM (.webm) | ||
| AV1 | Android 14 ve sonraki sürümler | Android 10 veya sonraki sürümler |
• MPEG-4 (.mp4) • Matroska (.mkv) |
• MPEG-4 (.mp4) | Kodlayıcı ve kod çözücü, Android 14'ten itibaren zorunludur. |
| APV | Android 16+ | Android 16+ | • MPEG-4 (.mp4) | • MPEG-4 (.mp4) | Kodlayıcı ve kod çözücü, Android 16'dan itibaren zorunludur. |
Video kodlama önerileri
Aşağıdaki tabloda, H.264 Baseline Profile codec'i kullanılarak oynatma için önerilen Android medya çerçevesi video kodlama profilleri ve parametreleri listelenmektedir. Aynı öneriler, yalnızca Android 6.0 ve sonraki sürümlerde kullanılabilen Main Profile 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 | 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 oynatma için önerilen Android medya çerçevesi video kodlama profilleri ve parametreleri listelenmektedir.
| 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ı, aynı akışta VP8, VP9, H.264 ve H.265 codec'lerinin tümü için 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 cihazda 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 özellikli bir çıkarıcı sağlayın.
- Dolby Vision içeriğini cihaz ekranında veya standart bir video çıkış bağlantı noktasında (ör. HDMI) düzgün şekilde görüntüleme.
- Geriye dönük uyumlu temel katmanların (varsa) parça dizinini, birleştirilmiş Dolby Vision katmanının parça diziniyle aynı olacak şekilde ayarlayın.
Video akışıyla ilgili 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
moovatomu, tümmdatatomlarından önce gelmeli ancakftypatomundan sonra gelmelidir. - 3GPP, MPEG-4 ve WebM kapsayıcılarında, aynı zaman farkına karşılık gelen ses ve video örnekleri arasında en fazla 500 KB fark olabilir. Bu ses/video kaymasını en aza indirmek için ses ve videoyu daha küçük parçalar halinde birleştirmeyi deneyin.
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+ Kayıpsız: Android 10+ Şeffaflık: Android 4.2.1+ |
Android 4.0+ Kayıpsız: Android 4.2.1+ Şeffaflık: Android 4.2.1+ |
Android 10'da 100 kalitesinde kayıpsız kodlama yapılabilir. | WebP (.webp) |
| HEIF |
Android 10 ve sonraki sürümler ( MediaCodec veya HeifWriter üzerinden; Bitmap.compress'de değil)
|
Android 9.0 veya sonraki sürümler | Cihaz isteğe bağlıdır. 8 bit desteği için ImageDecoder.isMimeTypeSupported("image/heif") sayfasını ziyaret edin. 10 bit kod çözme için isteğe bağlı HEVC Main10 profili gerekir. |
HEIF (.heic; .heif) |
| AVIF (temel profil) |
Android 14 ve sonraki sürümler ( MediaCodec üzerinden; Bitmap.compress'da kullanılamaz)
|
Android 12 veya sonraki sürümler | 8 bit kod çözme, Android 12 ve sonraki sürümlerde desteklenir. 10 bit kod çözme isteğe bağlıdır. 10 bit desteği için ImageDecoder.isMimeTypeSupported("image/avif") işaretini kontrol edin (yanlış olsa bile 8 bit çalışmaya devam eder). |
AVIF (.avif) |
Ağ protokolleri
Ses ve video oynatma için aşağıdaki ağ protokolleri desteklenir:
- RTSP (RTP, SDP)
- HTTP/HTTPS ilerleyici akış
- HTTP/HTTPS canlı yayın taslak protokolü:
- Yalnızca MPEG-2 TS medya dosyaları
- Protokol sürümü 3, Android 4.0 ve sonraki sürümler
- 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, Android HDR mimarisiyle istedikleri HDR biçimini etkinleştirebilir. Bu mimari, 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) karşılar.
Geliştiriciler için tutarlılığı sağlamak ve temel HDR kullanım alanlarını ele almak amacıyla, HDR'yi destekleyen cihazlarda OEM'lerin birkaç temel biçimi desteklemesini zorunlu kılıyoruz:
- Film yayınlama gibi profesyonel içeriklerin oynatılması için HDR10 gerekir.
- Kullanıcı tarafından oluşturulan içeriklerin kaydedilmesi ve oynatılması için Android cihazlarda tutarlı bir deneyim sunmak amacıyla HLG10'u zorunlu tutuyoruz.
HDR desteği ekleyen OEM'ler bu biçimleri desteklemeli ancak HDR10+ veya Dolby Vision gibi ek biçimleri de destekleyebilir.
| Biçim | Aktarım iş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
| Yakalama biçimi | Yüklenilen biçim | Yayın biçimi |
| HLG | Uygulama arka ucu, HDR HLG'yi desteklemelidir. | HDR'yi (HLG) destekleyen cihazlar:
HLG Cihazlar HDR'yi destekler (yalnızca PQ, HLG desteği yoktur): SDR (Arka uçta HLG'den SDR'ye ton eşleme) HDR'yi desteklemeyen cihazlar: SDR (Arka uçta HLG'den SDR'ye ton eşleme) |
2. kullanım alanı: Yerleşik kamera ile çekim veya kullanıcının galerisinden içe aktarma (Uygulama arka ucu HDR'yi destekler)
| Yakalama biçimi | Yüklenilen biçim | Yayın biçimi |
| HLG | HLG | Uygulama içi yakalama kullanım alanıyla aynı |
| HDR10+ | HLG
Dönüştürücü API'lerini kullanarak yüklemeden önce 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 olarak 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
| Yakalama biçimi | Yüklenilen biçim | Yayın biçimi |
| Tüm biçimler | SDR
Dönüştürücü API'lerini kullanarak yüklemeden önce HLG'den SDR'ye ton eşleme |
SDR |