All Products
Search
Document Center

Intelligent Media Management:GenerateVideoPlaylist

Last Updated:Jul 10, 2026

Membuat daftar putar transkoding just-in-time yang menghasilkan file M3U8 dari file video. Daftar putar dapat diputar segera setelah pembuatan, dan transkoding dilakukan sesuai permintaan berdasarkan kemajuan pemutaran. Dibandingkan dengan transkoding offline, hal ini secara signifikan mengurangi pengatur waktu tunggu transkoding dan menurunkan biaya transkoding serta penyimpanan.

Deskripsi operasi

  • Sebelum menggunakan operasi ini, pastikan Anda memahami penagihan Intelligent Media Management (IMM) dan harganya.

  • Sebelum memanggil operasi ini, pastikan ada proyek aktif di wilayah saat ini. Untuk informasi lebih lanjut, lihat Manajemen proyek.

  • Secara default, operasi ini hanya memproses satu aliran video, audio, atau subtitle. Anda dapat mengonfigurasi jumlah aliran video, audio, dan subtitle yang akan diproses.
    Penting Parameter Video, Audio, dan Subtitle di bawah Targets tidak boleh kosong semua. Nilai kosong menunjukkan bahwa pemrosesan terkait dinonaktifkan. Misalnya, jika Video kosong, pemrosesan video dinonaktifkan dan file TS output tidak mengandung aliran video.
  • Durasi minimum video sumber adalah sekitar 0,x detik, yang bervariasi tergantung pada laju frame output.

  • Operasi ini mendukung pembuatan Media Playlist dan Master Playlist. Perhatikan deskripsi data deret waktu dalam dokumen ini.

  • Ini adalah operasi sinkron. Transkoding sinkron atau asinkron hanya dipicu selama pemutaran atau pra-transkoding. Anda dapat mengatur parameter Notifikasi untuk menerima hasil tugas transkoding melalui notifikasi Paket.

  • Untuk informasi lebih lanjut tentang fitur ini, lihat Transkoding just-in-time.

  • Pemrosesan data OSS juga menyediakan fitur pembuatan daftar putar, tetapi hanya mendukung pembuatan Media Playlist dengan parameter yang disederhanakan. Untuk detailnya, lihat Membuat daftar putar di pemrosesan data OSS.

Coba sekarang

Coba API ini di OpenAPI Explorer tanpa perlu penandatanganan manual. Panggilan yang berhasil akan secara otomatis menghasilkan contoh kode SDK sesuai dengan parameter Anda. Unduh kode tersebut dengan kredensial bawaan yang aman untuk penggunaan lokal.

Test

RAM authorization

Tabel berikut menjelaskan otorisasi yang diperlukan untuk memanggil API ini. Anda dapat menentukannya dalam kebijakan Resource Access Management (RAM). Kolom pada tabel dijelaskan sebagai berikut:

  • Action: Aksi yang dapat digunakan dalam elemen Action pada pernyataan kebijakan izin RAM untuk memberikan izin guna melakukan operasi tersebut.

  • API: API yang dapat Anda panggil untuk melakukan aksi tersebut.

  • Access level: Tingkat akses yang telah ditentukan untuk setiap API. Nilai yang valid: create, list, get, update, dan delete.

  • Resource type: Jenis resource yang mendukung otorisasi untuk melakukan aksi tersebut. Ini menunjukkan apakah aksi tersebut mendukung izin tingkat resource. Resource yang ditentukan harus kompatibel dengan aksi tersebut. Jika tidak, kebijakan tersebut tidak akan berlaku.

    • Untuk API dengan izin tingkat resource, jenis resource yang diperlukan ditandai dengan tanda bintang (*). Tentukan Nama Sumber Daya Alibaba Cloud (ARN) yang sesuai dalam elemen Resource pada kebijakan.

    • Untuk API tanpa izin tingkat resource, ditampilkan sebagai All Resources. Gunakan tanda bintang (*) dalam elemen Resource pada kebijakan.

  • Condition key: Kunci kondisi yang didefinisikan oleh layanan. Kunci ini memungkinkan kontrol granular, berlaku baik hanya untuk aksi maupun untuk aksi yang terkait dengan resource tertentu. Selain kunci kondisi spesifik layanan, Alibaba Cloud menyediakan serangkaian common condition keys yang berlaku di semua layanan yang didukung RAM.

  • Dependent action: Aksi dependen yang diperlukan untuk menjalankan aksi tersebut. Untuk menyelesaikan aksi tersebut, pengguna RAM atau role RAM harus memiliki izin untuk melakukan semua aksi dependen.

Action

Access level

Resource type

Condition key

Dependent action

imm:GenerateVideoPlaylist

none

*Proyek.

acs:imm:{#regionId}:{#accountId}:project/{#ProjectName}

None None

Parameter permintaan

Parameter

Type

Required

Description

Example

ProjectName

string

Yes

Nama proyek. Untuk informasi tentang cara mendapatkan nama proyek, lihat Membuat proyek.

immtest

UserData

string

No

Informasi kustom, yang dikembalikan dalam notifikasi Paket asinkron. Ini membantu Anda mengaitkan notifikasi Paket dalam sistem Anda. Panjang maksimum: 2.048 byte.

{"ID": "user1","Name": "test-user1","Avatar": "http://example.com?id=user1"}

SourceURI

string

Yes

URI OSS video.

URI OSS mengikuti format oss://${Bucket}/${Object}, di mana ${Bucket} adalah nama Bucket OSS di wilayah yang sama dengan proyek saat ini, dan ${Object} adalah jalur lengkap file termasuk ekstensi nama file.

Catatan

Hanya Bucket OSS dengan Jenis Penyimpanan Standar yang didukung. Bucket dengan daftar putih Perlindungan hotlink yang dikonfigurasi tidak didukung.

oss://test-bucket/test-source-object/video.mp4

SourceStartTime

number

No

Waktu mulai untuk membuat daftar putar. Unit: detik. Nilai valid:

  • 0 (default) atau kosong: dimulai dari awal video sumber.

  • Nilai lebih besar dari 0: dimulai dari titik waktu tertentu dalam video sumber.

Catatan

Anda dapat mengatur parameter ini bersama dengan SourceDuration untuk membuat daftar putar untuk bagian tertentu dari video sumber.

0

SourceDuration

number

No

Durasi untuk membuat daftar putar. Unit: detik. Nilai valid:

  • 0 (default) atau kosong: berlanjut hingga akhir video sumber.

  • Nilai lebih besar dari 0: berlanjut selama durasi tertentu dari waktu mulai daftar putar.

Catatan

Jika titik waktu yang sesuai dengan parameter yang ditentukan melebihi akhir video sumber, nilai default digunakan.

0

SourceSubtitles

array<object>

No

Daftar subtitle yang akan ditambahkan. Nilai default: kosong. Maksimum dua subtitle didukung.

object

No

Informasi subtitle.

URI

string

Yes

URI OSS subtitle yang akan disematkan.

URI OSS mengikuti format oss://${Bucket}/${Object}, di mana ${Bucket} adalah nama Bucket OSS di wilayah yang sama dengan proyek saat ini, dan ${Object} adalah jalur lengkap file.

Catatan

Parameter MasterURI tidak boleh kosong, dan URI OSS oss://${Bucket}/${Object} dari subtitle harus berada di direktori yang sama atau subdirektori dari parameter MasterURI.

oss://test-bucket/test-object/subtitle/eng.vtt

Language

string

No

Bahasa subtitle. Nilai mengikuti standar ISO 639-2. Nilai default: kosong.

eng

MasterURI

string

No

URI OSS dari Master Playlist.

URI OSS mengikuti format oss://${Bucket}/${Object}, di mana ${Bucket} adalah nama Bucket OSS di wilayah yang sama dengan proyek saat ini, dan ${Object} adalah jalur lengkap file dengan ekstensi ".m3u8".

Catatan

Jika daftar putar memiliki input subtitle atau beberapa output Target, MasterURI diperlukan. URI subtitle atau URI Target harus berada di direktori yang sama atau subdirektori dari MasterURI.

oss://test-bucket/test-object/master.m3u8

Targets

array<object>

Yes

Array daftar putar transkoding just-in-time. Panjang array maksimum adalah 6. Setiap Target berkorespondensi dengan paling banyak satu Media Playlist video dan satu atau lebih Media Playlist subtitle.

Catatan

Jika lebih dari satu Target dikonfigurasi, parameter MasterURI tidak boleh kosong.

array<object>

No

Detail tugas transkoding just-in-time.

URI

string

No

Awalan URI OSS untuk file output transkoding just-in-time, termasuk file M3U8 dan file TS.

URI OSS mengikuti format oss://${Bucket}/${Object}, di mana ${Bucket} adalah nama Bucket OSS di wilayah yang sama dengan proyek saat ini, dan ${Object} adalah awalan jalur lengkap file tanpa ekstensi nama file.

  • Contoh: Jika URI adalah oss://test-bucket/test-object/output-video, file oss://test-bucket/test-object/output-video.m3u8 dan beberapa file oss://test-bucket/test-object/output-video-${token}-${index}.ts akan dibuat. ${token} adalah string unik yang dihasilkan berdasarkan parameter transkoding dan disertakan dalam tanggapan API. ${index} adalah Indeks nomor urut file TS dimulai dari 0.

Catatan

Jika parameter MasterURI tidak kosong, URI harus berada di direktori yang sama atau subdirektori dari parameter MasterURI.

oss://test-bucket/test-object/output-video

Video TargetVideo

No

Pengaturan parameter pemrosesan video. Nilai kosong (default) menunjukkan bahwa pemrosesan video dinonaktifkan dan file TS output tidak mengandung aliran video.

Catatan

Bidang Video dan Subtitle dalam Target yang sama saling eksklusif. Jika bidang Video diatur, bidang Subtitle diabaikan.

Audio TargetAudio

No

Pengaturan parameter pemrosesan audio. Nilai kosong (default) menunjukkan bahwa pemrosesan audio dinonaktifkan dan file TS output tidak mengandung aliran audio.

Catatan

Bidang Audio dan Subtitle dalam Target yang sama saling eksklusif. Jika bidang Audio diatur, bidang Subtitle diabaikan. Audio dan Video dapat diatur secara bersamaan. Audio menentukan informasi audio dalam video output. Anda juga dapat mengatur hanya Audio untuk menghasilkan output hanya audio.

Subtitle TargetSubtitle

No

Pengaturan parameter pemrosesan subtitle.

Catatan

Bidang Subtitle saling eksklusif dengan bidang Video dan Audio dalam Target yang sama. Subtitle hanya dibuat ketika Subtitle diatur secara independen.

TranscodeAhead

integer

No

Jumlah file TS yang ditranskode lebih awal saat transkoding just-in-time dipicu. Secara default, 2 menit video ditranskode lebih awal.

  • Contoh: Jika Duration adalah 10, nilai default TranscodeAhead adalah 12. Anda dapat menentukan parameter ini untuk mengontrol jumlah file transkoding ahead-of-time asinkron. Nilai valid: [10, 30].

12

Duration

number

No

Durasi pemutaran satu file TS. Unit: detik. Nilai default: 10. Nilai valid: [5, 15].

10

InitialTranscode

number

No

Durasi transkoding awal. Unit: detik. Nilai default: 30.

  • Jika nilai diatur ke 0, tidak ada pra-transkoding yang dilakukan.

  • Jika nilai kurang dari 0 atau melebihi panjang video sumber, seluruh video ditranskode secara awal.

  • Jika durasi yang ditentukan jatuh di tengah file TS, transkoding berlanjut hingga akhir file TS tersebut.

Catatan

Parameter ini terutama digunakan untuk mengurangi waktu tunggu untuk pemutaran pertama dan meningkatkan pengalaman pemutaran. Jika Anda ingin mengganti skenario VOD tradisional, coba transkode seluruh video secara awal.

30

InitialSegments

array

No

Array durasi file TS transkoding awal. Panjang array maksimum adalah 6. Nilai default: kosong. Parameter ini independen dari parameter Duration.

number

No

Durasi file TS transkoding awal. Nilai valid: [1, Duration].

  • Contoh: Jika array durasi TS transkoding awal adalah [2, 2, 4, 4, 8, 8], file TS di indeks 0 memiliki durasi 2, file TS di indeks 1 memiliki durasi 2, file TS di indeks 2 memiliki durasi 4, file TS di indeks 3 memiliki durasi 4, file TS di indeks 4 memiliki durasi 8, dan file TS di indeks 5 memiliki durasi 8.

Catatan

Menyesuaikan durasi file TS transkoding awal yang lebih kecil membuat pemuatan video lebih lancar.

2

Tags

object

No

Tag objek OSS yang akan ditambahkan ke file TS yang dibuat. Anda dapat menggunakan tag OSS untuk mengontrol siklus hidup file OSS.

Catatan

Nilai tag di tingkat ini digabungkan dengan Tags yang didefinisikan di tingkat induk untuk membentuk nilai tag untuk Target saat ini. Jika ada tag dengan nama yang sama, nilai di tingkat ini diutamakan.

string

No

Nilai tag.

{\"key1\":\"value1\"}

Tags

object

No

Tag objek OSS yang akan ditambahkan ke file TS yang dibuat. Anda dapat menggunakan tag untuk mengontrol siklus hidup file OSS.

{"key1": "value1", "key2": "value2"}

string

No

Nilai tag.

{"key1": "value1", "key2": "value2"}

CredentialConfig CredentialConfig

No

Biarkan parameter ini kosong kecuali Anda memiliki persyaratan khusus.

Konfigurasi otorisasi China. Parameter ini opsional. Untuk informasi lebih lanjut, lihat Menggunakan otorisasi berantai untuk mengakses resource entitas lain.

Notification Notification

No

Konfigurasi notifikasi Paket. Klik Notifikasi untuk detailnya. Untuk format pesan notifikasi asinkron, lihat Format pesan notifikasi asinkron.

OverwritePolicy

string

No

Kebijakan penimpaan ketika Media Playlist sudah ada. Nilai valid:

  • overwrite (default): menimpa Media Playlist yang ada.

  • skip-existing: melewatkan pembuatan dan mempertahankan Media Playlist yang ada.

overwrite

Elemen respons

Element

Type

Description

Example

object

Skema Respons.

RequestId

string

ID permintaan.

CA995EFD-083D-4F40-BE8A-BDF75FFF*****

Duration

number

Total durasi video output.

1082

Token

string

Token dari Master Playlist.

92376fbb-171f-4259-913f-705f7ee0****

MasterURI

string

URI OSS dari Master Playlist.

oss://test-bucket/test-object/master.m3u8

VideoPlaylist

array<object>

Daftar file Media Playlist video.

object

Daftar file Media Playlist video.

Token

string

Token yang dihasilkan untuk Media Playlist video. Anda dapat menggunakan parameter ini untuk menyusun alamat file TS yang dibuat.

Catatan

Berdasarkan nilai Token yang dikembalikan, Anda dapat menyusun alamat file TS yang ditranskode. Formatnya adalah: oss://${Bucket}/${Object}-${Token}-${Index}.ts, di mana oss://${Bucket}/${Object} adalah URI Target yang ditentukan dalam parameter input, ${Token} adalah parameter yang dikembalikan, dan ${Index} adalah nomor urut file TS.

affe0c6042f09722fec95a21b8b******

URI

string

URI OSS dari Media Playlist video.

oss://test-bucket/test-object/output-video.m3u8

Resolution

string

Resolusi video.

640x480

FrameRate

string

Laju frame video.

25/1

AudioPlaylist

array<object>

Daftar file Media Playlist audio.

object

Daftar file Media Playlist audio.

Token

string

Token yang dihasilkan untuk Media Playlist audio. Anda dapat menggunakan parameter ini untuk menyusun alamat file TS yang dibuat.

affe0c6042f09722fec95a21b8b******

URI

string

URI OSS dari Media Playlist audio.

oss://test-bucket/test-object/output-audio.m3u8

Channels

integer

Jumlah saluran audio.

1

SubtitlePlaylist

array<object>

Daftar file Media Playlist subtitle.

object

Daftar file Media Playlist subtitle.

Token

string

Token yang dihasilkan untuk Media Playlist subtitle. Anda dapat menggunakan parameter ini untuk menyusun alamat file subtitle yang dibuat.

Catatan

Berdasarkan nilai Token yang dikembalikan, Anda dapat menyusun alamat file subtitle yang ditranskode. Formatnya adalah: oss://${Bucket}/${Object}-${Token}_${Index}.ts, di mana oss://${Bucket}/${Object} adalah URI Subtitle yang ditentukan dalam parameter input, ${Token} adalah parameter yang dikembalikan, dan ${Index} adalah nomor urut file subtitle.

affe0c6042f09722fec95a21b8b******

URI

string

URI OSS dari Media Playlist subtitle.

oss://test-bucket/test-object/output-subtitle.m3u8

Language

string

Bahasa aliran subtitle.

Catatan

Bahasa diperoleh dari informasi aliran subtitle video sumber yang ditentukan oleh SourceURI. Jika video sumber tidak mengandung informasi bahasa, nilai kosong dikembalikan.

eng

Index

integer

Nomor urut aliran subtitle, dimulai dari 0.

1

Contoh

Respons sukses

JSONformat

{
  "RequestId": "CA995EFD-083D-4F40-BE8A-BDF75FFF*****",
  "Duration": 1082,
  "Token": "92376fbb-171f-4259-913f-705f7ee0****",
  "MasterURI": "oss://test-bucket/test-object/master.m3u8",
  "VideoPlaylist": [
    {
      "Token": "affe0c6042f09722fec95a21b8b******",
      "URI": "oss://test-bucket/test-object/output-video.m3u8",
      "Resolution": "640x480",
      "FrameRate": "25/1"
    }
  ],
  "AudioPlaylist": [
    {
      "Token": "affe0c6042f09722fec95a21b8b******",
      "URI": "oss://test-bucket/test-object/output-audio.m3u8",
      "Channels": 1
    }
  ],
  "SubtitlePlaylist": [
    {
      "Token": "affe0c6042f09722fec95a21b8b******",
      "URI": "oss://test-bucket/test-object/output-subtitle.m3u8",
      "Language": "eng",
      "Index": 1
    }
  ]
}

Kode kesalahan

Lihat Error Codes untuk daftar lengkap.

Catatan rilis

Lihat Release Notes untuk daftar lengkap.