Format yang didukung

Melihat format yang didukung ExoPlayer untuk pengantar format media secara umum. Keterbatasan yang sama pada pemuatan, ekstraksi, dan streaming decoding diterapkan dengan Transformer, meskipun Transformer tidak mendukung Paket modul decoder software ExoPlayer.

Transformator juga mengandalkan MediaCodec untuk encoding, dan perlu multipleks, atau mux, menghasilkan file media, yang membatasi format output yang didukung. Lihat Codec video MediaCodec untuk informasi lebih lanjut tentang keterbatasan pengkodean dan MediaMuxer untuk batasan yang berlaku bagi penampung media output. Hanya transformator menghasilkan file MP4.

Secara default, Transformer menggunakan MediaMuxer, tetapi InAppMuxer masih dalam proses tersedia secara opsional untuk menghindari beberapa batasan MediaMuxer terkait struktur {i>reference frame<i} dan format sampel yang didukung. Muxer {i>default<i} akan menjadi muxer dalam aplikasi dalam rilis mendatang.

Dukungan gambar

Transformer menggunakan BitmapFactory untuk memuat dan mendekode semua aset gambar, jadi Transformer mendukung semua format yang dilakukan BitmapFactory. Lihat Dukungan gambar untuk jenis gambar yang didukung. Untuk format multi-gambar (mis. gif), satu gambar frame dari container ditampilkan jika DefaultAssetLoaderFactory data

Format khusus

Transformer mendukung penanganan input dalam format media baru yang menyediakan dibandingkan dengan format konvensional.

Menangani video HDR

Kini semakin banyak perangkat yang mendukung video HDR gambar, sehingga memberikan hasil yang lebih jernih dan akurat warna dan rentang kecerahan yang lebih besar.

Transformer mendukung pengeditan video HDR mulai dari Android 13 (level API 33) dan seterusnya pada perangkat dengan dukungan encoding yang diperlukan. Saat mengedit video HDR, semua efek GL efek video harus menangani komponen warna floating point 16-bit dan BT.2020 ruang warna. HDR_MODE_KEEP_HDR adalah mode default saat membuat Composition. Jika pengeditan HDR tidak didukung, Transformer akan kembali menggunakan HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL.

Konversi HDR ke SDR, yang juga dikenal sebagai pemetaan nada, didukung dari Android 10 (API level 29) dan seterusnya pada perangkat dengan decoding dan OpenGL yang diperlukan dukungan teknis IT. Ini berguna saat berbagi media HDR ke aplikasi atau layanan lain yang tidak mendukung penyerapan konten HDR. Untuk mengaktifkan pemetaan nada menggunakan panggilan OpenGL setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL) saat membuat Composition. Mulai Android 12 (level API 31) dan seterusnya, MediaCodec juga mendukung pemetaan nada di beberapa perangkat, termasuk semua perangkat yang menjalankan Android 13 atau yang lebih baru yang dapat merekam video HDR. Untuk mengaktifkan pemetaan nada menggunakan MediaCodec memanggil setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC).

Menangani media gerak lambat

Video gerak lambat menyertakan metadata yang menunjukkan kecepatan setiap bagian streaming akan diputar. Perataan adalah proses menghasilkan streaming video berdasarkan video gerak lambat, tetapi bagiannya dipercepat atau diperlambat berdasarkan metadata, sehingga dapat diputar dengan benar bahkan pada pemain yang tidak menerapkan metadata gerak lambat.

Untuk meratakan streaming gerak lambat, gunakan builder setFlattenForSlowMotion pada EditedMediaItem.

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);

Ini memungkinkan Anda untuk mendukung video gerak lambat tanpa perlu mengkhawatirkan penanganan format khusus ini. Yang perlu Anda lakukan adalah menyimpan dan memainkan versi rata-rata dari video bukanlah versi aslinya.