Transformer を使用すると、複数のメディア アセット(動画や、
画像、音声ファイルを作成して、Composition
を作成します。
楽曲のエクスポート
変換を適用するには
編集(エフェクトやトリミング編集など)を MediaItem
にコピーするには、
EditedMediaItem
を使用して、変換が適用されたアセットを表します。
その後、EditedMediaItem
オブジェクトを連結して、
EditedMediaItemSequence
。
たとえば、2 つの編集を加えた EditedMediaItemSequence
を作成できます。
できます。EditedMediaItemSequence
内のアイテムは順番に並べ替えられ、
重複しないようにする必要があります
Composition
は、1 つ以上の EditedMediaItemSequence
を組み合わせたものです。
説明します。Composition
内のすべての EditedMediaItemSequence
オブジェクトが混在しています。
動画アセットと音声アセットを組み合わせることができます。
Composition
オブジェクトは、Transformer を使用してエクスポートできます。
2 つの動画アセットで構成される動画アセットを作成し、エクスポートする例を 音声トラックがオーバーレイされた編集済み動画クリップ:
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)
Java
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 が実装するユースケースの一部であり、 Compositions では以下をサポートしています。
- 音声、画像、動画のアセットを順次組み合わせる。ただし、すべてのアイテムが 同じトラックである必要があります。たとえば、単語にシーケンスを その後に動画ファイルが続きます。
- 動画アセットにバックグラウンド音声を追加する。
- コンポジションにエフェクトを追加する。
- HDR 入力を SDR にトーン マッピングすることで、より高画質な SDR 出力を生成します。
現時点における制約
コンポジション内のシーケンスは、
Transformer.start()
。
さらに、
構成:
- オフセットで
EditedMediaItemSequence
の再生を開始します。 - 動画トラックや音声トラックのクロスフェード
機能リクエスト
Transformer API の機能リクエストがある場合は、 Media3 GitHub リポジトリ。