本文档 API 接口为最新版本接口,后续相关功能的新增都会在此更新,推荐使用最新版本接口。旧版接口文档请参考历史版本。
注意
在使用音频切片功能前,你必须已经在控制台上开启音频切片服务。
在实时音视频通话场景中,若需对房间内的音频流进行切片处理,以便用于内容审核等,你可通过调用此接口实现。
通过设定应用标识、房间 ID、任务ID、目标音频流列表、切片时长以及存储配置,你可以指定音频流进行切片,并将结果上传至选定的存储平台,并通过你在控制台设置的回调地址接收元数据回调。此外,通过配置高级切片功能如对齐、合流切片、忽略静音及冗余时长设置,你可以灵活控制切片过程。
你也可以在控制台上开启自动切片功能,开启该功能后,若未设置业务标识,默认对房间内每个用户都进行全程切片。切片结果会上传到你选择的存储平台上。
请求频率:QPS 不得超过 60。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | StartSegment | 接口名称。当前 API 的名称为 StartSegment 。 |
Version | String | 是 | 2023-11-01 | 接口版本。当前 API 的版本为 2023-11-01 。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
AppId | String | 是 | 661e****543cf | 你的音视频应用的唯一标志,参看获取 AppId。 | ||||||||
BusinessId | String | 否 | B****23 | 业务标识。添加 BusinessId 后,你可以在控制台上查看根据 BusinessId 划分的质量和用量数据。 | ||||||||
RoomId | String | 是 | Room1 | 房间 ID,是房间的唯一标志 | ||||||||
TaskId | String | 是 | Task1 | 截图任务 ID。你可以自行设定
关于 TaskId 及以上 Id 字段的命名规则符合正则表达式: TaskId 重复调用开始接口不会导致请求失败,BaseResponse.Result 会提示 The task has been started. Please do not call the startup task interface repeatedly 。 | ||||||||
MaxIdleTime | Integer | 否 | 180 | 任务最大的空闲超时时间。 如果切片任务订阅的所有流都已停止发布,那么任务会在空闲时间超过设定值后自动停止。取值范围为 [1, 86400] ,单位为秒,默认值为 180 。 | ||||||||
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 。 | ||||||||
Duration | Integer | 否 | 20 | 每个音频切片的时长。取值范围为 [1, 600] ,单位为秒,默认值为 20 。 | ||||||||
StorageConfig | Object | 是 | / | 存储平台设置。当前切片功能仅支持存储到 Tos 平台和第三方存储平台,即 Type 只可取值 0 或2 。 | ||||||||
Type | Integer | 否 | 0 | 存储平台类型。支持取值及含义如下:
0 。 | ||||||||
TosConfig | Object | 否 | - | Tos 平台设置。当 Type = 0 时,需正确设置 TosConfig 的值,否则请求会报错 | ||||||||
AccountId | String | 是 | 210****990 | 火山引擎平台账号 ID,例如:
| ||||||||
Region | Integer | 否 | 0 | 不同存储平台支持的 Region 不同,具体参看 Region对照表 默认值为0 。 | ||||||||
Bucket | String | 是 | tos-vod-c****16fd9e8343 | 存储桶的名称。 | ||||||||
VodConfig | Object | 否 | - | 点播平台设置。当 Type = 1 时,需正确设置 VodConfig 的值,否则请求会报错 | ||||||||
AccountId | String | 是 | 210****933 | 火山引擎平台账号 ID,例如:
| ||||||||
Region | Integer | 否 | 0 | 不同存储平台支持的 Region 不同,具体参看 Region对照表 默认值为0 。 | ||||||||
Space | String | 是 | Storagespace | 点播空间名称。 | ||||||||
StorageClass | Integer | 否 | 1 | 上传到视频点播平台时, 文件的存储类型。支持取值及含义如下::
1 。关于存储类型的详细说明,参看媒资存储存储类型 | ||||||||
AutoSetFileExtension | Boolean | 否 | false | 上传到视频点播平台时, 是否需要根据文件后缀自动设置
false 。 | ||||||||
CustomConfig | Object | 否 | - | 第三方存储平台设置。当 Type = 2 时,需正确设置 CustomConfig 的值,否则请求会报错 | ||||||||
Vendor | Integer | 否 | 0 | 第三方云存储平台。支持取值及含义如下:
0 。 | ||||||||
Region | Integer | 否 | 0 | 不同存储平台支持的 Region 不同,具体参看 Region对照表 默认值为0 。 | ||||||||
Bucket | String | 是 | tos-vod-c****16fd9e8343 | 存储桶的名称。 | ||||||||
AccessKey | String | 是 | AKLTMzV****NDcyNjU | 第三方存储平台账号的密钥。需确保此账号对存储桶有写权限。不建议开启读权限 | ||||||||
SecretKey | String | 是 | TVRjMl****aadf== | 第三方存储平台账号的密钥 | ||||||||
VeImageXConfig | Object | 否 | - | VeImageX 平台设置。当 Type = 3 时,需正确设置 VeImageXConfig 的值,否则请求会报错 | ||||||||
AccountId | String | 是 | 210****933 | 火山引擎平台账号 ID,例如:
| ||||||||
Region | Integer | 否 | 0 | 不同存储平台支持的 Region 不同,具体参看 Region对照表 默认值为0 。 | ||||||||
ServiceId | String | 是 | oomo****adgcs | |||||||||
Control | Object | 否 | - | 切片高级功能 | ||||||||
Align | Boolean | 否 | false | 是否开启切片对齐功能,你可以使用该功能,对齐各个用户音频切片的开始和结束时刻。
false 。 | ||||||||
Mixed | Boolean | 否 | false | 是否开启合流切片功能。
默认值为
| ||||||||
IgnoreSilence | Boolean | 否 | false | 是否忽略静音切片。
false | ||||||||
RedundantDuration | Integer | 否 | 2 | 冗余切片时长,单位为毫秒。 当前 RTC 按照传入的Duration 值进行固定时长切片,可能存在敏感词被截断,未被识别的情况。此时你可以添加冗余切片,即上一段切片的末尾指定时长,来避免此情况,此时切片的时长变为RedundantDuration + Duration 。例如:当 Duration = 20 ,redundantDuration = 3 时,最终输出的前三个文件时长为:[0-20] , [17-40] , [37-60] 。 | ||||||||
Identifier | String | 否 | Identifier1 | 自定义文件前缀。 切片文件名由 Identifier + UserId + 时间戳 + 序号组成。默认情况下 Identifier 为 随机生成的 UUID 。在自定义文件名时,Identifier 的命名规则符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128} 。在自定义文件名时,你需确保 Identifier 命名全局唯一,否则在 TOS 平台会因文件名重复被覆盖。 | ||||||||
Handle | Boolean | 否 | false | 是否在开启音视频切片时,立刻开始切片。 -: true :在开启音视频切片时,立刻开启切片。-: false 时,在开启音视频切片时,不开始切片,热启动任务。默认值为 true 。 |
本接口无特有的返回参数。公共返回参数请见返回结构。
其中返回值 Result
仅在请求成功时返回 ok
,失败时为空。
POST https://rtc.volcengineapi.com?Action=StartSegment&Version=2023-11-01 { "AppId": "661e****543cf", "BusinessId": "B****23", "RoomId": "Room1", "TaskId": "Task1", "MaxIdleTime": 200, "TargetStreams": { "StreamList": [ { "UserId": "user1", "StreamType": 0 }, { "UserId": "user1", "StreamType": 1 } ] }, "Duration": 20, "StorageConfig": { "Type": 2, "CustomConfig": { "Vendor": 0, "Region": 0, "Bucket": "tos-vod-cn-v****d9e8343******", "AccessKey": "AKLTMzV****NDcyNjU", "SecretKey": "TVRjMl****aadf==" }, "Control": { "Align": true, "Mixed": true, "RedundantDuration": 2, "IgnoreSilence": true } } }
{ "Result": "ok", "ResponseMetadata": { "RequestId": "20230****10420", "Action": "StartSegment", "Version": "2023-11-01", "Service": "rtc", "Region": "cn-north-1" } }
您可访问公共错误码,获取更多错误码信息。