Desteklenen biçimler

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.