맞춤설정

Transformer의 동작을 제어하려면 API 노출 영역에서 옵션을 구성하거나 인터페이스의 맞춤 구현을 작성하고 이를 전달하여 기능을 완전히 대체할 수 있습니다. 이 페이지에서는 몇 가지 예를 설명합니다.

코덱 구성 제어

기본적으로 기기의 하드웨어 인코더가 요청된 출력 해상도를 허용하지 않으면 Transformer는 지원되는 해상도로 돌아갑니다. 예를 들어, Transformer는 하드웨어 인코더에서 요구하는 대로 출력 너비와 높이를 2 또는 16의 배수로 정렬할 수 있습니다. 필요한 출력 해상도를 생성할 수 없는 경우 Transformer가 오류를 발생시키도록 이 동작을 사용 중지할 수 있습니다.

Kotlin

transformerBuilder
    .setEncoderFactory(
        DefaultEncoderFactory.Builder(context)
            .setEnableFallback(false)
            .build())

Java

transformerBuilder
    .setEncoderFactory(
        new DefaultEncoderFactory.Builder(context)
            .setEnableFallback(false)
            .build());

마찬가지로 DefaultEncoderFactorysetRequestedVideoEncoderSettings 옵션이 있는 커스텀 인코딩 설정 사용을 지원합니다.

또한 인코더 및 디코더의 팩토리를 완전히 교체하여 코덱 설정 방법을 완전히 제어할 수 있습니다.

커스텀 Muxer

Transformer.setMuxerFactory를 호출하여 미디어 컨테이너를 작성하기 위한 맞춤 Muxer를 설정할 수 있습니다. 예를 들어 애플리케이션 수준에서 자체 Muxer를 구현하는 경우 Muxer 인터페이스를 구현하는 래퍼를 작성한 다음 setMuxerFactory를 사용하여 Transformer에 삽입할 수 있습니다.