本文档 API 接口为最新版本接口,后续相关功能的新增都会在此更新,推荐使用最新版本接口。旧版接口文档请参考历史版本。
在你的音视频应用中,你可能会需要对房间中的音频流进行切片,供后续处理。比如,你可以对音频内容进行审核。
你可以使用 StartSegment 这个 OpenAPI 实现这一功能。
你也可以在控制台上开启自动切片功能,开启该功能后,若未设置业务标识,默认对房间内每个用户都进行全程切片。切片结果会上传到你选择的存储平台上。
你可以调用 StartSegment 接口,指定你所属的 AppId,对指定 RoomId 房间中的一路或多路音频流进行切片。
切片结果会上传到你指定的存储平台上,随后你指定的回调地址会收到切片的元数据信息。你可以在控制台上设置回调地址。有关回调结果的详细说明,参看SegmentRealTimeData。
在使用音频切片功能前,你必须已经在控制台上开启音频切片服务。
关于调用接口的服务地址、通信协议、字符编码和签名机制,参看调用OpenAPI。
请求频率:QPS 不得超过 60。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | StartSegment | 接口名称。当前 API 的名称为 StartSegment。 |
| Version | String | 是 | 2023-11-01 | 接口版本。当前 API 的版本为 2023-11-01。 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| AppId | String | 是 | Your_AppId | 应用的唯一标志 |
| BusinessId | String | 否 | Your_BusinessId | 业务标识。添加 BusinessId 后,你可以在控制台上查看根据 BusinessId 划分的质量和用量数据。 |
| RoomId | String | 是 | Your_RoomId | 房间 ID,是房间的唯一标志 |
TaskId | String | 是 |
| 截图任务 ID。你可以自行设定 |
MaxIdleTime | Integer | 否 | 任务最大的空闲超时时间。 | |
TargetStreams | Object of Streams | 否 |
| 房间内需要切片的音频流。如果参数为空,默认对房间内所有发布的音频流进行切片。最多17路音频流。 |
| Duration | Integer | 否 | 每个音频切片的时长。单位为秒。范围为 [1, 600],默认值为 20秒。 | |
| StorageConfig | Object of StorageConfig | 是 | / | 存储平台设置。当前切片功能仅支持存储到 Tos 平台和第三方存储平台,即 Type只可取值 0或2。 |
| Control | Object of ControlForSegment | 否 | / | 切片高级功能 |
Identifier | String | 否 |
| 自定义文件前缀。 |
| Handle | Boolean | 否 | false | 是否在开启音视频切片时,立刻开始切片。 True 为在开启音视频切片时,立刻开启切片;False 时,在开启音视频切片时,不开始切片,热启动任务。 默认值为true。 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| StreamList | Array of Stream | 否 | - | 由Stream组成的列表,可以为空。为空时,表示订阅房间内所有流。在一个 StreamList 中,Stream.Index 不能重复。 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
Type | Integer | 否 |
| 存储平台类型
|
| TosConfig | Object of TosConfig | 否 | - | 当 Type = 0 时,需正确设置 TosConfig 的值,否则请求会报错 |
| VodConfig | Object of VodConfig | 否 | - | 当 Type = 1 时,需正确设置 VodConfig 的值,否则请求会报错 |
| CustomConfig | Object of CustomConfig | 否 | - | 当 Type = 2时,需正确设置 CustomConfig 的值,否则请求会报错 |
| VeImageXConfig | Object of VeImageXConfig | 否 | - | 当 Type = 3时,需正确设置 VeImageXConfig 的值,否则请求会报错 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
Align | Boolean | 否 |
| 是否开启切片对齐功能。默认为
|
Mixed | Boolean | 否 |
| 是否开启合流切片功能。默认为
|
| IgnoreSilence | Boolean | 否 | false | 是否忽略静音切片。默认值为 false |
RedundantDuration | Integer | 否 |
| 冗余切片时长,单位为毫秒。 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Index | Integer | 否 | 0 | 在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。 |
| UserId | String | 是 | Your_UserId | 用户Id,表示这个流所属的用户。 |
| StreamType | Integer | 否 | 0 | 流的类型,值可以取0或1,默认值为0。0表示普通音视频流,1表示屏幕流。 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
AccountId | String | 是 |
| 火山引擎平台账号 ID,例如:
|
Region | Integer | 否 |
| 不同存储平台支持的 Region 不同,具体参看 Region对照表 |
| Bucket | String | 是 | Your_Bucket | 存储桶的名称。 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
AccountId | String | 是 |
| 火山引擎平台账号 ID,例如:
|
Region | Integer | 否 |
| 不同存储平台支持的 Region 不同,具体参看 Region对照表 |
| Space | String | 是 | Your_Space | 点播空间名称。 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
Vendor | Integer | 否 |
| 第三方云存储平台。
|
Region | Integer | 否 |
| 不同存储平台支持的 Region 不同,具体参看 Region对照表 |
| Bucket | String | 是 | Your_Bucket | 存储桶的名称。 |
| AccessKey | String | 是 | Your_AccessKey | 第三方存储平台账号的密钥。需确保此账号对存储桶有写权限。不建议开启读权限 |
| SecretKey | String | 是 | Your_SecretKey | 第三方存储平台账号的密钥 |
| 参数 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
AccountId | String | 是 |
| 火山引擎平台账号 ID,例如:
|
Region | Integer | 否 |
| 不同存储平台支持的 Region 不同,具体参看 Region对照表 |
ServiceId | String | 是 |
| 服务 ID。 |
本接口无特有的返回参数。公共返回参数请见返回结构。
其中返回值 Result 仅在请求成功时返回 ok,失败时为空。
POST https://rtc.volcengineapi.com?Action=StartSegment&Version=2023-11-01
{
"AppId": "Your_AppId",
"BusinessId": "Your_BusinessId",
"RoomId": "Your_RoomId",
"TaskId": "Your_TaskId",
"MaxIdleTime": 200,
"TargetStreams": {
"StreamList": [
{
"UserId": "user1",
"StreamType": 0
},
{
"UserId": "user1",
"StreamType": 1
}
]
},
"Duration": 20,
"StorageConfig": {
"Type": 2,
"CustomConfig": {
"Vendor": 0,
"Region": 0,
"Bucket": "Your_Bucket",
"AccessKey": "Your_AccessKey",
"SecretKey": "Your_SecretKey",
},
"Control" : {
"Align" : true,
"Mixed" : true,
"RedundantDuration" : 2,
"IgnoreSilence" : true
}
}
json{
"Result": "ok",
"ResponseMetadata": {
"RequestId": "Your_RequestId",
"Action": "StartSegment",
"Version": "2023-11-01",
"Service": "rtc",
"Region": "cn-north-1"
}
}
json您可访问公共错误码,获取更多错误码信息。