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
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
imm:GenerateVideoPlaylist |
none |
*Proyek.
|
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:
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:
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://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.
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.
|
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.
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].
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 |
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.