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

你可以使用此接口查询指定音频切片任务的相关信息。

使用说明
接口行为

你可以调用GetSegmentTask接口,指定你所属的 AppId,查询指定 RoomId 下的音频切片任务。
自动切片任务也支持查询。

通过此接口仅能查询距今 72 小时内开始的音频切片任务。

调用接口

关于调用接口的服务地址、通信协议、字符编码和签名机制,参看调用 OpenAPI。

注意事项

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

请求说明
请求参数

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

Query
参数类型是否必选示例值描述
ActionString是GetSegmentTask接口名称。当前 API 的名称为 GetSegmentTask。
VersionString是2022-06-01接口版本。当前 API 的版本为 2022-06-01。
AppIdString是Your_AppId你的音视频应用的唯一标志
RoomIdString是Your_RoomId房间的 ID,是房间的唯一标志
TaskIdString否Your_TaskId要查询的音频切片任务 ID。自动切片任务下,该字段可传入用户 UserId。
返回参数

下表仅列出本接口特有的返回参数,公共返回参数请参见返回结构。

参数类型示例值描述
SegmentTaskObject of SegmentTask-音频切片任务信息
SegmentTask
参数类型示例值描述
StartTimeLong1677477732000任务开始时间戳,Unix 时间,单位为毫秒
EndTimeLong0任务结束时间戳,Unix 时间,单位为毫秒。0 表示任务未结束

Status

Long

2

任务状态。

  • 0: 未知异常状态
  • 1: 未开始
  • 2: 运行中
  • 3: 已结束
  • 4: 任务运行失败

StopReason

String

任务停止的原因- 返回为空:表示任务未结束

  • UnknownStopReason:未知停止原因
  • StopByAPI:用户主动调用 服务端 OpenAPI 停止
  • StartTaskFailed:任务启动失败
  • IdleTimeOut:任务超过最大空闲时间
  • UserDisconnect:自动切片任务中,切片任务对应的客户端用户主动退房。
MaxIdleTimeInteger600任务最大的空闲超时时间。
TargetStreamsObject of Streams-需要切片的音频流。
DurationInteger40每个音频切片的时长。
StorageConfigObject of StorageConfig-存储平台设置。其中 AK、SK 字段不返回
ControlObject of ControlForSegment-切片高级功能
IdentifierStringgetsegmenttask自定义文件前缀。
HandleBooleantrue是否在开启音视频切片时,立刻开始切片。
Streams
参数类型示例值描述
StreamListArray of Stream由Stream组成的列表,可以为空。为空时,表示订阅房间内所有流。在一个 StreamList 中,Stream.Index 不能重复。
StorageConfig
参数类型示例值描述

Type

Integer

0

存储平台类型

TosConfigObject of TosConfig-当 Type = 0 时,需正确设置 TosConfig 的值,否则请求会报错
VodConfigObject of VodConfig-当 Type = 1 时,需正确设置 VodConfig 的值,否则请求会报错
CustomConfigObject of CustomConfig-当 Type = 2时,需正确设置 CustomConfig 的值,否则请求会报错
VeImageXConfigObject of VeImageXConfig-当 Type = 3时,需正确设置 VeImageXConfig 的值,否则请求会报错
ControlForSegment
参数类型示例值描述

Align

Boolean

false

是否开启切片对齐功能。默认为 False。你可以使用音频切片对齐功能,对齐各个用户音频切片的开始和结束时刻。

  • 当 Align=False 时,关闭音频切片对齐。在某个切片周期中,如果用户有发送音频流的行为,即生成音频切片。如果用户在切片的周期中,有部分时间未发布音频,返回的音频切片时长会小于切片周期。各个用户音频切片开始时间不一定一致。
  • 当 Align=True 时,开启音频切片对齐。在某个切片周期中,如果用户有发送音频流的行为,即生成音频切片。切片长度和切片周期相等,且各个用户音频切片开始的时间一致。如果用户在切片的周期中,有部分时间未发布音频,切片长度不变,这段时间呈现静音帧。如果用户在某个切片周期中始终没有发布音频,则不生成音频切片。

Mixed

Boolean

false

是否开启合流切片功能。默认为 False。

  • 当 Mixed=False 时,只会对 TargetStreams 中指定的音频流分别切片。
  • 当 Mixed=True 时,除了会对 TargetStreams 中指定的音频流分别切片,还会对指定的音频流进行混音,生成合流切片,合流切片对应的用户名为 mixed。此时,任务创建后,不管是否有人上麦,会持续回调混音切片。
    不同平台的回调参看:
IgnoreSilenceBooleanfalse是否忽略静音切片。默认值为 false

RedundantDuration

Integer

2

冗余切片时长,单位为毫秒。
当前 RTC 按照传入的Duration值进行固定时长切片,可能存在敏感词被截断,未被识别的情况。此时你可以添加冗余切片,即上一段切片的末尾指定时长,来避免此情况,此时切片的时长变为RedundantDuration + Duration。
例如:当 Duration = 20,redundantDuration = 3 时,最终输出的前三个文件时长为:[0-20], [17-40], [37-60]。

Stream
参数类型示例值描述
IndexInteger0在自定义布局中,使用 Index 对流进行标志。后续在 Layout.regions.StreamIndex 中,你需要使用 Index 指定对应流的布局设置。
UserIdStringYour_UserId用户Id,表示这个流所属的用户。
StreamTypeInteger0流的类型,值可以取0或1,默认值为0。0表示普通音视频流,1表示屏幕流。
TosConfig
参数类型示例值描述

AccountId

String

Your_AccountId

火山引擎平台账号 ID,例如:200000000。

  • 火山引擎平台账号 ID 查看路径:控制台->账号管理->账号信息
    alt
  • 此账号 ID 为火山引擎主账号 ID。
  • 若你调用 OpenAPI 鉴权过程中使用的 AK、SK 为子用户 AK、SK,账号 ID 也必须为火山引擎主账号 ID,不能使用子用户账号 ID。

Region

Integer

0

不同存储平台支持的 Region 不同,具体参看 Region对照表
默认值为0。

BucketStringYour_Bucket存储桶的名称。
VodConfig
参数类型示例值描述

AccountId

String

Your_AccountId

火山引擎平台账号 ID,例如:200000000。

  • 火山引擎平台账号 ID 查看路径:控制台->账号管理->账号信息
    alt
  • 此账号 ID 为火山引擎主账号 ID。
  • 若你调用 OpenAPI 鉴权过程中使用的 AK、SK 为子用户 AK、SK,账号 ID 也必须为火山引擎主账号 ID,不能使用子用户账号 ID。

Region

Integer

不同存储平台支持的 Region 不同,具体参看 Region对照表
默认值为0。

SpaceStringYour_Space点播空间名称。
CustomConfig
参数类型示例值描述

Vendor

Integer

0

第三方云存储平台。

  • 0: Amazon S3
  • 1: 阿里云 OSS
  • 2:华为云 OBS
  • 3:腾讯云 COS
  • 4:七牛云 Kodo。
    默认值为 0。

Region

Integer

0

不同存储平台支持的 Region 不同,具体参看 Region对照表
默认值为0。

BucketStringYour_Bucket存储桶的名称。
AccessKeyStringYour_AccessKey第三方存储平台账号的密钥。需确保此账号对存储桶有写权限。不建议开启读权限
SecretKeyStringYour_SecretKey第三方存储平台账号的密钥
VeImageXConfig
参数类型示例值描述

AccountId

String

Your_AccountId

火山引擎平台账号 ID,例如:200000000。

  • 火山引擎平台账号 ID 查看路径:控制台->账号管理->账号信息
    alt
  • 此账号 ID 为火山引擎主账号 ID。
  • 若你调用 OpenAPI 鉴权过程中使用的 AK、SK 为子用户 AK、SK,账号 ID 也必须为火山引擎主账号 ID,不能使用子用户账号 ID。

Region

Integer

不同存储平台支持的 Region 不同,具体参看 Region对照表
默认值为0。

ServiceId

String

Your_ServiceId

服务 ID。- 你可以在 veImageX 控制台 服务管理页面,通过创建好的图片服务中获取服务 ID。

你也可以通过 OpenAPI 的方式获取服务 ID,具体请参考获取所有服务信息。

请求示例
GET https://rtc.volcengineapi.com?Action=GetSegmentTask&Version=2022-06-01&AppId=Your_AppId&RoomId=Your_RoomId&TaskId=Your_TaskId
json
返回示例
{
  "Result": {
    "SegmentTask": {
      "StartTime": 1677477732000,
      "EndTime": 0,
      "Status": 2,
      "StopReason": "",
      "TargetStreams": {
        "StreamList": [
          { "Index": 0, "UserId": "user0", "StreamType": 0 },
          { "Index": 1, "UserId": "user1", "StreamType": 0 }
        ]
      },
      "Handle": true,
      "Identifier": "getsegmenttask",
      "MaxIdleTime": 600,
      "Duration": 40,
      "Control": { "Align": true, "Mixed": true, "RedundantDuration": 3, "IgnoreSilence": true },
      "StorageConfig": {
        "Type": 0,
        "TosConfig": { "AccountId": "Your_AccountId", "Region": 0, "Bucket": "Your_Bucket" },
        "VodConfig": { "Region": 0 },
        "VeImageXConfig": { "Region": 0 },
        "CustomConfig": { "Vendor": 0, "Region": 0 }
      }
    }
  },
  "ResponseMetadata": {
    "RequestId": "Your_RequestId",
    "Action": "GetSegmentTask",
    "Version": "2022-06-01",
    "Service": "rtc",
    "Region": "cn-north-1"
  }
}
json
错误码

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