Dépannage


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.

<ph type="x-smartling-placeholder">

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.