Fehlerbehebung


Warum kann ich in der Demo-App nicht auf lokale Dateien zugreifen?

Erzwingung von begrenztem Speicher ab Android 11 (API-Level 30) verhindert den direkten Zugriff auf das Dateisystem. Für manuelle Tests während können Sie auf lokale Dateien zugreifen, indem Sie die Funktion Speicherberechtigung im Demo-App-Manifest:

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

Erteilen Sie dann die Berechtigung über ADB:

adb shell appops set --uid androidx.media3.demo.transformer \
    MANAGE_EXTERNAL_STORAGE allow

Warum schlägt der Export auf einem bestimmten Gerät fehl?

Bitte melden Sie ein Problem mit dem Media3-Problem. Tracker mit genügend Informationen um das Problem zu reproduzieren. Behelfslösungen für gerätespezifische Probleme finden Sie um die Kompatibilität zu verbessern.

Unterstützt Transformer die Umwandlung (oder Aufnahme) von Remote-Medien?

Transformer unterstützt progressive Remote-Streams, einschließlich Mediendateicontainern wie MP4.

Bei sehr schlechten Netzwerkbedingungen kann der Export aufgrund der Zwischenspeicherung wenn Remote-Medien zu lange eine Überprüfung im Muxer auslösen, ob die Pipeline hängen geblieben ist. Sie können das Standardverhalten überschreiben, maxDelayBetweenMuxerSamplesMs wird auf Transformer.Builder festgelegt:

Kotlin

Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build()

Java

new Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build();

Durch die Übergabe von C.TIME_UNSET entfällt das Zeitlimit vollständig. Chipsätze, bei denen MediaCodec hängen bleibt, sollten Sie einen größeren Wert ungleich null festlegen. Timeout festlegen.

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

Unterstützt der Transformer 8k-Eingaben?

Transformer wird formatunabhängig implementiert, schränkt sie also nicht ein aber aufgrund der Hardwarefunktionen des Geräts der Export nicht erfolgreich sein kann. Selbst auf Geräten, die 8K-Auflösung unterstützen, ist es eventuell nicht möglich, ein 8K-Video zu decodieren und neu zu codieren, den verfügbaren Hardware-Codec oder RAM-Ressourcen.

In welchem Zusammenhang steht Transformer mit der plattformkompatiblen Medientranscodierung?

Transcodierung kompatibler Medien ist eine Android-Plattformfunktion von Android 12 (API-Level 31), die bis zu einer Minute lang in von der App unterstützte Formate konvertieren. Wenn Sie aktivieren, um Mediendateien in einem inkompatiblen Format zu lesen wird bei Bedarf transcodiert und das Ergebnis wird zum späteren Lesen im Cache gespeichert. Geschäftsabläufe.

Transformer unterstützt auch das Format Conversion, aber steht er als Support-Bibliothek zur Verfügung und die App hat die volle Kontrolle Transcodierungsvorgang ist.

Wie kann ich die Exportlatenz verringern oder den Durchsatz erhöhen?

Der Transformer nutzt MediaCodec für die hardwarebeschleunigte Decodierung und und OpenGL zum Verarbeiten von Videoframes verwenden. Basierend auf unseren Messungen typischer Geräte ist der begrenzende Faktor für den Durchsatz des Transformers die Hardware Encoder-Durchsatz von MediaCodec für Anwendungsfälle ohne gravierende Auswirkungen Datenverarbeitung. Dies wirkt sich wahrscheinlich in der gleichen Weise auf andere Implementierungen aus. Für hat die plattformkompatible Transcodierungsfunktion eine ähnliche Leistung Transformator.

Die Debugging-Vorschau der Demo-App reduziert den Durchsatz erheblich. Daher sollten Sie die wenn Sie einen Release-Build der Demo-App testen, um eine realistische Vorstellung von der Leistung.