Desteklenen biçimler

ExoPlayer'ın desteklediği biçimleri tanımlarken, makine öğreniminin "medya biçimleri" birden çok düzeyde tanımlanır. En düşük seviyeden en yüksek olanları şunlardır:

  • Bağımsız medya örneklerinin biçimi (video karesi veya kare gibi) . Bunlar örnek biçimlerdir. Tipik bir video dosyasının en az iki örnek biçimde medya içermelidir; video için bir (örneğin, H.264) ve ses için (örneğin, AAC).
  • Medya örneklerini barındıran ve ilişkili kapsayıcının biçimi meta verilerdir. Bunlar kapsayıcı biçimleridir. Medya dosyalarının tek bir kapsayıcısı vardır biçimindedir (örneğin, MP4). Not bazı yalnızca ses biçimleri (örneğin, MP3), örnek ve kapsayıcı biçimleri için aynı olabilir.
  • DASH, SmoothStreaming ve HLS gibi uyarlanabilir akış teknolojileri. Bu bu tür medya biçimleri değildir; ancak yine de hangi reklamların ne zaman aşağıdaki adımları izleyin.

Aşağıdaki bölümlerde ExoPlayer'ın desteğinin en yüksekten başlayıp en yüksekten başlayarak her bir düzeyde tanımlanması en düşük olanı seçin. Son iki bölümde bağımsız altyazı biçimleri için destek açıklanmaktadır ve HDR video oynatma gibi özellikleri kullanır.

Uyarlanabilir akış

DASH

ExoPlayer, birden çok kapsayıcı biçimiyle DASH'i destekler. Medya akışları: demuxed; yani video, ses ve metnin farklı DASH manifestindeki AdaptationSet öğeleri (CEA-608, ) kullanılabilir. İçerikteki ses ve video örnek biçimleri, (bkz. örnek biçimler bölümüne bakın).

Özellik Destekleniyor Yorumlar
Kapsayıcılar
FMP4 EVET Yalnızca devre dışı bırakılan akışlar
WebM EVET Yalnızca devre dışı bırakılan akışlar
Matroska EVET Yalnızca devre dışı bırakılan akışlar
MPEG-TS HAYIR Planlanmış destek yok
Altyazılar
TTML EVET ISO/IEC 14496-30'a uygun olarak ham veya FMP4'e yerleştirilmiştir
WebVTT EVET ISO/IEC 14496-30'a uygun olarak ham veya FMP4'e yerleştirilmiştir
CEA-608 EVET SCTE erişilebilirlik tanımlayıcıları kullanılarak sinyal verildiğinde FMP4'e yerleştirilir.
CEA-708 EVET SCTE erişilebilirlik tanımlayıcıları kullanılarak sinyal verildiğinde FMP4'e yerleştirilir.
Meta veri
EMSG meta verileri EVET FMP4'e yerleştirilmiş
İçerik koruması
Widevine EVET "cenc" schema: API 19+; "Cbcs" şema: API 25+
PlayReady SL2000 EVET Android TV, "cenc" yalnızca şema
Anahtarı Temizle EVET API 21+, "cenc" yalnızca şema
Canlı oynatma
Düzenli canlı oynatma EVET
Ultra düşük gecikmeli CMAF canlı oynatma EVET
Ortak Medya İstemci Verileri (CMCD) EVET Entegrasyon Kılavuzu

Düzgün yayın

ExoPlayer, FMP4 kapsayıcı biçimiyle SmoothStreaming'i destekler. Medya akışları Para kazanma özelliği devre dışı bırakılmalıdır; diğer bir deyişle, video, ses ve metin ayrı ayrı tanımlanmalıdır. SmoothStreaming manifestindeki StreamIndex öğeleri. İçerikteki ses ve video örnek biçimleri de desteklenmelidir (bkz. örnek biçimler bölümüne bakın).

Özellik Destekleniyor Yorumlar
Kapsayıcılar
FMP4 EVET Yalnızca devre dışı bırakılan akışlar
Altyazılar
TTML EVET FMP4'e yerleştirilmiş
İçerik koruması
PlayReady SL2000 EVET Yalnızca Android TV
Canlı oynatma
Düzenli canlı oynatma EVET
Ortak Medya İstemci Verileri (CMCD) EVET Entegrasyon Kılavuzu

HLS

ExoPlayer, birden fazla container biçimiyle HLS'yi destekler. İçerikteki ses ve video örnek biçimleri de desteklenmelidir (bkz. örnek biçimler bölümüne bakın). Biz HLS içerik üreticilerini yüksek kaliteli HLS akışları oluşturmaya kesinlikle teşvik eder. açıklandığı gibi burada bulabilirsiniz.

Özellik Destekleniyor Yorumlar
Kapsayıcılar
MPEG-TS EVET
FMP4/CMAF EVET
ADTS (AAC) EVET
MP3 EVET
Altyazılar
CEA-608 EVET
CEA-708 EVET
WebVTT EVET
Meta veri
Kimlik 3 EVET
SCTE-35 HAYIR
İçerik koruması
AES-128 EVET
Örnek AES-128 HAYIR
Widevine EVET API 19+ ("cenc" şeması) ve 25+ ("cbcs" şeması)
PlayReady SL2000 EVET Yalnızca Android TV
Sunucu denetimi
Delta güncellemeleri EVET
Oynatma listesinin yeniden yüklenmesini engelleme EVET
Önceden yükleme ipuçlarının yüklenmesini engelleme EVET Uzunlukları tanımlanmamış bayt aralıkları hariç
Canlı oynatma
Düzenli canlı oynatma EVET
Düşük gecikmeli HLS (Apple) EVET
Düşük gecikmeli HLS (Topluluk) HAYIR
Ortak Medya İstemci Verileri (CMCD) EVET Entegrasyon Kılavuzu

Progresif kapsayıcı biçimleri

Aşağıdaki kapsayıcı biçimlerindeki akışlar doğrudan ExoPlayer tarafından oynatılabilir. İçerilen ses ve video örnek biçimleri de desteklenmelidir (bkz. Örnek biçimler bölümüne bakın). Görüntü kapsayıcısı ve biçim desteği için bkz. Resimler.

Kapsayıcı biçimi Destekleniyor Yorumlar
MP4 EVET
M4A EVET
FMP4 EVET
WebM EVET
Matroska EVET
MP3 EVET Bazı canlı yayınlarda yalnızca sabit bit hızı sarması ile arama yapılabilir.**
Ogg EVET Vorbis, Opus ve FLAC içerir
WAV EVET
MPEG-TS EVET
MPEG-PS EVET
FLV EVET Aranamaz*
ADTS (AAC) EVET Yalnızca sabit bit hızında sarma kullanıldığında aranabilir**
FLAC EVET FLAC kitaplığını veya ExoPlayer kitaplığındaki FLAC ayıklayıcısını kullanarak***
AMR EVET Yalnızca sabit bit hızında sarma kullanıldığında aranabilir**

* Kapsayıcı meta veri (örneğin, örnek dizin) kullanarak bir medya oynatıcının verimli bir şekilde arama yapmasını sağlar. Sarma işlemi gerekiyorsa daha uygun bir kapsayıcı biçimi kullanmanızı öneririz.

** Bu ayıklayıcılarda FLAG_ENABLE_CONSTANT_BITRATE_SEEKING işareti vardır Sabit bit hızı varsayımı kullanarak yaklaşık sarma özelliğini etkinleştirme. Bu işlevi varsayılan olarak etkin değildir. Bunu etkinleştirmenin en basit yolu destekleyen tüm ayıklayıcılar için otomatik olarak Açıklandığı şekliyle DefaultExtractorsFactory.setConstantBitrateSeekingEnabled burada bulabilirsiniz.

*** FLAC kitaplığı ayıklayıcısı, işlenebilecek ham ses çıkışını sağlar. tüm API düzeylerinde çerçeveye göre değerlendirebiliriz. ExoPlayer kitaplığı FLAC ayıklayıcı çıkışları FLAC ses kareleri ve bu nedenle bir FLAC kod çözücü (örneğin, MediaCodec FLAC'yi işleyen kod çözücü (API düzeyi 27'den itibaren gereklidir) veya FLAC özellikli FFmpeg kitaplığı). DefaultExtractorsFactory, uygulama FLAC kitaplığı ile oluşturulmuşsa uzantı ayıklayıcıyı kullanın. Aksi takdirde, ExoPlayer kitaplığı ayıklayıcısını kullanır.

RTSP

ExoPlayer, hem canlı hem de isteğe bağlı RTSP'yi destekler. Desteklenen örnek biçimler ve ağ türleri aşağıda listelenmiştir.

Desteklenen örnek biçimler

  • H264 (STP medya açıklaması, fmtp dosyasındaki SPS/PPS verilerini içermelidir) özelliğini kullanın).
  • AAC (ADTS bit akışı ile).
  • AC3.

Desteklenen ağ türleri

  • UDP tek noktaya yayın üzerinden RTP (çoklu yayın desteklenmez).
  • Boşluklu RTSP, TCP kullanılarak RTSP üzerinden RTP.

Örnek biçimler

ExoPlayer, varsayılan olarak Android'in platform kod çözücülerini kullanır. Bu nedenle desteklenen örnek biçimleri ExoPlayer'a değil, temel platforma bağlıdır. Daha fazla bilgi için Desteklenen medya biçimleri dokümanlarına göz atabilirsiniz. Lütfen cihazlar, listelenenlerin dışında ek biçimleri destekleyebilir.

ExoPlayer, Android'in platform kod çözücülerine ek olarak yazılım kod çözücü uzantıları. Bunların manuel olarak oluşturulması ve bunlardan faydalanmak isteyen projelerdir. Şu anda kod çözücü yazılımı sunuyoruz için kütüphaneler AV1 VP9, FLAC, Opus ve FFmpeg.

FFmpeg kitaplığı

FFmpeg kitaplığı şunları destekler: ve farklı ses örneği biçimlerinin kodunu çözmeyi başardık. Kampanya performansını kitaplığını oluştururken dahil edilecek kod çözücüler kitaplığının README.md öğesini destekler. İlgili içeriği oluşturmak için kullanılan aşağıdaki tabloda ses örneği biçiminden karşılık gelen FFmpeg kod çözücü adı.

Örnek biçim Kod çözücü adları
Vorbis Vorbis
Opus Opus
FLAC Flac
ALAK Alac
PCM μ-yasalı pcm_mulaw
PCM A-Yasası pcm_alaw
MP1, MP2, MP3 mp3
AMR ve NB Amrnb
AMR-WB Amrwb
AAC aac
KK-3 ac3
E-AC-3 eac3
DTS, DTS-HD DCA
Doğru HD mlp truehd

Resimler

ExoPlayer aşağıdaki resim biçimlerini destekler. Görüntüleyin Resim Yükleme Kitaplıkları için destek sağlayabilecek harici kitaplıklarla nasıl farklı biçim grubu.

Resim biçimi Destekleniyor Notlar
BMP EVET
GIF HAYIR Ayıklayıcı desteği yok
JPEG EVET
JPEG Hareketli Fotoğraf EVET Hareketsiz resim ve video desteklenir
PNG EVET
WebP EVET
HEIF/HEIC EVET
HEIC Hareketli Fotoğraf Kısmen Yalnızca hareketsiz resim desteklenir*
AVIF (referans değer) EVET Yalnızca Android 14 ve sonraki sürümlerde kod çözülmüş

* HEIC hareketli fotoğrafların video kısmı MetadataRetriever ve tek başına bir dosya olarak oynatılır.

Bağımsız altyazı biçimleri

ExoPlayer, çeşitli biçimlerdeki bağımsız altyazı dosyalarını destekler. Alt başlık dosyaları, medya öğeleri sayfasında açıklandığı gibi farklı yöntemle yüklenebilir.

Kapsayıcı biçimi Destekleniyor MIME türü
WebVTT EVET MimeTürleri.TEXT_VTT
TTML / SMPTE-TT EVET MimeTürleri.APPLICATION_TTML
SubRip EVET MimeTürleri.APPLICATION_SUBRIP
SubStationAlpha (SSA/ASS) EVET MimeTürleri.TEXT_SSA

HDR video oynatma

ExoPlayer, çeşitli boyutlardaki yüksek dinamik aralıklı (HDR) videoları ayıklama işlemini gerçekleştirebilir MP4'te Dolby Vision ve Matroska/WebM'de HDR10+ dahil. Kod çözme HDR içeriğin görüntülenmesi, Android platformunun ve olanak tanır. Görüntüleyin HDR Video Oynatma HDR kod çözme/görüntüleme özelliklerini ve video çözünürlüğünü kontrol etme hakkında Android sürümlerinde HDR desteği.

Belirli bir codec profili için destek gerektiren bir HDR yayını oynatırken ExoPlayer'ın varsayılan MediaCodec seçicisi, bunu destekleyen bir kod çözücü seçer profili (varsa) kullanılabilir. Ayrıca, bu MIME türü için aynı MIME türü için bu profilin codec listesinde daha yukarıda görünmesini desteklemez. Bu, akışın akış sınırını aştığı durumlarda, yazılım kod çözücü özellikleri kullanılabilir.