Desteklenen medya biçimleri

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)
• MPEG-4 (.mp4, .m4a)
• ADTS raw AAC (.aac, ADIF desteklenmez)
• MPEG-TS (.ts, aranabilir değil, Android 3.0+)
• 3GPP (.3gp)
• MPEG-4 (.mp4, .m4a)
• 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 moov atomu, tüm mdat atomlarından önce gelmeli ancak ftyp atomundan 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