You need to enable JavaScript to run this app.
实时音视频

实时音视频

复制全文
抽帧截图
开启抽帧截图 StartSnapshot
复制全文
开启抽帧截图 StartSnapshot

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

调用 StartSnapshot 接口,对实时音视频通话中的视频流进行周期性截图,并将图片存储到指定的云存储平台。支持对房间内全部或指定用户的视频流进行截图,并自定义图片的格式、尺寸和截图间隔。

使用说明

  • 使用前提:调用该接口前,必须先在控制台上开启抽帧截图服务。
  • 如何获取截图结果:可通过回调实时获取截图结果。具体操作请参见回调地址,回调事件,请参见SegmentRealTimeData

注意事项

请求频率: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。
由您自定义,用于标识和管理(更新、停止)截图任务。

  • 命名规范:符合正则表达式 [a-zA-Z0-9_@\-\.]{1,128}
  • 唯一性规则:在同一个 AppId 和 RoomId 组合下,TaskId 必须唯一。

任务运行中,使用相同 TaskId 重复调用该接口,系统将返回提示而非报错。

TargetStreams
Object
-
配置需要截图的目标视频流。
StreamList
Object[]
-
需要截图的视频流列表。若不传入或传入空列表,则默认对房间内所有视频流进行截图,最多支持 17 路视频流。
MaxIdleTime
Integer
180

任务的空闲超时时间,单位为秒。
任务启动后,当任务订阅的所有流都停止推流后(例如目标用户不在房间或指定的流停止发布),任务就会处于“空闲状态”。若空闲时间超过此设定值,任务将自动停止。

  • 取值范围:[10, 86400]
  • 默认值:180
ImageConfig
Object
-

截图配置。如生成的图片格式、尺寸和截图间隔等。

如果截图时,对应流的尺寸(长宽)和设置的截图尺寸(长宽)不一致,那么,视频流原始截图会按比例缩放为指定的尺寸。

Format
Integer
0

图片的格式:

  • 0(默认值):JEPG
  • 1:PNG
Width
Integer
0
截图的宽度。取值范围为 [0, 1920],单位为像素。
默认值为 0,表示和视频流的实际宽度相同。
Height
Integer
0
截图的高度,取值范围为 [0, 1920],单位为像素。
默认值为 0,表示和视频流的实际高度相同。
Interval
Integer
2
相邻两次截图之间的间隔时间。取值范围为 [1, 600],单位为秒,默认值为 2
StorageConfig
Object
-
存储平台设置。
Type
Integer
0

存储平台类型:

TosConfig
Object
-

TOS 平台配置。

注意

仅当 Type = 0 时有效且为必填。

CustomConfig
Object
-

第三方存储平台配置。

注意

仅当 Type = 2 时有效且为必填。

VeImageXConfig
Object
-

VeImageX 平台配置。

注意

仅当 Type = 3 时有效且为必填。

FileNameConfig
Object

截图文件的命名与路径规则设置。
文件最终的生成路径与名称结构为:{Prefix} + {Pattern} + 随机数
示例:
Prefix 设为dire1/dire2/Pattern 设为 {TaskId}_{RoomId}
若文件的 TaskId = task1RoomId = 1234 且生成的随机数为 c4694fa1,则生成录制文件的文件名为:dire1/dire2/task1_1234_c4694fa1.mp4

文件名在 TOS第三方存储平台上不可以重复。

Prefix
String[]
["dir1","dir2"]

路径前缀,用于定义目录层级。例如,取值 ["dir1", "dir2"],则会生成路径 dir1/dir2/
总长度上限 128 字符,仅支持大小写字母和数字。

注意

该字段仅在使用 TOS 或第三方云存储时生效。

Pattern
String
{TaskId}{RoomId}{UserId}{Type}{StartTime}{Duration}{Random}

自定义录制文件名模版,支持通过变量定义。

  • 支持的变量:
    • 单流:{TaskId}、{RoomId}、{UserId}、{Type}、{StartTime}、{Duration}。
    • 合流:{TaskId}、{RoomId}、{StartTime}、{Duration}。
  • 限制:128 个字符;请勿在 Pattern 中包含文件后缀名(如 .mp4 或 .jpg)。

若此参数留空,系统将应用默认命名规则。默认命名规则及变量含义,参见自定义录制文件名

注意

如果设置了 Pattern,需自行保证最终文件名的唯一性,否则在 TOS 或第三方存储平台上同名文件将被覆盖; 你也可以给对应 bucket 开启版本控制,允许文件名重复,防止被覆盖的情况发生。

返回参数

本接口无特有的返回参数。公共返回参数请见返回结构
其中返回值 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"
    }
}

错误码

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

最近更新时间:2026.01.27 17:03:30
这个页面对您有帮助吗?
有用
有用
无用
无用