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