- Perché non riesco ad accedere ai file locali nell'app demo?
- Perché l'esportazione non riesce su un dispositivo specifico?
- Transformer supporta la trasformazione (o la registrazione) di contenuti multimediali remoti?
- Transformer supporta l'ingresso 8k?
- Qual è la relazione tra Transformer e la transcodifica multimediale compatibile con la piattaforma?
- Come faccio a ridurre la latenza dell'esportazione o aumentare la velocità effettiva?
Perché non riesco ad accedere ai file locali nell'app demo?
Applicazione dello spazio di archiviazione con ambito da Android 11 (livello API 30) impedisce l'accesso diretto al file system. Per i test manuali durante puoi accedere ai file locali aggiungendo il comando esterno di gestione autorizzazione di archiviazione nel file manifest dell'app demo:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
Quindi concedi l'autorizzazione tramite adb:
adb shell appops set --uid androidx.media3.demo.transformer \ MANAGE_EXTERNAL_STORAGE allow
Perché l'esportazione non riesce su un dispositivo specifico?
Segnala un problema relativo al problema Media3 tracker con informazioni sufficienti per riprodurre il problema. È possibile aggiungere soluzioni alternative per problemi specifici del dispositivo libreria per migliorare la compatibilità nel tempo.
Transformer supporta la trasformazione (o la registrazione) di contenuti multimediali remoti?
Transformer supporta gli stream progressivi remoti, inclusi i container di file multimediali come MP4.
In condizioni di rete molto cattive, l'esportazione potrebbe non riuscire a causa del buffering
un supporto remoto per troppo tempo attiva i controlli nel muxer allo scopo di
identificare che la pipeline è bloccata. Puoi ignorare il comportamento predefinito
impostazione maxDelayBetweenMuxerSamplesMs
su Transformer.Builder
:
Kotlin
Transformer.Builder(context) .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET) .build()
Java
new Transformer.Builder(context) .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET) .build();
Se superi la soglia di C.TIME_UNSET
, il timeout viene rimosso completamente, ma se l'app viene eseguita il giorno
in cui MediaCodec
può bloccarsi, potresti voler impostare un valore più grande diverso da zero
timeout.
Transformer supporta l'input 8K?
Transformer è implementato in modo indipendente dal formato, quindi non limita dei video in 8K, ma le funzionalità hardware del dispositivo potrebbero indicare che e l'esportazione non è riuscita. Ad esempio, anche sui dispositivi in grado di acquisire 8K, potrebbe non essere possibile decodificare e ricodificare un video 8K a causa del superamento le risorse RAM o il codec hardware disponibili.
Qual è la relazione tra Transformer e la transcodifica multimediale compatibile con la piattaforma?
Transcodifica multimediale compatibile è una funzionalità della piattaforma Android di Android 12 (livello API 31) che converte fino a un minuto di durata nei formati supportati dall'app. Se attivare l'utilizzo di questa funzionalità, leggere un file multimediale in un formato non compatibile ne comporta la transcodifica on demand e il risultato viene memorizzato nella cache per essere letto in un secondo momento operazioni.
Transformer supporta anche il formato conversione, è disponibile come libreria di supporto e l'app ha il controllo completo dell'operazione di transcodifica.
Come faccio a ridurre la latenza dell'esportazione o aumentare la velocità effettiva?
Transformer si affida a MediaCodec
per la decodifica con accelerazione hardware e
e OpenGL per l'elaborazione dei fotogrammi video. In base alle nostre misurazioni effettuate su
dispositivi tipici, il fattore limitante della velocità effettiva di Transformer è l'hardware
Velocità effettiva del codificatore MediaCodec
per casi d'uso senza effetti intensivi
e l'elaborazione dei dati. È probabile che questo influisca nello stesso modo su altre implementazioni. Per
Ad esempio, la funzione di transcodifica compatibile con la piattaforma ha prestazioni simili
Transformer.
L'anteprima di debug dell'app demo riduce notevolmente la velocità effettiva, quindi disattiva funzionalità in anteprima durante il test con una build di release dell'app demo per ottenere un un'idea realistica del rendimento.