Unterstützte Formate

Unterstützte Formate für ExoPlayer finden Sie eine Einführung in Medienformate im Allgemeinen. Dieselben Einschränkungen beim Laden, Extrahieren und Decodierungsströme können mit Transformer angewendet werden, obwohl Transformer das nicht unterstützt Gebündelte Softwaredecodermodule von ExoPlayer

Transformer nutzt auch MediaCodec für die Codierung und muss ein Multiplexing durchführen, oder mux, Ausgabemediendateien, die die unterstützten Ausgabeformate beschränkt. Weitere Informationen finden Sie unter MediaCodec-Video-Codecs finden Sie weitere Informationen zu Codierungseinschränkungen und MediaMuxer finden Sie Einschränkungen für den Ausgabemediencontainer. Nur Transformator gibt MP4-Dateien aus.

Standardmäßig verwendet Transformer MediaMuxer, InAppMuxer ist jedoch noch in der Entwicklung ist optional verfügbar, um einige der Einschränkungen von MediaMuxer in Bezug auf Referenzframe-Strukturen und unterstützte Beispielformate. Der Standard-Muxer wird in einer zukünftigen Version zum In-App-Muxer werden.

Bildunterstützung

Transformer verwendet BitmapFactory, um alle Bild-Assets zu laden und zu decodieren. Transformer unterstützt alle Formate, die BitmapFactory unterstützt. Weitere Informationen finden Sie unter Unterstützung von Bildern für unterstützte Image-Typen. Bei Multi-Picture-Formaten (z.B. GIFs) ein einzelnes Bild Frame aus dem Container wird angezeigt, wenn DefaultAssetLoaderFactory verwendet.

Sonderformate

Transformer unterstützt Eingaben in neueren Medienformaten, die spezielle im Vergleich zu herkömmlichen Formaten.

HDR-Videos verarbeiten

Immer mehr Geräte unterstützen jetzt HDR-Video aufgenommen, sodass Sie lebendigere, und einen größeren Helligkeitsbereich.

Transformer unterstützt die Bearbeitung von HDR-Videos ab Android 13 (API-Level 33) auf Geräten mit der erforderlichen Codierungsunterstützung. Beim Bearbeiten von HDR-Videos kann jeder GL Videoeffekte müssen 16-Bit-Gleitkomma-Farbkomponenten und BT.2020 verarbeiten können. Farbraum. HDR_MODE_KEEP_HDR ist der Standardmodus beim Erstellen des Composition. Wenn die HDR-Bearbeitung nicht unterstützt wird, verwendet HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL.

Die Umwandlung von HDR in SDR, auch als Tone-Mapping bezeichnet, wird von Android unterstützt Ab Version 10 (API-Level 29) auf Geräten mit erforderlicher Decodierung und OpenGL Support. Das ist hilfreich, wenn du HDR-Medien mit anderen Apps oder Diensten teilst, die Aufnahme von HDR-Inhalten unterstützen. So aktivieren Sie die Tone-Mapping mithilfe des OpenGL-Aufrufs: setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL) beim Erstellen der Composition. Ab Android 12 (API-Level 31) MediaCodec unterstützt auch die Tonzuordnung auf einigen Geräten, darunter alle Geräte mit Android 13 oder höher, die HDR-Videos aufnehmen kann. Um die Tonzuordnung zu aktivieren, verwenden Sie MediaCodec ruft setHdrMode(HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC) an.

Umgang mit Medien in Zeitlupe

Videos in Zeitlupe enthalten Metadaten, die angeben, wie schnell jeder Abschnitt abgespielt werden soll. Bei der Abflachung wird eine neue basierend auf dem Zeitlupenvideo, aber in dem die Abschnitte beschleunigt werden. aufgrund von Metadaten verlangsamt oder verlangsamt, damit sie auch auf Playern korrekt wiedergegeben werden. die keine Metadaten in Zeitlupe anwenden.

Verwende den setFlattenForSlowMotion-Builder, um Zeitlupen-Streams zusammenzufassen für EditedMediaItem.

Kotlin

val editedMediaItem =
    EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build()
val transformer =
    Transformer.Builder(context).addListener(transformerListener).build()
transformer.start(editedMediaItem, outputPath)

Java

EditedMediaItem editedMediaItem =
    new EditedMediaItem.Builder(inputMediaItem).setFlattenForSlowMotion(true).build();
Transformer transformer =
    new Transformer.Builder(context).addListener(transformerListener).build();
transformer.start(editedMediaItem, outputPath);

So kannst du Videos in Zeitlupe unterstützen, mit diesen speziellen Formaten arbeiten. Du musst nur die Games speichern und abspielen, eine vereinfachte Version des Videos anstelle des Originals.