- Mengapa saya tidak dapat mengakses file lokal di aplikasi demo?
- Mengapa pengeksporan gagal di perangkat tertentu?
- Apakah Transformer mendukung transformasi (atau perekaman) media jarak jauh
- Apakah Transformer mendukung input 8K?
- Apa hubungan Transformer dengan transcoding media yang kompatibel dengan platform?
- Bagaimana cara mengurangi latensi ekspor atau meningkatkan throughput?
Mengapa saya tidak dapat mengakses file lokal di aplikasi demo?
Penerapan penyimpanan terbatas dari Android 11 (level API 30) mencegah akses sistem file langsung. Untuk pengujian manual selama pengembangan, Anda dapat mengakses file lokal dengan menambahkan izin kelola penyimpanan eksternal dalam manifes aplikasi demo:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
Lalu berikan izin melalui adb:
adb shell appops set --uid androidx.media3.demo.transformer \ MANAGE_EXTERNAL_STORAGE allow
Mengapa ekspor gagal di perangkat tertentu?
Harap ajukan masalah di Issue tracker Media3 dengan informasi yang memadai untuk mereproduksi masalah. Solusi untuk masalah khusus perangkat dapat ditambahkan ke library untuk meningkatkan kompatibilitas dari waktu ke waktu.
Apakah Transformer mendukung transformasi (atau perekaman) media jarak jauh?
Transformer mendukung streaming progresif jarak jauh, termasuk container file media seperti MP4.
Dalam kondisi jaringan yang sangat buruk, ekspor mungkin gagal karena buffering
media jarak jauh untuk pemicu yang terlalu lama akan memeriksa muxer yang dimaksudkan untuk
mengidentifikasi bahwa pipeline macet. Anda dapat mengganti perilaku default ini dengan menetapkan maxDelayBetweenMuxerSamplesMs
pada Transformer.Builder
:
Kotlin
Transformer.Builder(context) .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET) .build()
Java
new Transformer.Builder(context) .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET) .build();
Meneruskan C.TIME_UNSET
akan menghapus waktu tunggu sepenuhnya, tetapi jika aplikasi Anda berjalan pada
chipset tempat MediaCodec
dapat macet, Anda dapat menyetel waktu tunggu
yang lebih besar selain nol.
Apakah Transformer mendukung input 8k?
Transformer diimplementasikan dengan cara yang tidak bergantung pada format, sehingga tidak membatasi penanganan video 8K, tetapi kemampuan hardware di perangkat dapat menyebabkan ekspor tidak berhasil. Misalnya, pada perangkat yang dapat merekam 8K, video 8k mungkin tidak dapat mendekode dan mengenkode ulang video karena melebihi codec hardware atau resource RAM yang tersedia.
Apa hubungan Transformer dengan transcoding media yang kompatibel dengan platform?
Transcoding media yang kompatibel adalah fitur platform Android dari Android 12 (level API 31) yang mengonversi media hingga satu menit ke format yang didukung oleh aplikasi. Jika Anda memilih untuk menggunakan fitur ini, membaca file media dalam format yang tidak kompatibel akan menyebabkan file media di-transcoding sesuai permintaan, dan hasilnya disimpan dalam cache untuk operasi yang dibaca nanti.
Transformer juga mendukung konversi format, tetapi tersedia sebagai support library dan aplikasi memiliki kontrol penuh atas operasi transcoding.
Bagaimana cara mengurangi latensi ekspor atau meningkatkan throughput?
Transformer mengandalkan MediaCodec
untuk decoding dan encoding
yang dipercepat hardware, dan OpenGL untuk memproses frame video. Berdasarkan pengukuran kami terhadap perangkat standar, faktor pembatas dalam throughput Transformer adalah throughput encoder MediaCodec
hardware untuk kasus penggunaan tanpa pemrosesan efek yang berat. Hal ini kemungkinan akan memengaruhi implementasi lainnya dengan cara yang sama. Misalnya, fitur transcoding yang kompatibel dengan platform memiliki performa yang mirip dengan
Transformer.
Pratinjau debug aplikasi demo mengurangi throughput secara signifikan, jadi nonaktifkan fitur pratinjau saat menguji dengan build rilis aplikasi demo untuk mendapatkan gambaran performa yang realistis.