เมื่อใช้ Transformer คุณจะรวมเนื้อหาสื่อ
หลายรายการเข้าด้วยกันได้ เช่น วิดีโอ
รูปภาพ และไฟล์เสียงเพื่อสร้าง Composition
การส่งออกการเรียบเรียง
วิธีใช้การเปลี่ยนรูปแบบ
(เช่น เอฟเฟกต์หรือการตัดแต่ง) ใน MediaItem
คุณควรสร้างองค์ประกอบ
EditedMediaItem
เพื่อแสดงเนื้อหาที่มีการเปลี่ยนรูปแบบ
จากนั้นสามารถเรียงต่อกันออบเจ็กต์ EditedMediaItem
รายการเข้าด้วยกันเพื่อสร้าง
EditedMediaItemSequence
ตัวอย่างเช่น คุณสามารถสร้าง EditedMediaItemSequence
ที่มีการแก้ไข 2 รายการ
วิดีโอ รายการใน EditedMediaItemSequence
จะเรียงลำดับตามกันและ
ไม่ซ้อนทับกันตามเวลา
Composition
เป็นชุดค่าผสมของ EditedMediaItemSequence
อย่างน้อย 1 รายการ
ออบเจ็กต์ วัตถุทั้ง EditedMediaItemSequence
รายการใน Composition
ผสมกัน
ทำให้คุณรวมเนื้อหาวิดีโอและเสียงไว้ด้วยกันได้
คุณส่งออกออบเจ็กต์ Composition
รายการได้โดยใช้ Transformer
ต่อไปนี้คือตัวอย่างการสร้างและส่งออกชิ้นงานวิดีโอที่ประกอบด้วย วิดีโอคลิปที่ตัดต่อแล้วซ้อนทับกับแทร็กเสียง:
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);
ตัวอย่าง Use Case ที่รองรับ
นี่เป็นรายการกรณีการใช้งานโดยสังเขปที่ Transformer API รองรับการเรียบเรียงเพลง:
- การรวมเนื้อหาเสียง รูปภาพ และวิดีโอตามลำดับ อย่างไรก็ตาม รายการทั้งหมด ในลำดับต้องมีแทร็กเดียวกัน ตัวอย่างเช่น คุณไม่สามารถมีลำดับ ที่มีไฟล์เสียงเท่านั้น ตามด้วยไฟล์วิดีโอ
- การเพิ่มเสียงที่เล่นอยู่เบื้องหลังลงในเนื้อหาวิดีโอ
- การเพิ่มเอฟเฟกต์ในการเรียบเรียง
- การแมปโทนสี HDR ที่ป้อนเป็น SDR เพื่อสร้างเอาต์พุต SDR ที่มีคุณภาพของภาพที่ดียิ่งขึ้น
ข้อจำกัดปัจจุบัน
ลำดับในการเรียบเรียงต้องเป็นไปตามเงื่อนไขที่ระบุไว้ใน
Transformer.start()
นอกจากนี้ ระบบยังไม่รองรับการดำเนินการต่อไปนี้เมื่อทำงานร่วมกับ
การเรียบเรียง:
- เริ่มเล่น
EditedMediaItemSequence
ด้วยออฟเซ็ต - แทร็กเสียงหรือแทร็กวิดีโอครอสเฟด
คำขอฟีเจอร์
หากคุณมีคำขอฟีเจอร์สำหรับ Transformer API โปรดแจ้งปัญหาใน ที่เก็บ Media3 GitHub