- Pourquoi ne puis-je pas accéder aux fichiers locaux dans l'application de démonstration ?
- Pourquoi l'exportation échoue-t-elle sur un appareil spécifique ?
- Transformer permet-il de transformer (ou d'enregistrer) des contenus multimédias distants ?
- Transformer est-il compatible avec l'entrée 8K ?
- Quel est le lien entre Transformer et le transcodage multimédia compatible avec les plates-formes ?
- Comment réduire la latence d'exportation ou augmenter le débit ?
Pourquoi ne puis-je pas accéder aux fichiers locaux dans l'application de démonstration ?
Application de l'espace de stockage cloisonné à partir d'Android 11 (niveau d'API 30) empêche l'accès direct au système de fichiers. Pour les tests manuels pendant il est possible d'accéder aux fichiers locaux en ajoutant le service de gestion autorisation de stockage dans le fichier manifeste de l'application de démonstration:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
Accordez ensuite l'autorisation via adb:
adb shell appops set --uid androidx.media3.demo.transformer \ MANAGE_EXTERNAL_STORAGE allow
Pourquoi l'exportation échoue-t-elle sur un appareil spécifique ?
Veuillez signaler le problème Media3 traceur avec suffisamment d'informations pour reproduire le problème. Des solutions de contournement des problèmes spécifiques à l'appareil peuvent être ajoutées à pour améliorer la compatibilité au fil du temps.
Transformer peut-il transformer (ou enregistrer) des contenus multimédias distants ?
Transformer est compatible avec les flux progressifs distants, y compris les conteneurs de fichiers multimédias comme le MP4.
Si le réseau est de très mauvaise qualité, l'exportation peut échouer, car la mise en mémoire tampon
des contrôles à distance trop longs pour déclencher des vérifications dans le multiplexeur qui sont destinées à
identifier que le pipeline est bloqué. Vous pouvez ignorer le comportement par défaut
en configurant maxDelayBetweenMuxerSamplesMs
sur Transformer.Builder
:
Kotlin
Transformer.Builder(context) .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET) .build()
Java
new Transformer.Builder(context) .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET) .build();
La transmission de C.TIME_UNSET
supprime complètement le délai avant expiration, mais si votre application s'exécute sur
chipsets où MediaCodec
peut se bloquer, vous pouvez définir une valeur supérieure à zéro
le délai avant expiration.
Transformer est-il compatible avec l'entrée 8K ?
Transformer est implémenté indépendamment du format, de sorte qu'il ne limite pas de la vidéo 8K, mais les capacités matérielles de l'appareil l'exportation échouera. Par exemple, même sur les appareils compatibles avec la résolution 8K, vous ne pourrez peut-être pas décoder ni réencoder une vidéo 8K en raison d'un dépassement le codec matériel ou les ressources RAM disponibles.
Quel est le lien entre Transformer et le transcodage multimédia compatible avec la plate-forme ?
Transcodage de contenus multimédias compatibles est une fonctionnalité de la plate-forme Android d'Android 12 (niveau d'API 31) qui convertit d'une durée maximale d'une minute dans des formats pris en charge par l'application. Si vous accepter d'utiliser cette fonctionnalité ou lire un fichier multimédia dans un format incompatible le code est transcodé à la demande et le résultat est mis en cache pour une lecture ultérieure ; opérations.
Transformer prend également en charge les des conversions, mais elle est disponible en tant que bibliothèque Support et l'application contrôle entièrement opération de transcodage.
Comment réduire la latence d'exportation ou augmenter le débit ?
Transformer s'appuie sur MediaCodec
pour le décodage avec accélération matérielle
et OpenGL pour le traitement
des images vidéo. Sur la base de
nos mesures sur
le facteur limitant du débit de Transformer est
Débit de l'encodeur MediaCodec
pour les cas d'utilisation sans effets lourds
en cours de traitement. Cela est susceptible d'affecter les autres implémentations de la même manière. Pour
Par exemple, la fonctionnalité de transcodage compatible
avec la plate-forme offre des performances
"Transformateur".
L'aperçu de débogage de l'application de démonstration réduit considérablement le débit. Par conséquent, désactivez preview lorsque vous effectuez des tests avec un build de l'application de démonstration pour obtenir une idée réaliste des performances.