- Warum kann ich in der Demo-App nicht auf lokale Dateien zugreifen?
- Warum schlägt der Export auf einem bestimmten Gerät fehl?
- Unterstützt der Transformer die Umwandlung (oder Aufnahme) von Remote-Medien
- Unterstützt der Transformator eine 8K-Eingabe?
- In welchem Zusammenhang steht Transformer mit der plattformkompatiblen Medientranscodierung?
- Wie kann ich die Exportlatenz verringern oder den Durchsatz erhöhen?
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.
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.