You need to enable JavaScript to run this app.
导航
开启抽帧截图 StartSnapshot
最近更新时间:2025.09.09 11:48:30首次发布时间:2024.01.03 20:25:18
复制全文
我的收藏
有用
有用
无用
无用

本文档 API 接口为最新版本接口,后续相关功能的新增都会在此更新,推荐使用最新版本接口。旧版接口文档请参考历史版本

注意

在使用抽帧截图功能前,你必须已经在控制台上开启抽帧截图服务。

在实时音视频通话场景中,为了存证或鉴别非法信息等目的,你可能会需要对房间内的实时互动进行定期截图,你可通过调用此接口实现。

通过调用此接口,你可以设定应用标志、房间 ID、截图任务 ID 及目标视频流等信息,来指定截图的具体配置,包括截图格式、尺寸、间隔时间以及存储平台等。截图结果将上传至你指定的存储平台,并通过你在控制台设置的回调地址接收元数据回调

你也可以在控制台上开启自动抽帧功能,开启该功能后,若未设置业务标识,默认对房间内每个用户都进行全程抽帧截图。抽帧切片结果会上传到你选择的存储平台上。

注意事项

请求频率:QPS 不得超过 150。

请求说明

  • 请求方式:POST
  • 请求地址:https://rtc.volcengineapi.com?Action=StartSnapshot&Version=2023-11-01

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

Query

参数
类型
是否必选
示例值
描述
Action
String
StartSnapshot
接口名称。当前 API 的名称为 StartSnapshot
Version
String
2023-11-01
接口版本。当前 API 的版本为 2023-11-01

Body

参数
类型
是否必选
示例值
描述
AppId
String
661e****543cf
你的音视频应用的唯一标志,参看获取 AppId
BusinessId
String
B****23
业务标识
RoomId
String
Room1
房间 ID,是房间的唯一标志
TaskId
String
Task1

截图任务 ID。你可以自行设定 TaskId 以区分不同的切片任务,且在后续进行任务更新和结束时也须使用该 TaskId。

TaskId 是任务的标识,在一个 AppIdRoomIdtaskId 是唯一的,不同 AppId 或者不同 RoomIdTaskId 可以重复,因此 AppId + RoomId + TaskId 是任务的唯一标识,可以用来标识指定 AppId 下某个房间内正在运行的任务,从而能在此任务运行中进行更新或者停止此任务。

关于 TaskId 及以上 Id 字段的命名规则符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128}

若任务运行中,使用相同的 TaskId 重复调用开始接口不会导致请求失败,BaseResponse.Result 会提示 The task has been started. Please do not call the startup task interface repeatedly
TargetStreams
Object
-
你可以通过本参数设定需要截图的视频流。如果参数为空,默认对房间内所有人进行截图。最多17路视频流。
StreamList
Object[]
-
音视频流列表,由Stream组成,可以为空。为空时,表示订阅房间内所有流。在一个 StreamList 中,Stream.Index 不能重复。
MaxIdleTime
Integer
180

任务的空闲超时时间,单位为秒。
任务启动后,系统会自动分配一个后端机器人订阅目标流。如果机器人在房间内始终没有订阅到目标流(例如目标用户不在房间或指定的流停止发布),任务就会处于“空闲状态”。空闲时间超过设定值,任务就会自动结束。

  • 取值范围为 [10, 86400]
  • 默认值为 180
ImageConfig
Object
-
图片的相关配置:图片格式,尺寸和截图间隔时间。
如果截图时,对应流的尺寸(长宽)和设置的截图尺寸(长宽)不一致,那么,视频流原始截图会按比例缩放为指定的尺寸。
Format
Integer
0

图片的格式。支持取值及含义如下:

  • 0JEPG
  • 1PNG
默认值为0
Width
Integer
0
实际使用视频帧的宽度,取值范围为 [0, 1920],单位为像素。默认值为 0,表示和视频流的实际宽度相同。
Height
Integer
0
实际使用视频帧的高度,取值范围为 [0, 1920],单位为像素,默认值为 0,此时,和视频流的实际高度相同。
Interval
Integer
2
相邻截图之间的间隔时间,取值范围为 [1, 600],单位为秒,默认值为 2
StorageConfig
Object
-
存储平台设置。当前截图功能仅支持存储到火山引擎对象存储TOS 、veImageX和 Amazon S3、 阿里云 OSS、华为云 OBS、腾讯云 COS 或七牛云 Kodo第三方存储平台],即 Type只可取值 0,2或3。
Type
Integer
0

存储平台类型

TosConfig
Object
-
Tos 平台设置。当 Type = 0 时,需正确设置 TosConfig 的值,否则请求会报错
CustomConfig
Object
-
第三方存储平台设置。当 Type = 2时,需正确设置 CustomConfig 的值,否则请求会报错
VeImageXConfig
Object
-
VeImageX 平台设置。当 Type = 3时,需正确设置 VeImageXConfig 的值,否则请求会报错

返回参数

本接口无特有的返回参数。公共返回参数请见返回结构
其中返回值 Result 仅在请求成功时返回 ok,失败时为空。

请求示例

POST https://rtc.volcengineapi.com?Action=StartSnapshot&Version=2023-11-01
{
    "AppId": "661e****543cf",
    "BusinessId": "B****23",
    "RoomId": "Room1",
    "TaskId": "Task1",
    "TargetStreams": {
        "StreamList": [
            {
                "UserId": "user1",
                "StreamType": 0
            },
            {
                "UserId": "user2",
                "StreamType": 0
            }
        ]
    },
    "MaxIdleTime": 180,
    "ImageConfig": {
        "Format": 0,
        "Width": 800,
        "Height": 800,
        "Interval": 2
    },
    "StorageConfig": {
        "Type": 3,
        "VeImageXConfig": {
            "AccountId": "210****990",
            "Region": 0,
            "ServiceId": "oomo****adgcs"
        }
    }
}

返回示例

{
    "Result": "ok",
    "ResponseMetadata": {
        "RequestId": "20230****10420",
        "Action": "StartSnapshot",
        "Version": "2023-11-01",
        "Service": "rtc",
        "Region": "cn-north-1"
    }
}

错误码

您可访问公共错误码,获取更多错误码信息。