Transformer를 사용하면 동영상, 텍스트, 이미지 등 여러 미디어 애셋을
이미지, 오디오 파일을 생성하여 Composition
를 만듭니다.
컴포지션 내보내기
변환을 적용하려는 경우
(예: 효과 또는 자르기 편집)를 MediaItem
에 추가하려면
EditedMediaItem
변환이 적용된 애셋을 나타냅니다.
그런 다음 EditedMediaItem
객체를 결합하여
EditedMediaItemSequence
예를 들어 두 개의 수정된 속성이 있는 EditedMediaItemSequence
를 만들 수 있습니다.
동영상 EditedMediaItemSequence
내의 항목은 순차적으로 정렬되며
겹치지 않게 하는 것입니다.
Composition
은 하나 이상의 EditedMediaItemSequence
의 조합입니다.
객체입니다. Composition
의 모든 EditedMediaItemSequence
객체가 혼합됨
함께 사용하여 동영상 및 오디오 애셋을 결합할 수 있습니다.
변환기를 사용하여 Composition
객체를 내보낼 수 있습니다.
다음은 두 개의 동영상 애셋으로 구성된 동영상 애셋을 만들고 내보내는 예입니다. 오디오 트랙이 오버레이된 편집 동영상 클립:
Kotlin
val transformer = ... // Set up Transformer instance val video1 = EditedMediaItem.Builder( MediaItem.fromUri(video1Uri)) .build() val video2 = EditedMediaItem.Builder( MediaItem.fromUri(video2Uri)) .build() val videoSequence = EditedMediaItemSequence( video1, video2) val backgroundAudio = EditedMediaItem.Builder( MediaItem.fromUri(audioUri)) .build() val backgroundAudioSequence = EditedMediaItemSequence( ImmutableList.of(backgroundAudio), /* isLooping= */ true) // Loop audio track through duration of videoSequence val composition = Composition.Builder( videoSequence, backgroundAudioSequence) .build() val filePath = ... // Provide file path to save Composition transformer.start(composition, filePath)
자바
Transformer transformer = ... // Set up Transformer instance EditedMediaItem video1 = new EditedMediaItem.Builder( MediaItem.fromUri(video1Uri)) .build(); EditedMediaItem video2 = new EditedMediaItem.Builder( MediaItem.fromUri(video2Uri)) .build(); EditedMediaItemSequence videoSequence = new EditedMediaItemSequence( video1, video2); EditedMediaItem backgroundAudio = new EditedMediaItem.Builder( MediaItem.fromUri(audioUri)) .build(); EditedMediaItemSequence backgroundAudioSequence = new EditedMediaItemSequence( ImmutableList.of(backgroundAudio), /* isLooping= */ true); // Loop audio track through duration of videoSequence String filePath = ... // Provide file path to save Composition Composition composition = new Composition.Builder( videoSequence, backgroundAudioSequence) .build(); transformer.start(composition, filePath);
지원되는 사용 사례의 예
이 목록은 Transformer API의 Transformer API 사용 사례를 컴포지션에서 지원합니다.
- 오디오, 이미지, 동영상 애셋을 순차적으로 결합합니다. 하지만 모든 항목은 한 시퀀스는 동일한 트랙을 사용해야 합니다. 예를 들어 특정 시퀀스를 오디오 전용 파일과 동영상 파일을 차례로 포함합니다.
- 동영상 애셋에 백그라운드 오디오 추가
- 컴포지션에 효과 추가
- HDR 입력을 SDR에 톤 매핑하여 더 나은 화질 SDR 출력을 생성합니다.
현재 제한사항
컴포지션 내의 시퀀스는 다음에 설명된 조건을 충족해야 합니다.
Transformer.start()
또한 다음 작업은
음악작품:
- 오프셋이 있는
EditedMediaItemSequence
의 재생을 시작합니다. - 동영상 또는 오디오 트랙 크로스페이딩
기능을 요청함
Transformer API에 대한 기능 요청이 있는 경우 Media3 GitHub 저장소.