本文档 API 接口为最新版本接口,后续相关功能的新增都会在此更新,推荐使用最新版本接口。旧版接口文档请参考历史版本。
在实时音视频通话场景中,若需对已设定的云端录制任务进行调整,你可以通过调用此接口实现。
通过此接口,你可以灵活调整录制内容的布局和视觉效果,以满足不同场景下的录制需求。调用后,接口返回操作结果,确认任务参数的更新是否成功。
调用此接口时,需确保云端录制功能已启用且当前处于合流录制的自定义布局模式,即 RecordMode=0
且 Layout.LayoutMode=2
。
你可以调用 UpdateRecord
接口,覆盖此前在 StartRecord
或 UpdateRecord
中设定的以下参数:
TargetStreams
Layout.CustomLayout.Canvas.Background
和 Layout.CustomLayout.Canvas.BackgroundImage
Layout.CustomLayout.Regions
请求频率:QPS 不得超过 60。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | UpdateRecord | 接口名称。当前 API 的名称为 UpdateRecord 。 |
Version | String | 是 | 2023-11-01 | 接口版本。当前 API 的版本为 2023-11-01 。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
AppId | String | 是 | 661e****543cf | 你的音视频应用的唯一标志,参看获取 AppId。 |
BusinessId | String | 否 | B****1 | 业务标识 |
RoomId | String | 是 | Room1 | 房间的 ID,是房间的唯一标志 |
TaskId | String | 是 | Task1 | 云端录制任务 ID。你必须对每个云端录制任务设定 TaskId,且在进行任务更新时也须使用该 TaskId。
[a-zA-Z0-9_@\-\.]{1,128} |
TargetStreams | Object | 否 | - | 你可以通过本参数设定需要录制的音视频流。单流录制模式下,如果参数为空,默认录制对房间内所有人进行单流录制。最多17人。 |
StreamList | Object[] | 否 | - | 音视频流列表,由 Stream 组成,可以为空。为空时,表示订阅房间内所有流。在一个 StreamList 中,Stream.Index 不能重复。 |
Index | Integer | 否 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
UserId | String | 是 | user1 | 用户 ID,表示这个流所属的用户。 |
StreamType | Integer | 否 | 0 | 流的类型。支持取值及含义如下:
0 。 |
Layout | Object | 否 | - | 布局参数。 |
LayoutMode | Integer | 否 | 0 | |
MainVideoStream | Object | 否 | - | 在垂直布局模式下生效,指定主画面流的属性。垂直布局时,此参数必填。 |
Index | Integer | 否 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
UserId | String | 是 | user1 | 用户 ID,表示这个流所属的用户。 |
StreamType | Integer | 否 | 0 | 流的类型。支持取值及含义如下:
0 。 |
CustomLayout | Object | 否 | - | 使用自定义布局模式时,使用此参数进行具体设置。 |
Canvas | Object | 否 | - | 整体屏幕(画布)的宽高以及背景色。 |
Width | Integer | 否 | 640 | 整体屏幕(画布)的宽度,取值范围为 [2, 4096] ,必须是偶数,单位为像素,默认值为 640 。 |
Height | Integer | 否 | 480 | 整体屏幕(画布)的高度,取值范围为 [2, 2160] ,必须是偶数,单位为像素,默认值为 480 。 |
Background | String | 否 | #000000 | 整体屏幕(画布)的背景色, 范围为 #000000 ~ #ffffff (大小写均可),格式为 #RGB(16进制),默认值为 #000000 (黑色)。 |
BackgroundImage | String | 否 | - | 背景图片的 URL。长度最大为 1024 byte。可以传入的图片的格式包括: JPG , JPEG , PNG 。如果背景图片的宽高和整体屏幕的宽高不一致,背景图片会缩放到铺满屏幕。 如果你设置了背景图片,背景图片会覆盖背景色。 |
Regions | Object[] | 否 | - | 在自定义布局模式下,你可以使用 自定义布局模式下,对于
|
StreamIndex | Integer | 是 | 0 | 流的标识。这个标志应和 TargetStreams.StreamList.Stream.Index 对应。 |
LocationX | Integer | 否 | 0 | 视频流对应区域左上角的横坐标相对整体画面左上角原点的横向位移,取值的范围为 1920 , 视频流对应区域左上角的横坐标相对整体画面的比例为 0.33 ,那么该画布左上角的横坐标为 634 (1920*0.33=633.6,四舍五入取整)。 |
LocationY | Integer | 否 | 0 | 视频流对应区域左上角的横坐标相对整体画面左上角原点的纵向位移,取值的范围为 [0.0, Canvas.Height) 。默认值为 0 。若传入该参数,服务端会对该参数进行校验,若不合法会返回错误码 InvalidParameter 。 |
Width | Integer | 是 | 640 | 视频流对应区域宽度的像素绝对值,取值的范围为 (0.0, Canvas.Width] 。 |
Height | Integer | 是 | 480 | 视频流对应区域高度的像素绝对值,取值的范围为 (0.0, Canvas.Height] 。 |
ZOrder | Integer | 否 | 0 | 当多个流的画面有重叠时,使用此参数设置指定画面的图层顺序。取值范围为 [0, 100] ,默认值为 0 。0 表示该区域图像位于最下层,100 表示该区域图像位于最上层。 |
Alpha | Float | 否 | 1 | 画面的透明度,取值范围为 (0.0, 1.0] ,默认值为 1.0 。0.0 表示完全透明,1.0 表示完全不透明。 |
RenderMode | Integer | 否 | 0 | 画面的渲染模式。支持取值及含义如下:
0 。目前 0 和 3 均为按照指定的宽高直接缩放,但我们推荐你使用 3 以便与客户端实现相同逻辑。 |
SourceCrop | Object | 否 | - | 源流剪切功能,可以在源视频帧渲染之前进行裁剪,即预处理一次再渲染。 |
LocationX | Float | 否 | 0 | 裁剪后得到的视频帧左上角的横坐标相对裁剪前整体画面的比例,取值的范围为 [0.0, 1.0) 。默认值为 0.0 。 |
LocationY | Float | 否 | 0 | 裁剪后得到的视频帧左上角的纵坐标相对裁剪前整体画面的比例,取值的范围为 [0.0, 1.0) 。默认值为 0.0 。 |
WidthProportion | Float | 否 | 0.5 | 裁剪后得到的视频帧宽度相对裁剪前整体画面宽度的比例,取值范围为 (0.0, 1.0] 。默认值为 1.0 。 |
HeightProportion | Float | 否 | 0.5 | 裁剪后得到的视频帧高度相对裁剪前整体画面宽度的比例,取值范围为 (0.0, 1.0] 。默认值为 1.0 。 |
AlternateImage | String | 否 | - | 补位图片的 url。长度不超过 1024 个字符串。
|
ApplySpatialAudio | Boolean | 否 | - | 该路流对应的用户是否开启空间音频效果。
true |
SpatialPosition | Integer[] | 否 | [0,0,0] | 空间音频下,房间内指定用户所在位置的三维坐标,默认值为 [0,0,0] 。数组长度为3 ,三个值依次对应X ,Y ,Z ,每个值的取值范围为 [-100,100] 。 |
CornerRadius | Float | 否 | 0.1 | 转推直播下边框圆角半径与画布宽度的比例值,取值范围为 [0,1] 。默认值为 0 ,表示没有圆角效果。圆角半径的像素位不能超过 Region 宽高最小值的一半,否则不会出现圆角效果。 |
MediaType | Integer | 否 | 0 | 该路流参与混流的媒体类型。支持取值及含义如下:
0 。例如该路流为音视频流, MediaType 设为1 ,则只混入音频内容。 |
AlternateImageFillMode | Integer | 否 | 0 | 画面的渲染模式。支持取值及含义如下:
0 。 |
本接口无特有的返回参数。公共返回参数请见返回结构。
其中返回值 Result
仅在请求成功时返回 ok
,失败时为空。
POST https://rtc.volcengineapi.com?Action=UpdateRecord&Version=2023-11-01 { "AppId": "661e****543cf", "BusinessId": "B****23", "RoomId": "Room1", "TaskId": "Task1", "TargetStreams": { "StreamList": [ { "Index": 0, "UserId": "user1_1", "StreamType": 1 }, { "Index": 1, "UserId": "user1_2" } ] }, "Layout": { "LayoutMode": 2, "CustomLayout": { "Canvas": { "Width": 860, "Height": 340, "Background": "#303342" }, "Regions": [ { "StreamIndex": 0, "LocationX": 0, "LocationY": 0, "Width": 430, "Height": 340, "ZOrder": 0, "Alpha": 1, "RenderMode": 0 }, { "StreamIndex": 1, "LocationX": 430, "LocationY": 0, "Width": 430, "Height": 340, "ZOrder": 1, "Alpha": 1, "RenderMode": 1 } ] } } }
{ "Result": "ok", "ResponseMetadata": { "RequestId": "20230****10420", "Action": "UpdateRecord", "Version": "2023-11-01", "Service": "rtc", "Region": "cn-north-1" } }
您可访问公共错误码,获取更多错误码信息。