Transformer의 동작을 제어하려면 API 노출 영역에서 옵션을 구성하면 됩니다. 또는 커스텀 구현을 작성하여 기능을 완전히 대체하거나 전달할 수 있습니다. 이 페이지에서는 몇 가지 예를 설명합니다.
제어 코덱 구성
다음과 같은 경우 기본적으로 Transformer는 지원되는 해상도로 되돌아갑니다. 기기의 하드웨어 인코더가 요청된 출력 해상도를 허용하지 않습니다. 대상 예를 들어 Transformer는 출력 너비와 높이를 2의 배수로 정렬할 수 있습니다. 또는 16 또는 16을 사용해야 합니다. 이 동작을 사용 중지할 수 있습니다. 필요한 값을 생성할 수 없는 경우 Transformer는 대신 출력 해상도:
Kotlin
transformerBuilder .setEncoderFactory( DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build())
자바
transformerBuilder .setEncoderFactory( new DefaultEncoderFactory.Builder(context) .setEnableFallback(false) .build());
마찬가지로 DefaultEncoderFactory
는 맞춤 인코딩 사용을 지원합니다.
setRequestedVideoEncoderSettings
옵션으로 변경할 수 있습니다.
또한 인코더와 디코더를 위한 팩토리를 완전히 교체하여 코덱 설정 방법을 완전히 제어할 수 있습니다.
맞춤 뮤서
다음을 호출하여 미디어 컨테이너 작성을 위한 커스텀 Muxer를 설정할 수 있습니다.
Transformer.setMuxerFactory
예를 들어,
Muxer
를 구현하는 래퍼를 작성할 수 있습니다.
인터페이스하고 setMuxerFactory
를 사용하여 Transformer에 삽입합니다.