启动rtc云端录制任务。
接口说明
cn-shanghai:上海
ap-southeast-1: 新加坡
QPS 限制
本接口的单用户 QPS 限制为 50 次/秒。超过限制,API 调用会被限流,这可能会影响您的业务,请合理调用。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息
操作 |
访问级别 |
资源类型 |
条件关键字 |
关联操作 |
live:StartRtcCloudRecording |
create |
*全部资源
|
无 | 无 |
请求参数
名称 |
类型 |
必填 |
描述 |
示例值 |
AppId |
string |
是 |
待录制的频道所属 app 的 id。该 app 需要归属于当前调用接口账号所属的主账号。 |
********-7074-****-9ef5-85c19a4***** |
ChannelId |
string |
是 |
待录制的频道对应的 id。需要确保调用本接口时,该频道内有用户,否则会创建录制任务失败。 |
room1024 |
SubscribeParams |
object |
是 |
订阅相关参数。 |
|
SubscribeUserIdList |
array |
是 |
订阅的 UserId 信息列表,单流录制模式下,会对其中每个 UserId 分别进行录制;混流录制模式下,会将所有 UserId 的音视频混合到一组音视频中。 说明
|
|
object |
否 |
订阅的 UserId 的信息。 |
||
UserId |
string |
是 |
订阅的 UserId。 |
userA |
StreamType |
integer |
否 |
订阅的 UserId 的媒体类型。取值:
|
0 |
SourceType |
integer |
否 |
该 UserId 的视频输入流类型,仅订阅非纯音频流时(StreamType!=1)有效。取值:
|
0 |
RecordParams |
object |
是 |
录制相关参数。 |
|
RecordMode |
integer |
是 |
录制模式。取值:
|
0 |
StreamType |
integer |
否 |
录制的输出流的媒体类型。取值:
|
0 |
MaxFileDuration |
integer |
否 |
录制文件最大时长(秒)。超过该时长的录制文件会被分割。取值范围须在[180,7200]内,即最大 2 小时。不指定时,则默认 2 小时。 |
7200 |
StorageParams |
object |
是 |
存储相关参数。 |
|
StorageType |
integer |
是 |
存储方式。取值:
|
1 |
FileInfo |
array |
否 |
文件存储信息,用于指定录制文件的格式、存储位置和命名,仅在 StorageType 为 OSS 时有效。 说明
对于数组中每个元素,会分别生成对应配置的录制文件。不设置时,默认包含 HLS 格式的配置;设置时,如果未包含 HLS 格式的配置,会自动生成 HLS 格式的默认配置。 |
|
object |
否 |
不同文件格式的存储配置。 |
||
Format |
string |
是 |
文件存储格式。取值:
|
HLS |
FileNamePattern |
string |
否 |
文件命名格式。可以由以下变量按任意顺序选择并组合:
默认值如下:
说明
|
{AppId}_{ChannelId}_{StartTime}_{UserId} |
SliceNamePattern |
string |
否 |
切片命名格式,仅在 HLS 格式下有效。与 FileNamePattern 类似,只是可选变量多出了 Sequence:
默认值如下:
说明
|
{AppId}_{ChannelId}_{StartTime}_{Sequence} |
FilePathPrefix |
array |
否 |
文件存储路径。数组中的元素对应每一级目录,例如参数值为["dir1","dir2"]时,xxx.m3u8 文件将被保存为 dir1/dir2/TaskId/xxx.m3u8。该参数为空时,上述例子将直接保存为 TaskId/xxx.m3u8。
|
|
string |
否 |
每一级目录名。 |
dir1 |
|
OSSParams |
object |
否 |
OSS 存储配置。当存储方式为 OSS 时必须配置,当存储方式为 VOD 时无效。 |
|
OSSEndpoint |
string |
是 |
OSS 存储的 Endpoint 名称。所对应的 regionId 需要与选择的服务接入点一致。 |
oss-cn-shanghai.aliyuncs.com |
OSSBucket |
string |
是 |
OSS 存储的 Bucket 名称。该 Bucket 需要归属于当前调用接口账号所属的主账号。 |
mytest-bucket |
VodParams |
object |
否 |
VOD 存储配置。当存储方式为 VOD 时必须配置,当存储方式为 OSS 时无效。 |
|
StorageLocation |
string |
否 |
点播控制台->媒资管理配置->存储管理中包含的存储地址,录制文件会先保存到这里,再上传到 Vod。 |
mytest.oss-cn-shenzhen.aliyuncs.com |
VodTranscodeGroupId |
string |
否 |
点播转码模板组 ID。 |
****8a914d3989e9825eb90530b2**** |
AutoCompose |
integer |
否 |
自动合并。取值:
|
ON |
ComposeVodTranscodeGroupId |
string |
否 |
对自动合成出来的新视频在点播服务中进行一次转码,所使用的点播转码模板组 ID。 说明
|
****4c34112cfe68248f2f77759c**** |
MixTranscodeParams |
object |
否 |
转码相关参数,单流录制模式下不填,混流录制模式下必填。 |
|
FrameFillType |
integer |
否 |
断流补帧类型。取值:
|
0 |
AudioBitrate |
integer |
是 |
音频码率(kbps),取值范围须在[8, 500]内。混流模式下必填。 |
300 |
AudioChannels |
integer |
是 |
音频声道数。取值:
混流模式下必填。 |
2 |
AudioSampleRate |
integer |
是 |
音频采样率(Hz)。取值:
混流模式下必填。 |
32000 |
VideoCodec |
string |
否 |
视频编码格式。取值:
|
H.264 |
VideoBitrate |
integer |
否 |
视频码率(kbps),取值范围须在[1,10000]内。 混流模式下,期望录制输出包含画面时必填,其他情况下无效。 |
5000 |
VideoFramerate |
integer |
否 |
视频帧率(fps),取值范围须在[1,60]内。 混流模式下,期望录制输出包含画面时必填,其他情况下无效。 |
30 |
VideoGop |
integer |
否 |
视频 GOP,每 VideoGop 帧存在一个 I 帧,取值范围须在[1,60]内。 混流模式下,期望录制输出包含画面时必填,其他情况下无效。 |
30 |
VideoHeight |
integer |
否 |
视频高度(px),取值范围须在[0,1920]内。(默认值为 0) |
480 |
VideoWidth |
integer |
否 |
视频宽度(px),取值范围须在[0,1920]内。(默认值为 0) |
640 |
MixLayoutParams |
object |
否 |
布局相关参数,单流录制模式下不填,混流录制模式下期望录制出非纯音频文件时必填。 |
|
MixBackground |
object |
否 |
混流全局背景图。 |
|
RenderMode |
integer |
否 |
画面输出时的显示模式。取值:
|
0 |
Url |
string |
否 |
背景图 URL,最大长度不超过 2048 个字符。 |
https://xxxx.com/photos/my-test-picture.png |
UserPanes |
array |
否 |
用于指定订阅的用户的窗口布局信息,只有设置了布局信息的 UserId,才会被放到画面中。混流模式且录制非纯音频文件时必填。 |
|
array<object> |
否 |
画面中窗口配置。 |
||
UserId |
string |
否 |
该窗口对应的 UserId。
|
userA |
SourceType |
integer |
否 |
该 UserId 的视频输入流类型。不填写 UserId 时,此处设置 SourceType 无效。取值:
|
0 |
Height |
string |
否 |
窗格高度,归一化百分比。取值范围须在[0,1]内。(默认为 0) |
0.5 |
Width |
string |
否 |
窗格宽度,归一化百分比。取值范围须在[0,1]内。(默认为 0) |
0.5 |
X |
string |
否 |
坐标 X,归一化百分比。取值范围须在[0,1]内。(默认为 0) |
0 |
Y |
string |
否 |
坐标 Y,归一化百分比。取值范围须在[0,1]内。(默认为 0) |
0 |
ZOrder |
integer |
否 |
叠放顺序,0 为最底层,1 层在 0 层之上,以此类推。(默认为 0) |
0 |
SubBackground |
object |
否 |
子画面背景图,当用户关闭摄像头、或入会后未推流、或入会后中途离会时,会在布局位置填充为对应的图片。 |
|
RenderMode |
integer |
否 |
子画面输出时的显示模式。取值:
|
0 |
Url |
string |
否 |
背景图 URL,最大长度不超过 2048 个字符。 |
https://xxxx.com/photos/my-test-pane-picture.png |
NotifyUrl |
string |
否 |
接受回调消息地址。任务状态消息会通过 POST 方式,以 Json 格式推送到该地址。 |
http://xxxx/test/mycallback |
NotifyAuthKey |
string |
否 |
回调消息鉴权 key,默认不填,即不做鉴权。如果填写,长度需要在[16,64]个字符内,且只由大小写英文字母和数字组成。
|
mytestkey |
MaxIdleTime |
integer |
否 |
空闲超时时间,当任务处于空闲状态的时长超过 MaxIdleTime 时,自动停止任务。单位为秒,范围须在[10,14400]内,即最大 4 小时。(默认为 300 秒)
|
600 |
-
对于单流录制模式:
支持同时订阅同一个 UserId 的摄像头和屏幕共享,但 FileNamePattern 和 SliceNamePattern 参数中必须包含 SourceType 变量(避免出现录制文件互相覆盖的情况)。
目前不支持只订阅某个 UserId 的纯视频流。即在单流模式下,UserInfo.StreamType 的值不能设置为 2。
-
在单流录制模式下:
如果 RecordParams.StreamType 是纯音频流(取值为 1),那么 SubscribeParams 中不能存在订阅纯视频的情况(即 SubscribeParams 取值为 2)。
如果 RecordParams.StreamType 是纯视频流(值为 2),那么 SubscribeParams 中不能存在订阅纯音频的情况(即 SubscribeParams 取值为 1)。
-
在混流录制模式下:
如果 RecordParams.StreamType 是纯音频流(值为 1),那么 SubscribeParams 中不能所有 UserId 都只订阅纯视频(即所有 SubscribeParams 取值为 2)。
如果 RecordParams.StreamType 是纯视频流(值为 2),那么 SubscribeParams 中不能所有 UserId 都只订阅纯音频(即所有 SubscribeParams 取值为 1)。
-
录制过程中,如果中途 channel 关闭,需要在空闲时长内重新入会推流,否则任务将自动停止。
返回参数
名称 |
类型 |
描述 |
示例值 |
object |
返回内容。 |
||
RequestId |
string |
请求 id。 |
******58-5876-****-83CA-B56278****** |
TaskId |
string |
任务 id。 |
******73-8501-****-8ac1-72295a****** |
示例
正常返回示例
JSON
格式
{
"RequestId": "******58-5876-****-83CA-B56278******",
"TaskId": "******73-8501-****-8ac1-72295a******"
}
错误码
HTTP status code |
错误码 |
错误信息 |
描述 |
---|---|---|---|
400 | InvalidParameter.NotifyUrl | %s, please check the notifyUrl. | 参数NotifyUrl格式无效,请检查。 |
400 | InvalidParameter.StorageParams.FileInfo | %s, please check the fileInfo of storageParams. | 参数FileInfo存在无效字段,请检查。 |
400 | InvalidParameter.StorageParams.OSSParams | %s, please check the ossParams of storageParams. | 参数OSSParams存在无效字段,请检查。 |
400 | NotFound.OSSBucket | %s, please check the ossBucket of storageParams. | 参数OSSBucket不存在。 |
400 | InvalidParameter.SubscribeParams.SubscribeUserIdList | %s, please check the subscribeUserIdList of subscribeParams. | 参数SubscribeUserIdList无效,请检查。 |
400 | InvalidParameter.MixLayoutParams.UserPanes | %s, please check the userPanes of mixLayoutParams. | 参数UserPanes存在无效字段,请检查。 |
400 | InvalidParameter.MixTranscodeParams | %s, please check the transcodeParams. | 参数MixTranscodeParams存在无效字段,请检查。 |
400 | MissingParameter | %s. | 参数缺失 |
403 | InvalidParameter.UserId | %s, please check the UserId. | UserId无效,请检查。 |
404 | InvalidParameter.ChannelId | %s, please check the channelId. | |
404 | InvalidParameter.AppId | %s, please check the appId. | 参数AppId无效,请检查。 |
405 | InvalidParameter.StorageParams.VodParams | %s, please check the vodParams of storageParams. | |
405 | InvalidParameter.NotifyAuthKey | %s, please check the notifyAuthKey. | |
405 | InvalidParameter.MaxIdleTime | %s, please check the maxIdleTime. | |
405 | InvalidParameter.RecordParams | %s, please check the recordParams. |
访问错误中心查看更多错误码。
变更历史
更多信息,参考变更详情。