Per controllare il comportamento di Transformer, puoi configurare le opzioni nella piattaforma API o sostituire del tutto le funzionalità scrivendo implementazioni personalizzate di interfacce e passarle. In questa pagina vengono descritti alcuni esempi.
Controlla la configurazione del codec
Per impostazione predefinita, Transformer utilizzerà una risoluzione supportata se il codificatore hardware del dispositivo non accetta la risoluzione di output richiesta. Per Ad esempio, Transformer può allineare la larghezza e l'altezza dell'output in modo che siano un multiplo di 2 o 16 come spesso richiesto dai codificatori hardware. Puoi disattivare questo comportamento in modo che Transformer generi un errore se non riesce a generare risoluzione di output:
Kotlin
transformerBuilder .setEncoderFactory( DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build())
Java
transformerBuilder .setEncoderFactory( new DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build());
Analogamente, DefaultEncoderFactory
supporta anche l'utilizzo della codifica personalizzata
le impostazioni con l'opzione setRequestedVideoEncoderSettings
.
Puoi anche sostituire completamente gli impianti per encoder e decoder in modo da ottenere controllo completo sulla configurazione dei codec.
Muxer personalizzati
Puoi impostare un selettore personalizzato per scrivere container multimediali chiamando
Transformer.setMuxerFactory
. Ad esempio, se implementi il tuo muxer in
a livello di applicazione, puoi scrivere un wrapper che implementi l'elemento Muxer
e poi usa setMuxerFactory
per inserirlo in Transformer.