Memulai tugas perekaman cloud RTC.
Deskripsi operasi
Perekaman cloud adalah fitur berbayar. Untuk detail penagihan, lihat Biaya perekaman cloud.
Setelah tugas perekaman dimulai, biaya tetap dikenakan dalam keadaan idle (tidak ada pengambilan aliran). Oleh karena itu, panggil StopRtcCloudRecording segera setelah perekaman berakhir, atau kurangi MaxIdleTime sesuai kebutuhan.
Registrasi layanan
Titik akhir berikut aktif untuk operasi ini:
| Wilayah | ID Wilayah | Titik akhir publik |
| Shanghai | cn-shanghai | live.aliyuncs.com |
| Singapore | ap-southeast-1 | live.ap-southeast-1.aliyuncs.com |
| US (Virginia) | us-east-1 | live.us-east-1.aliyuncs.com |
Batas QPS
Batas QPS pengguna tunggal untuk operasi ini adalah 50 panggilan per detik. Jika batas ini terlampaui, panggilan API akan dibatasi (throttled), yang dapat memengaruhi bisnis Anda. Panggil operasi ini sesuai kebutuhan.
Coba sekarang
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
live:StartRtcCloudRecording |
create |
*Semua Sumber daya.
|
None | None |
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| AppId |
string |
Yes |
ID aplikasi tempat saluran yang akan direkam berada. Aplikasi harus milik akun Alibaba Cloud yang memanggil operasi ini. |
********-7074-****-9ef5-85c19a4***** |
| ChannelId |
string |
Yes |
ID saluran yang akan direkam. Pastikan saluran memiliki pengguna aktif saat Anda memanggil operasi ini. Jika tidak, tugas perekaman gagal dibuat. |
room1024 |
| SubscribeParams |
object |
Yes |
Parameter langganan. |
|
| SubscribeUserIdList |
array<object> |
Yes |
Daftar entri UserId yang berlangganan. Dalam mode perekaman aliran tunggal, setiap UserId direkam secara terpisah. Dalam mode perekaman pencampuran aliran, audio dan video dari semua UserId dicampur menjadi satu set audio dan video. Catatan
|
|
|
object |
No |
Informasi tentang UserId yang berlangganan. |
||
| UserId |
string |
Yes |
UserId yang berlangganan. |
userA |
| StreamType |
integer |
No |
Tipe media dari UserId yang berlangganan. Nilai valid:
Valid values:
|
0 |
| SourceType |
integer |
No |
Tipe aliran input video dari UserId. Parameter ini hanya valid ketika aliran yang berlangganan bukan audio saja (StreamType != 1). Nilai valid:
Valid values:
|
0 |
| RecordParams |
object |
Yes |
Parameter perekaman. |
|
| RecordMode |
integer |
Yes |
Mode perekaman. Nilai valid:
Valid values:
|
0 |
| StreamType |
integer |
No |
Tipe media dari aliran keluaran perekaman. Nilai valid:
Valid values:
|
0 |
| MaxFileDuration |
integer |
No |
Durasi maksimum file perekaman, dalam detik. File perekaman yang melebihi durasi ini akan mengalami Pemisahan. Nilai valid: 180 hingga 7200 (hingga 2 jam). Nilai default: 7200. |
7200 |
| StorageParams |
object |
Yes |
Parameter penyimpanan. |
|
| StorageType |
integer |
Yes |
Metode penyimpanan. Nilai valid:
Valid values:
|
1 |
| FileInfo |
array<object> |
No |
Informasi penyimpanan file, yang menentukan format, lokasi penyimpanan, dan konvensi penamaan file perekaman. Parameter ini hanya valid ketika StorageType diatur ke OSS. Catatan
File perekaman dihasilkan untuk setiap elemen dalam array berdasarkan konfigurasi yang sesuai. Jika tidak ada format yang ditentukan, format HLS digunakan secara default. |
|
|
object |
No |
Konfigurasi penyimpanan untuk setiap format file. |
||
| Format |
string |
Yes |
Format penyimpanan file. Nilai valid:
Valid values:
|
HLS |
| FileNamePattern |
string |
No |
Konvensi penamaan file. Anda dapat memilih dan menggabungkan variabel berikut dalam urutan apa pun:
Nilai default:
Catatan
|
{AppId}_{ChannelId}_{StartTime}_{UserId} |
| SliceNamePattern |
string |
No |
Konvensi penamaan segmen. Parameter ini hanya valid dalam format HLS. Mirip dengan FileNamePattern, tetapi dengan variabel tambahan Sequence:
Nilai default:
Catatan
|
{AppId}_{ChannelId}_{StartTime}_{Sequence} |
| FilePathPrefix |
array |
No |
Jalur penyimpanan file. Setiap elemen dalam array sesuai dengan tingkat direktori. Misalnya, jika nilai parameter adalah ["dir1","dir2"], file xxx.m3u8 disimpan sebagai dir1/dir2/TaskId/xxx.m3u8. Jika parameter ini kosong, file disimpan langsung sebagai TaskId/xxx.m3u8.
|
|
|
string |
No |
Nama setiap tingkat direktori. |
dir1 |
|
| SliceDuration |
integer |
No |
Panjang segmen, dalam detik. Parameter ini hanya valid dalam format HLS. Nilai valid: 10 hingga 30. Nilai default: 30. Jika Anda tidak memiliki persyaratan khusus, gunakan nilai default. |
30 |
| OSSParams |
object |
No |
Konfigurasi penyimpanan OSS. Parameter ini diperlukan ketika metode penyimpanan adalah OSS dan tidak valid ketika metode penyimpanan adalah VOD. |
|
| OSSEndpoint |
string |
Yes |
Titik akhir penyimpanan OSS. ID wilayah yang sesuai harus sama dengan titik akhir registrasi layanan yang dipilih. |
oss-cn-shanghai.aliyuncs.com |
| OSSBucket |
string |
Yes |
Nama bucket OSS. Bucket harus milik akun Alibaba Cloud yang memanggil operasi ini. |
mytest-bucket |
| VodParams |
object |
No |
Konfigurasi penyimpanan video-on-demand (VOD). Parameter ini diperlukan ketika metode penyimpanan adalah VOD dan tidak valid ketika metode penyimpanan adalah OSS. Catatan
|
|
| StorageLocation |
string |
No |
Alamat penyimpanan yang tercantum di konsol video-on-demand di bawah Konfigurasi Manajemen Aset Media > Manajemen Penyimpanan. File perekaman pertama kali disimpan ke lokasi ini lalu diunggah ke VOD. Catatan
|
mytest.oss-cn-shenzhen.aliyuncs.com |
| VodTranscodeGroupId |
string |
No |
ID kelompok template transkoding video-on-demand. Catatan
|
****8a914d3989e9825eb90530b2**** |
| AutoCompose |
integer |
No |
Apakah akan mengaktifkan penggabungan otomatis. Nilai valid:
Valid values:
|
0 |
| ComposeVodTranscodeGroupId |
string |
No |
ID kelompok template transkoding video-on-demand yang digunakan untuk mentranskode video baru hasil Pencampuran aliran secara otomatis di layanan video-on-demand. Ini adalah file Sumber daya yang digunakan untuk operasi transkoding. Catatan
|
****4c34112cfe68248f2f77759c**** |
| MixTranscodeParams |
object |
No |
Parameter transkoding. Kosongkan parameter ini dalam mode perekaman aliran tunggal. Parameter ini diperlukan dalam mode perekaman pencampuran aliran. |
|
| FrameFillType |
integer |
No |
Tipe pengisian frame untuk interupsi aliran. Nilai valid:
Valid values:
|
0 |
| AudioBitrate |
integer |
Yes |
bitrate audio dalam kbps. Nilai valid: 8 hingga 500. Parameter ini diperlukan dalam mode pencampuran aliran. |
300 |
| AudioChannels |
integer |
Yes |
Jumlah saluran audio. Nilai valid:
Parameter ini diperlukan dalam mode pencampuran aliran. Valid values:
|
2 |
| AudioSampleRate |
integer |
Yes |
Laju sampel audio dalam Hz. Nilai valid:
Parameter ini diperlukan dalam mode pencampuran aliran. Valid values:
|
32000 |
| VideoCodec |
string |
No |
Format Pengkodean video. Nilai valid:
Valid values:
|
H.264 |
| VideoBitrate |
integer |
No |
bitrate video dalam kbps. Nilai valid: 1 hingga 10000. Parameter ini diperlukan dalam mode pencampuran aliran ketika keluaran perekaman diharapkan berisi video. Parameter ini tidak valid dalam kasus lain. |
5000 |
| VideoFramerate |
integer |
No |
Laju frame video dalam fps. Nilai valid: 1 hingga 60. Parameter ini diperlukan dalam mode pencampuran aliran ketika keluaran perekaman diharapkan berisi video. Parameter ini tidak valid dalam kasus lain. |
30 |
| VideoGop |
integer |
No |
GOP video. I-frame ada setiap VideoGop frame. Nilai valid: 1 hingga 60. Parameter ini diperlukan dalam mode pencampuran aliran ketika keluaran perekaman diharapkan berisi video. Parameter ini tidak valid dalam kasus lain. |
30 |
| VideoHeight |
integer |
No |
Tinggi video dalam piksel. Nilai valid: 0 hingga 1920. Nilai default: 0. |
480 |
| VideoWidth |
integer |
No |
Lebar video dalam piksel. Nilai valid: 0 hingga 1920. Nilai default: 0. |
640 |
| MixLayoutParams |
object |
No |
Parameter tata letak. Kosongkan parameter ini dalam mode perekaman aliran tunggal. Parameter ini diperlukan dalam mode perekaman pencampuran aliran ketika keluaran perekaman diharapkan berisi file non-audio saja. |
|
| MixBackground |
object |
No |
Gambar latar belakang global untuk pencampuran aliran. |
|
| RenderMode |
integer |
No |
Mode tampilan untuk keluaran. Nilai valid:
Valid values:
|
0 |
| Url |
string |
No |
URL gambar latar belakang. Panjang maksimum: 2048 karakter. |
https://xxxx.com/photos/my-test-picture.png |
| UserPanes |
array<object> |
No |
Informasi tata letak jendela untuk pengguna yang berlangganan. Hanya pengguna yang UserId-nya telah dikonfigurasi dengan informasi tata letak yang akan ditempatkan di video. Parameter ini diperlukan ketika mode pencampuran aliran digunakan dan rekaman bukan hanya audio. |
|
|
array<object> |
No |
Konfigurasi jendela di video. |
||
| UserId |
string |
No |
UserId yang sesuai dengan jendela ini.
|
userA |
| SourceType |
integer |
No |
Tipe aliran input video dari UserId. Parameter ini tidak valid jika UserId tidak ditentukan. Nilai valid:
Kombinasi UserId dan SourceType yang ditentukan di sini harus disertakan dalam SubscribeUserIdList. Valid values:
|
0 |
| Height |
string |
No |
Tinggi panel sebagai persentase yang dinormalisasi. Nilai harus berada dalam rentang [0, 1]. Nilai default: 0. |
0.5 |
| Width |
string |
No |
Lebar panel sebagai persentase yang dinormalisasi. Nilai harus berada dalam rentang [0, 1]. Nilai default: 0. |
0.5 |
| X |
string |
No |
Koordinat X sebagai persentase yang dinormalisasi. Nilai harus berada dalam rentang [0, 1]. Nilai default: 0. |
0 |
| Y |
string |
No |
Koordinat Y sebagai persentase yang dinormalisasi. Nilai harus berada dalam rentang [0, 1]. Nilai default: 0. |
0 |
| ZOrder |
integer |
No |
Z-Order pane. 0 adalah lapisan paling bawah, lapisan 1 berada di atas lapisan 0, dan seterusnya. Nilai default: 0. |
0 |
| SubBackground |
object |
No |
Gambar latar belakang sub-panel. Ketika pengguna mematikan kamera, belum memulai pengambilan aliran setelah bergabung ke saluran, atau meninggalkan saluran di tengah jalan, gambar yang sesuai akan ditampilkan di posisi tata letak. |
|
| RenderMode |
integer |
No |
Mode tampilan untuk output sub-pane. Nilai valid:
Valid values:
|
0 |
| Url |
string |
No |
URL gambar latar belakang. Panjang maksimum: 2048 karakter. |
https://xxxx.com/photos/my-test-pane-picture.png |
| NotifyUrl |
string |
No |
URL untuk menerima Paket callback. Paket status tugas dikirim ke URL ini dalam format JSON menggunakan metode POST. Panjang maksimum adalah 2048 karakter. Untuk informasi lebih lanjut tentang Paket callback, lihat Dokumentasi. |
http://xxxx/test/mycallback |
| NotifyAuthKey |
string |
No |
Kunci otentikasi untuk pesan callback. Jika parameter ini dibiarkan kosong (default), tidak ada otentikasi yang dilakukan. Jika ditentukan, nilai harus memiliki panjang 16 hingga 64 karakter dan hanya dapat berisi huruf besar, huruf kecil, dan digit.
|
mytestkeymytestkey |
| NotifyFileUploadedFormat |
array |
No |
Format yang ditentukan untuk pengiriman Paket callback ketika event pembuatan file rekaman (RecordFileUploaded) Pemicu. |
|
|
string |
No |
Format file spesifik untuk menerima callback. Nilai valid (tidak peka huruf besar/kecil):
Mode penyimpanan video-on-demand tidak didukung. Untuk mode penyimpanan OSS, format yang dipilih harus disertakan dalam format file yang ditentukan di StorageParams.FileInfo. |
MP4 |
|
| MaxIdleTime |
integer |
No |
Periode pengatur waktu tunggu idle. Ketika tugas tetap idle lebih lama dari MaxIdleTime, tugas akan dihentikan secara otomatis. Unit: detik. Nilai valid: 10 hingga 14400 (maksimum 4 jam). Nilai default: 300.
|
600 |
-
Untuk mode rekaman aliran individual:
Anda dapat berlangganan ke aliran kamera dan berbagi layar dari UserId yang sama secara bersamaan. Namun, parameter FileNamePattern dan SliceNamePattern harus menyertakan variabel SourceType untuk mencegah file rekaman saling menimpa.
Berlangganan hanya ke aliran video (tanpa audio) dari UserId tertentu tidak didukung. Dalam mode rekaman aliran individual, nilai UserInfo.StreamType tidak dapat diatur ke 2.
-
Dalam mode rekaman aliran individual:
Jika RecordParams.StreamType diatur ke hanya audio (nilai 1), SubscribeParams tidak dapat berisi langganan hanya video (nilai SubscribeParams 2).
Jika RecordParams.StreamType diatur ke hanya video (nilai 2), SubscribeParams tidak dapat berisi langganan hanya audio (nilai SubscribeParams 1).
-
Dalam mode rekaman pencampuran aliran:
Jika RecordParams.StreamType diatur ke hanya audio (nilai 1), tidak semua UserId di SubscribeParams dapat berlangganan ke aliran hanya video (semua nilai SubscribeParams diatur ke 2).
Jika RecordParams.StreamType diatur ke hanya video (nilai 2), tidak semua UserId di SubscribeParams dapat berlangganan ke aliran hanya audio (semua nilai SubscribeParams diatur ke 1).
-
Selama rekaman, jika saluran ditutup di tengah proses, Anda harus bergabung kembali dan melanjutkan pengambilan aliran dalam periode pengatur waktu tunggu idle. Jika tidak, tugas akan dihentikan secara otomatis.
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
Parameter tanggapan. |
||
| RequestId |
string |
ID permintaan. |
******58-5876-****-83CA-B56278****** |
| TaskId |
string |
ID tugas. |
******73-8501-****-8ac1-72295a****** |
Contoh
Respons sukses
JSONformat
{
"RequestId": "******58-5876-****-83CA-B56278******",
"TaskId": "******73-8501-****-8ac1-72295a******"
}
Kode kesalahan
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | InvalidParameter.NotifyUrl | %s, please check the notifyUrl. | Format parameter NotifyUrl tidak valid. Periksa parameter tersebut. |
| 400 | InvalidParameter.StorageParams.FileInfo | %s, please check the fileInfo of storageParams. | Parameter FileInfo berisi bidang yang tidak valid. Periksa parameter tersebut. |
| 400 | InvalidParameter.StorageParams.OSSParams | %s, please check the ossParams of storageParams. | Parameter OSSParams berisi bidang yang tidak valid. Periksa parameter tersebut. |
| 400 | NotFound.OSSBucket | %s, please check the ossBucket of storageParams. | Parameter OSSBucket tidak ada. |
| 400 | InvalidParameter.SubscribeParams.SubscribeUserIdList | %s, please check the subscribeUserIdList of subscribeParams. | Parameter SubscribeUserIdList tidak valid. Periksa parameter tersebut. |
| 400 | InvalidParameter.MixLayoutParams.UserPanes | %s, please check the userPanes of mixLayoutParams. | Parameter UserPanes berisi bidang yang tidak valid. Periksa parameter tersebut. |
| 400 | InvalidParameter.MixTranscodeParams | %s, please check the transcodeParams. | Parameter MixTranscodeParams berisi bidang yang tidak valid. Periksa parameter tersebut. |
| 400 | MissingParameter | %s. | Parameter yang diperlukan hilang. |
| 403 | InvalidParameter.UserId | %s, please check the UserId. | UserId tidak valid. Periksa parameter tersebut. |
| 403 | QuotaExceed.RunningTask | The number of active cloud recording tasks has reached the limit. | Jumlah tugas perekaman cloud aktif telah mencapai batas atas. |
| 404 | InvalidParameter.ChannelId | %s, please check the channelId. | Parameter ChannelId tidak valid. Periksa parameter tersebut. |
| 404 | InvalidParameter.AppId | %s, please check the appId. | Parameter AppId tidak valid. Periksa parameter tersebut. |
| 405 | InvalidParameter.StorageParams.VodParams | %s, please check the vodParams of storageParams. | Parameter VodParams berisi bidang yang tidak valid. Periksa parameter tersebut. |
| 405 | InvalidParameter.NotifyAuthKey | %s, please check the notifyAuthKey. | Format parameter NotifyAuthKey tidak valid. Periksa parameter tersebut. |
| 405 | InvalidParameter.MaxIdleTime | %s, please check the maxIdleTime. | Parameter MaxIdleTime tidak valid. Periksa parameter tersebut. |
| 405 | InvalidParameter.RecordParams | %s, please check the recordParams. | Parameter RecordParams berisi bidang yang tidak valid. Periksa parameter tersebut. |
| 405 | InvalidParameter.StorageParams.StorageType | %s, please check the storageType of storageParams. | Parameter StorageType tidak valid. Periksa parameter tersebut. |
| 405 | InvalidParameter.NotifyFileUploadedFormat | %s, please check the notifyFileUploadedFormat. | Parameter NotifyFileUploadedFormat tidak valid. Periksa parameter tersebut. |
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.