ExoPlayer'ın desteklediği biçimlere bakın. sayfasını ziyaret ederek olduğunu öğreneceğiz. Aynı yükleme, ayıklama ve dışa aktarma Transformer ile akış kod çözme işlemi uygulanır ancak Transformer, ExoPlayer yazılım paketinin kod çözücü modülleri.
Dönüştürücü, ayrıca kodlama için MediaCodec
yöntemini kullanır ve Multiplex'e ihtiyaç duyar veya
mux, çıkış medya dosyaları. Bu dosya, desteklenen çıkış biçimlerini sınırlandırır. Görüntüleyin
MediaCodec video codec'leri
kodlama sınırlamaları hakkında daha fazla bilgi
MediaMuxer
çıkış medya kapsayıcısına uygulanan sınırlamalara bakın. Yalnızca dönüştürücü
MP4 dosyaları çıktı.
Transformer
varsayılan olarak MediaMuxer
kullanıyor ancak devam eden bir çalışma olan InAppMuxer
isteğe bağlı olarak, MediaMuxer
tarafından belirlenen bazı sınırlamaların
referans çerçeve yapılarını ve desteklenen örnek biçimlerini inceleyin. Varsayılan muxer,
sonraki sürümlerden birinde uygulama içi muxer
olabilir.
Görüntü desteği
Transformer, tüm resim öğelerini yüklemek ve kodlarını çözmek için BitmapFactory
kullanır. Dolayısıyla,
Dönüştürücü, BitmapFactory'nin desteklediği tüm biçimleri destekler. Görüntüleyin
Görüntü desteği
başlıklı makaleyi inceleyin. Çok resimli biçimlerde (ör. gif'ler) tek bir resim
DefaultAssetLoaderFactory
değeri geçerliyse kapsayıcıdaki bir çerçeve
kullanılır.
Özel biçimler
Dönüştürücü, özel boyut sağlayan yeni medya biçimlerinde giriş işlemeyi destekler. yeni özellikler ekledik.
HDR videoları işleme
Artık daha fazla cihaz HDR videoyu destekliyor yakalamanızı sağlar; böylece daha canlı ve doğru renk ve daha geniş bir parlaklık aralığı sağlar.
Transformer, Android 13 (API düzeyi 33) ve sonraki sürümlerde HDR videoların düzenlenmesini destekler
gereken kodlama desteğine sahip cihazlarda kullanılabilir. HDR videoları düzenlerken herhangi bir GL
Video efektlerinin 16 bit kayan nokta renk bileşenlerini ve BT.2020'yi yönetmesi gerekir.
kullanabilirsiniz. Oluştururken HDR_MODE_KEEP_HDR
varsayılan moddur
Composition
. HDR düzenleme desteklenmiyorsa Dönüştürücü
HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL
kullanmaya geri dönüyor.
HDR'yi SDR'ye (Ton eşleme olarak da bilinir) dönüştürme, Android'de desteklenir.
10'dan (API düzeyi 29) itibaren, gerekli kod çözme ve OpenGL'ye sahip cihazlarda
destek. Bu özellik, HDR medyayı aynı ekran görüntüsünde bulunan diğer uygulama veya hizmetlerle
HDR içeriğin beslenmesini desteklemez. OpenGL çağrısı kullanarak ton eşlemeyi etkinleştirmek için
setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL)
Composition
. Android 12'den (API düzeyi 31) itibaren MediaCodec
Ayrıca, şu anda çalışan tüm cihazlar da dahil olmak üzere bazı cihazlarda ton eşlemeyi destekler:
HDR video kaydedebilen Android 13 veya sonraki sürümler. Ton eşlemeyi etkinleştirmek için
MediaCodec
, setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC)
numaralı telefonu ara.
Ağır çekim medyayı kullanma
Ağır çekim videolar, her bölümün belirli bir hızda öğesinin oynatılması gerekir. Düzleştirme, yeni bir veri kümesi oluşturma sürecidir bölümlerin hızlı olduğu ağır çekim videoya göre video akışı veya meta verilere göre yavaşlatılır. Böylece, bu videolar oyuncularda bile doğru şekilde oynatılır. başka bir resim öğesi seçin.
Ağır çekim yayınları düzeltmek için setFlattenForSlowMotion
oluşturucuyu kullanın
yöntemini EditedMediaItem
ile değiştirin.
Kotlin
val editedMediaItem = EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build() val transformer = Transformer.Builder(context).addListener(transformerListener).build() transformer.start(editedMediaItem, outputPath)
Java
EditedMediaItem editedMediaItem = new EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build(); Transformer transformer = new Transformer.Builder(context).addListener(transformerListener).build(); transformer.start(editedMediaItem, outputPath);
Bu sayede, endişelenmenize gerek kalmadan ağır çekim videoları destekleyebilirsiniz tekniklerinden faydalanacağız. Tek yapmanız gereken, depolayıp oynatmak için düz hale getirilmiş halini alır.