Menghasilkan playlist dari file video untuk transkoding langsung (live transcoding). Output berupa file M3U8 yang memungkinkan pemutaran segera dan transkoding sesuai permintaan berdasarkan progres pemutaran. Dibandingkan dengan transkoding offline, metode ini secara signifikan mengurangi waktu tunggu transkoding serta menurunkan beban transkoding dan penyimpanan.
Deskripsi operasi
Sebelum menggunakan API ini, pastikan Anda memahami metode penagihan dan harga Intelligent Media Management.
Sebelum memanggil API ini, pastikan terdapat proyek aktif di wilayah saat ini. Untuk informasi selengkapnya, lihat Manajemen proyek.
- Secara default, API ini hanya memproses satu aliran video, audio, atau subtitle. Anda juga dapat mengonfigurasi jumlah aliran video, audio, dan subtitle yang akan diproses.Penting Parameter Video, Audio, dan Subtitle dalam Targets tidak boleh semuanya kosong. Jika suatu parameter dibiarkan kosong, pemrosesan yang sesuai akan dinonaktifkan. Misalnya, jika parameter Video kosong, pemrosesan video dinonaktifkan, dan file TS output tidak berisi aliran video.
Video sumber harus memiliki durasi minimal 0.x detik. Durasi minimum bervariasi sedikit tergantung pada laju frame output.
API ini mendukung pembuatan baik Media Playlist maupun Master Playlist. Untuk informasi selengkapnya, lihat deskripsi parameter dalam dokumen ini.
Ini adalah API sinkron. Transkoding hanya dipicu saat pemutaran atau pra-transkoding. Anda dapat mengatur parameter Notification untuk menerima hasil task transkoding melalui pesan notifikasi asinkron.
Untuk informasi lebih lanjut tentang fitur API ini, lihat Live transcoding.
Fitur pemrosesan data OSS juga dapat digunakan untuk menghasilkan playlist. Namun, fitur ini hanya menghasilkan Media Playlist dan menggunakan parameter yang disederhanakan. Untuk informasi selengkapnya, lihat topik pemrosesan data OSS Generate a playlist.
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
imm:GenerateVideoPlaylist |
none |
*Project
|
None | None |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| ProjectName |
string |
Yes |
Nama proyek. Untuk informasi selengkapnya tentang cara mendapatkan nama proyek, lihat Buat proyek. |
immtest |
| UserData |
string |
No |
Informasi kustom. Informasi ini dikembalikan dalam pesan notifikasi asinkron untuk membantu Anda mengaitkan pesan tersebut dengan layanan Anda. Panjang maksimum adalah 2.048 byte. |
{"ID": "user1","Name": "test-user1","Avatar": "http://example.com?id=user1"} |
| SourceURI |
string |
Yes |
URI OSS dari video. URI OSS harus dalam format oss://${Bucket}/${Object}. ${Bucket} adalah nama bucket OSS yang berada di wilayah yang sama dengan proyek saat ini. ${Object} adalah path lengkap file, termasuk ekstensi nama file. Catatan
Hanya bucket penyimpanan OSS Standard yang didukung. Bucket dengan daftar putih Perlindungan hotlink tidak didukung. |
oss://test-bucket/test-source-object/video.mp4 |
| SourceStartTime |
number |
No |
Waktu mulai untuk menghasilkan playlist. Satuan: detik (s). Nilai yang valid:
Catatan
Anda dapat mengatur parameter ini bersama dengan parameter SourceDuration untuk menghasilkan playlist dari bagian tertentu video sumber. |
0 |
| SourceDuration |
number |
No |
Durasi playlist yang dihasilkan. Satuan: detik (s). Nilai yang valid:
Catatan
Jika durasi yang ditentukan melebihi akhir video sumber, nilai default akan digunakan. |
0 |
| SourceSubtitles |
array<object> |
No |
Daftar subtitle yang akan ditambahkan. Nilai default kosong. Anda dapat menambahkan hingga dua subtitle. |
|
|
object |
No |
Informasi subtitle. |
||
| URI |
string |
Yes |
URI OSS dari file subtitle yang akan disematkan. URI OSS harus dalam format oss://${Bucket}/${Object}. ${Bucket} adalah nama bucket OSS yang berada di wilayah yang sama dengan proyek saat ini. ${Object} adalah path lengkap file. Catatan
Parameter MasterURI tidak boleh kosong. URI OSS dari file subtitle yang akan disematkan, |
oss://test-bucket/test-object/subtitle/eng.vtt |
| Language |
string |
No |
Bahasa subtitle. Nilainya harus sesuai dengan standar ISO 639-2. Nilai default kosong. |
eng |
| MasterURI |
string |
No |
URI OSS dari Master Playlist. URI OSS harus dalam format oss://${Bucket}/${Object}. ${Bucket} adalah nama bucket OSS yang berada di wilayah yang sama dengan proyek saat ini. ${Object} adalah path lengkap file dengan ekstensi nama file .m3u8. Catatan
Jika playlist memiliki input subtitle atau beberapa output target, MasterURI wajib diisi. URI subtitle atau URI target harus berada di direktori yang sama atau subdirektori dari direktori yang ditentukan oleh MasterURI. |
oss://test-bucket/test-object/master.m3u8 |
| Targets |
array<object> |
Yes |
Array playlist transkoding langsung. Panjang maksimum array adalah 6. Setiap target sesuai dengan maksimal satu Media Playlist video dan satu atau lebih Media Playlist subtitle. Catatan
Jika Anda mengonfigurasi lebih dari satu target, parameter MasterURI tidak boleh kosong. |
|
|
array<object> |
No |
Detail task transkoding langsung. |
||
| URI |
string |
No |
Awalan URI OSS untuk file output transkoding langsung. File output mencakup file M3U8 dan file TS. URI OSS harus dalam format oss://${Bucket}/${Object}. ${Bucket} adalah nama bucket OSS yang berada di wilayah yang sama dengan proyek saat ini. ${Object} adalah awalan path lengkap file, tanpa ekstensi nama file.
Catatan
Jika parameter MasterURI tidak kosong, URI harus berada di direktori yang sama atau subdirektori dari direktori yang ditentukan oleh MasterURI. |
oss://test-bucket/test-object/output-video |
| Video | TargetVideo |
No |
Pengaturan parameter untuk pemrosesan video. Nilai kosong (default) menonaktifkan pemrosesan video. File TS output tidak akan berisi aliran video. Catatan
Bidang Video dan Subtitle dalam target yang sama bersifat saling eksklusif. Jika bidang Video diatur, bidang Subtitle akan diabaikan. |
|
| Audio | TargetAudio |
No |
Pengaturan parameter untuk pemrosesan audio. Nilai kosong (default) menonaktifkan pemrosesan audio. File TS output tidak akan berisi aliran audio. Catatan
Bidang Audio dan Subtitle dalam target yang sama bersifat saling eksklusif. Jika bidang Audio diatur, bidang Subtitle akan diabaikan. Anda dapat mengatur Audio dan Video secara bersamaan. Audio menentukan informasi audio dalam video output. Anda juga dapat hanya mengatur Audio untuk menghasilkan informasi audio saja. |
|
| Subtitle | TargetSubtitle |
No |
Pengaturan parameter untuk pemrosesan subtitle. Catatan
Bidang Subtitle bersifat saling eksklusif dengan bidang Video dan Audio dalam target yang sama. Subtitle hanya dapat dihasilkan jika bidang Subtitle diatur secara independen. |
|
| TranscodeAhead |
integer |
No |
Jumlah file TS yang ditranskode terlebih dahulu saat transkoding langsung dipicu. Secara default, video selama 2 menit ditranskode terlebih dahulu.
|
12 |
| Duration |
number |
No |
Durasi pemutaran satu file TS. Satuan: detik (s). Nilai default: 10. Rentang nilai: [5, 15]. |
10 |
| InitialTranscode |
number |
No |
Durasi transkoding awal. Satuan: detik (s). Nilai default: 30.
Catatan
Parameter ini terutama digunakan untuk mengurangi waktu tunggu pemutaran pertama dan meningkatkan pengalaman pengguna. Untuk menggantikan skenario VOD tradisional, Anda dapat mencoba mentranskode seluruh video pada awalnya. |
30 |
| InitialSegments |
array |
No |
Array durasi untuk file TS yang ditranskode awal. Panjang maksimum array adalah 6. Nilai default kosong. Parameter ini bersifat independen dari parameter Duration. |
|
|
number |
No |
Durasi file TS yang ditranskode awal. Nilainya harus berada dalam rentang [1, Duration].
Catatan
Menyesuaikan durasi lebih pendek untuk file TS yang ditranskode awal dapat membuat pemuatan video lebih lancar. |
[2, 2, 4, 4, 8, 8] |
|
| Tags |
object |
No |
Menambahkan tag objek OSS ke file TS yang dihasilkan. Anda dapat menggunakan tag OSS untuk mengontrol siklus hidup file OSS. Catatan
Tag untuk target saat ini merupakan gabungan dari tag yang didefinisikan di level ini dan tag yang didefinisikan di level induk. Jika suatu tag memiliki nama yang sama, nilai di level saat ini yang digunakan. |
|
|
string |
No |
Nilai tag. |
{\"key1\":\"value1\"} |
|
| Tags |
object |
No |
Menambahkan tag objek OSS ke file TS yang dihasilkan. 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 |
Jika Anda tidak memiliki persyaratan khusus, biarkan parameter ini kosong. Konfigurasi otorisasi berantai. Parameter ini tidak wajib. Untuk informasi selengkapnya, lihat Gunakan otorisasi berantai untuk mengakses sumber daya entitas lain. |
|
| Notification | Notification |
No |
Konfigurasi notifikasi pesan. Untuk informasi selengkapnya, klik Notification. Untuk informasi tentang format pesan notifikasi asinkron, lihat Format pesan notifikasi asinkron. |
|
| OverwritePolicy |
string |
No |
Kebijakan untuk menimpa Media Playlist yang sudah ada. Nilai yang valid:
|
overwrite |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
Skema Respons |
||
| RequestId |
string |
ID permintaan. |
CA995EFD-083D-4F40-BE8A-BDF75FFF***** |
| Duration |
number |
Durasi total 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 |
Informasi tentang file Media Playlist video. |
||
| Token |
string |
Token yang dihasilkan untuk Media Playlist video. Anda dapat menggunakan parameter ini untuk menyusun URI file TS yang dihasilkan. Catatan
Anda dapat menggunakan nilai token yang dikembalikan untuk menyusun URI file TS hasil transkoding. Formatnya adalah oss://${Bucket}/${Object}-${Token}-${Index}.ts. oss://${Bucket}/${Object} adalah URI target yang ditentukan dalam parameter permintaan. ${Token} adalah parameter yang dikembalikan. ${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 |
Informasi tentang file Media Playlist audio. |
||
| Token |
string |
Token yang dihasilkan untuk Media Playlist audio. Anda dapat menggunakan parameter ini untuk menyusun URI file TS yang dihasilkan. |
affe0c6042f09722fec95a21b8b****** |
| URI |
string |
URI OSS dari Media Playlist audio. |
oss://test-bucket/test-object/output-audio.m3u8 |
| Channels |
integer |
Jumlah kanal audio. |
1 |
| SubtitlePlaylist |
array<object> |
Daftar file Media Playlist subtitle. |
|
|
object |
Informasi tentang file Media Playlist subtitle. |
||
| Token |
string |
Token yang dihasilkan untuk Media Playlist subtitle. Anda dapat menggunakan parameter ini untuk menyusun URI file subtitle yang dihasilkan. Catatan
Anda dapat menggunakan nilai token yang dikembalikan untuk menyusun URI file subtitle hasil transkoding. Formatnya adalah oss://${Bucket}/${Object}-${Token}_${Index}.ts. oss://${Bucket}/${Object} adalah URI subtitle yang ditentukan dalam parameter permintaan. ${Token} adalah parameter yang dikembalikan. ${Index} adalah nomor urut 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 berisi informasi bahasa, parameter ini kosong. |
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.