Pemecahan masalah


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.