Sebelum mengunggah data audio dan video menggunakan Real-Time Messaging Protocol (RTMP), Anda harus memanggil operasi PutLiveChannel untuk membuat LiveChannel. Tanggapan terhadap permintaan PutLiveChannel mencakup URL untuk memasukkan aliran ke LiveChannel dan URL untuk memutar aliran yang dimasukkan.
Anda dapat menggunakan URL yang dikembalikan untuk memasukkan dan memutar aliran. Berdasarkan nama LiveChannel yang diberikan, Anda juga dapat melakukan operasi seperti memeriksa status pemasukan aliran, memeriksa catatan pemasukan aliran, dan menonaktifkan pemasukan aliran.
Permissions
Secara default, akun Alibaba Cloud memiliki semua izin. Pengguna RAM atau Peran RAM di bawah akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui RAM Policy atau Bucket Policy.
API | Action | Definition |
PutLiveChannel | oss:PutLiveChannel | Membuat LiveChannel sebelum Anda mengunggah data audio dan video menggunakan Real-Time Messaging Protocol (RTMP). |
Sintaksis Permintaan
PUT /ChannelName?live HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT date
Content-Length: Size
Authorization: SignatureValue
<?xml version="1.0" encoding="UTF-8"?>
<LiveChannelConfiguration>
<Description>Deskripsi Channel</Description>
<Status>Status Channel</Status>
<Target>
<Type>HLS</Type>
<FragDuration>Durasi Fragmen</FragDuration>
<FragCount>Jumlah Fragmen</FragCount>
<PlaylistName>Nama Playlist</PlaylistName>
</Target>
<Snapshot>
<RoleName>Peran Snapshot RAM</RoleName>
<DestBucket>Bucket tujuan Snapshot</DestBucket>
<NotifyTopic>Topik Notifikasi MNS</NotifyTopic>
<Interval>Interval Snapshot dalam detik</Interval>
</Snapshot>
</LiveChannelConfiguration>Header Permintaan
Header | Tipe | Diperlukan | Deskripsi |
ChannelName | String | Ya | Nama LiveChannel yang ingin Anda buat. Nama tersebut harus sesuai dengan konvensi penamaan objek dan tidak boleh mengandung garis miring (/). |
Parameter Permintaan
Parameter | Tipe | Diperlukan | Deskripsi |
LiveChannelConfiguration | Container | Ya | Kontainer yang menyimpan konfigurasi LiveChannel. Node anak: Description, Status, dan Target Node induk: none |
Description | String | Tidak | Deskripsi LiveChannel. Deskripsi bisa mencapai 128 byte panjangnya. Node anak: none Node induk: LiveChannelConfiguration |
Status | Enumerated string | Tidak | Status LiveChannel. Node anak: none Node induk: LiveChannelConfiguration Nilai valid: enabled dan disabled Nilai default: enabled |
Target | Container | Ya | Kontainer yang menyimpan konfigurasi yang digunakan oleh LiveChannel untuk menyimpan data yang diunggah. Node anak: Type, FragDuration, FragCount, dan PlaylistName Node induk: LiveChannelConfiguration |
Type | Enumerated string | Ya | Format penyimpanan data yang diunggah oleh LiveChannel. Node anak: none Node induk: Target Nilai valid: HLS Catatan
|
FragDuration | String | Tidak | Durasi setiap file ts ketika Anda mengatur nilai Type menjadi HLS. Satuan: detik Node anak: none Node induk: Target Nilai valid: [1, 100] Nilai default: 5 Catatan Jika Anda tidak menentukan nilai untuk parameter FragDuration dan FragCount, nilai default dari kedua parameter tersebut akan digunakan. Anda harus menentukan parameter FragDuration dan FragCount secara bersamaan. |
FragCount | String | Tidak | Jumlah file ts yang disertakan dalam file m3u8 ketika nilai Type adalah HLS. Node anak: none Node induk: Target Nilai valid: [1, 100] Nilai default: 3 Catatan Jika Anda tidak menentukan nilai untuk parameter FragDuration dan FragCount, nilai default dari kedua parameter tersebut akan digunakan. Anda harus menentukan parameter FragDuration dan FragCount secara bersamaan. |
PlaylistName | String | Tidak | Nama file m3u8 yang dihasilkan ketika nilai Type adalah HLS. Nama tersebut harus memiliki panjang 6 hingga 128 byte. Nama tersebut harus diakhiri dengan .m3u8. Node anak: none Node induk: Target Nilai default: playlist.m3u8 |
Snapshot | Container | Tidak | Kontainer yang menyimpan opsi operasi snapshot frekuensi tinggi. Node anak: RoleName, DestBucket, NotifyTopic, dan Interval Node induk: LiveChannelConfiguration |
RoleName | String | Tidak | Nama peran yang digunakan untuk melakukan operasi snapshot frekuensi tinggi. Peran tersebut harus memiliki izin tulis pada DestBucket dan izin untuk mengirim pesan ke NotifyTopic. Node anak: none Node induk: Snapshot |
DestBucket | String | Tidak | Bucket yang menyimpan hasil operasi snapshot frekuensi tinggi. Bucket tersebut harus dimiliki oleh pemilik yang sama dengan bucket saat ini. Node anak: none Node induk: Snapshot |
NotifyTopic | String | Tidak | Topik MNS yang digunakan untuk memberi tahu pengguna tentang hasil operasi snapshot frekuensi tinggi. Node anak: none Node induk: Snapshot |
Interval | NUMERIC | Ya | Interval operasi snapshot frekuensi tinggi. Jika tidak ada key frame, seperti inline frame, dalam interval tersebut, tidak ada snapshot yang diambil. Satuan: detik Node anak: none Node induk: Snapshot Nilai valid: [1, 100] Secara default, parameter ini dibiarkan kosong. |
Parameter Tanggapan
Parameter | Tipe | Deskripsi |
CreateLiveChannelResult | Container | Kontainer yang menyimpan tanggapan terhadap permintaan CreateLiveChannel. Node anak: PublishUrls dan PlayUrls Node induk: none |
PublishUrls | Container | Kontainer yang menyimpan URL yang digunakan untuk memasukkan aliran ke LiveChannel. Node anak: Url Node induk: CreateLiveChannelResult |
Url | String | URL yang digunakan untuk memasukkan aliran ke LiveChannel. Node anak: none Node induk: PublishUrls Catatan
|
PlayUrls | Container | Kontainer yang menyimpan URL yang digunakan untuk memutar aliran yang dimasukkan ke LiveChannel. Node anak: Url Node induk: CreateLiveChannelResult |
Url | String | URL yang digunakan untuk memutar aliran yang dimasukkan ke LiveChannel. Node anak: none Node induk: PlayUrls |
Contoh
Permintaan sampel
PUT /test-channel?live HTTP/1.1
Date: Wed, 24 Aug 2016 11:11:28 GMT
Content-Length: 333
Host: test-bucket.oss-cn-hangzhou.aliyuncs.com
Authorization: OOSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<LiveChannelConfiguration>
<Description/>
<Status>enabled</Status>
<Target>
<Type>HLS</Type>
<FragDuration>2</FragDuration>
<FragCount>3</FragCount>
</Target>
<Snapshot>
<RoleName>role_for_snapshot</RoleName>
<DestBucket>snapshotdest</DestBucket>
<NotifyTopic>snapshotnotify</NotifyTopic>
<Interval>1</Interval>
</Snapshot>
</LiveChannelConfiguration>Tanggapan sampel
HTTP/1.1 200
content-length: 259
server: AliyunOSS
x-oss-server-time: 4
connection: close
x-oss-request-id: 57BD8419B92475920B0002F1
date: Wed, 24 Aug 2016 11:11:28 GMT
x-oss-bucket-storage-type: standard
content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<CreateLiveChannelResult>
<PublishUrls>
<Url>rtmp://test-bucket.oss-cn-hangzhou.aliyuncs.com/live/test-channel</Url>
</PublishUrls>
<PlayUrls>
<Url>http://test-bucket.oss-cn-hangzhou.aliyuncs.com/test-channel/playlist.m3u8</Url>
</PlayUrls>
</CreateLiveChannelResult>