开始录制
开始录制,同时设置录制服务的各项参数。
开通服务
云端录制为付费增值服务。在使用云端录制 API 之前,请确认已在控制台开通云端录制服务,并已完成相关配置。详见配置云端录制服务。
请注意,录制触发方式需要配置为手动才能使用 API 控制录制服务。
请求方法
POST: http(s)://api.rong-api.com/rtc/record/start.json
签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详见 API 请求签名。
正文参数
HTTP 请求正文中包含具有以下结构的 JSON 对象:
参数 | 类型 | 必传 | 说明 |
---|---|---|---|
sessionId | String | 是 | 当前通话的会话 ID。您可以通过融云服务端回调获取该 sessionId ,请参见房间状态同步。 |
extra | String | 是 | 扩展字段,可以作为您业务方面的标记。录制回调服务会带上此字段给到您的应用 Server。 |
config | Object | 是 | 指定云端录制配置,支持录制分流,或者录制 mcu 合流。 |
config.recordType | Number | 否 | 指定录制类型(默认值 1 )。录制模式按录制流的区别分为以下两种类型:
|
config.mode | Number | 否 | 指定录制分流的模式,仅在录制类型为录制分流(config.recordType 值为 1 )时有效:
|
config.videoResolution | String | 否 | 指定录制分流的分辨率,仅在录制类型为录制分流(config.recordType 值为 1 )时有效。共 12 个可选项:
|
config.videoFormat | String | 是 | 指定录制的视频输出格式,可选项:mkv 、mp4 、flv 、hls 。注意:部分视频/音频格式 组合可能与播放器软件存在兼容性问题。如果出现播放问题(例如,视频无声),建议更换当前平台使用的播放器进行排查,再根据排查结果确定合适的音频/视频格式组合。 |
config.audioFormat | String | 是 | 指定录制的音频输出格式,可选项:aac 、mp3 。注意:部分视频/音频格式组合可能与播放器软件存在兼容性问题。如果出现播放问题(例如,视频无声),建议更换当前平台使用的播放器进行排查,再根据排查结果确定合适的音频/视频格式组合。 |
config.mixLayout | Number | 是 | 指定录制分流时的子视频流布局方式,仅在录制类型为录制分流(config.recordType 值为 1 )时有效,且仅在 mix 录制模式下(config.mode 取值 3 /4 /5 /6 )有效。可选项:
|
config.sliceMin | Number | 是 | 指定录制切片文件时长(单位为分钟)。可选值:30 、60 、90 、120 。 |
config.renderMode | Number | 是 | 指定视频的填充方式,可选项:
|
config.hostUserId | String | 否 | 指定主画面的用户 ID,仅在录制类型为录制分流(config.recordType 值为 1 )时有效。
config.recordType 值为 2 )时请勿传入该字段,否则有可能导致错误。 |
config.hostStreamId | String | 否 | 指定主画面的视频流 ID,仅在录制类型为录制分流(config.recordType 值为 1 )时有效。
config.recordType 值为 2 )时请勿传入该字段,否则有可能导致 错误。 |
config.input | Object | 否 | 指定合并录制多道分流时的自定义布局参数,内部包含子视频流的数组(video),仅在录制类型为录制分流(config.recordType 值为 1 )时有效。注意:使用自定义布局时( config.mixLayout 为 1 ),必须通过此字段指定合并录制结果中的子视图的视频流、坐标、宽高等参数。详见下方 config.input 对象说明。 |
config.mcuConfig | Object | 否 | 指定录制 mcu 合流的配置,内部包含 mcu 录制模式选项,以及录制合流时使用的分辨率选项。 |
config.mcuConfig.mode | Number | 否 | 指定录制 mcu 合流的模式,仅在录制类型为录制 mcu 合流(config.recordType 值为 2 )时有效。可选项:
|
config.mcuConfig.videoResolution | String | 是 | 指定录制 mcu 合流的分辨率,仅在录制类型为录制 mcu 合流(config.recordType 值为 2 )时有效。共 12 个可选项:
|
-
config.input 对象说明:该对象描述了在合并录制多道分流时,自定义布局子视频流的相关参数:
参数 类型 必传 说明 video Array 是 用于设置合流布局每个用户视频子窗口的位置和大小。 video[i].userId String 是 子窗口的用户 ID video[i].streamId String 是 子窗口的视频流 ID video[i].x Number 是 浮点数。子窗口的起始点 x 轴相对坐标。即距离左边框的像素点 / videoResolution 的宽度 video[i].y Number 是 浮点数。子窗口的起始点 y 轴相对坐标。即距离上边框的像素点 / videoResolution 的高度 video[i].width Number 是 浮点数。子窗口的相对宽度。即子窗口的宽度除以 videoResolution 的宽度 video[i].height Number 是 浮点数。子窗口的相对高度。即子窗口的高度除以 videoResolution 的高度
请求示例
POST /rtc/record/start.json HTTP/1.1
Host: api.rong-api.com
App-Key: uwd1c0sxdlx2
Timestamp: 1585127132438
Nonce: 14314
Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
Room-Id: room1
Content-Type: application/json
{
"sessionId":"aaa",
"config":{
"recordType": 1,
"mode":3,
"videoResolution":"640x480",
"videoFormat":"mkv",
"audioFormat":"aac",
"mixLayout":1,
"sliceMin":60,
"renderMode":1,
"hostUserId":"abc",
"hostStreamId":"111_RongCloudRTC",
"input":{
"video":[
{
"userId":"111",
"streamId":"111_RongCloudRTC",
"x":0,
"y":0,
"width":0.5,
"height":0.5
},
{
"userId":"2222",
"streamId":"2222_RongCloudRTC",
"x":0.5,
"y":0.5,
"width":0.5,
"height":0.5
}
]
},
"mcuConfig":{
"mode": 6
"videoResolution":"640x480"
}
}
}
返回结果
返回值 | 返回类型 | 说明 |
---|---|---|
code | Number | 返回码,200 为正常。 |
errorMessage | String | 错误信息。 |
recordId | String | 录制 ID,每次录制任务的唯一标识。可以用于录制回调或文件切片关联。 |
返回结果示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"code":200,
"errorMessage":"Success",
"recordId":"b8bed381888091ff4e6a42d6f3b8782a"
}