你可以使用此接口查询指定单流转推任务的相关信息。

接口行为

你可以调用GetPushSingleStreamToCDNTask接口,指定你所属的 AppId,查询指定 RoomId 下的单流任务。

你可以查询由客户端或服务端发起的单流转推任务,但返回的参数结构均为服务端的参数结构。

通过此接口仅能查询距今 72 小时内开始的单流转推任务。

前置条件

在查询前,你必须已经在控制台上开通转推直播服务。

调用接口

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

接口限制

QPS 不得超过 60。

请求方式

使用 Get 方式发起请求。

请求参数

以下是接口特有的请求参数。关于其他公共请求参数,参看请求参数。

Query
参数名类型必填示例值描述
ActionString是GetPushSingleStreamToCDNTask接口名称,本接口取值:GetPushSingleStreamToCDNTask
VersionString是2020-12-01接口版本,本接口取值:2020-12-01
AppIdString是Your_AppId你的音视频应用的唯一标志
RoomIdString是Your_RoomId房间的 ID,是房间的唯一标志
TaskIdString否Your_TaskId要查询的转推直播任务 ID。通过服务端发起时,该值为调用 OpenAPI 时传入的 TaskId。通过客户端 SDK 发起时,TaskId 是按照 userId@@taskId 格式拼接而成的字符串;当传入的 taskId 为空时,这里的 TaskId 为 userId。关于 TaskId 和 UserId,请参看注释1。
UserIdString否Your_UserId客户端发起转推任务的用户 ID。关于 UserId,详情请参看注释2。

注释1:

TaskId 和 UserId 均为非必填参数,但是你需要至少填一个参数以保证可以正常发起请求。

注释2:

你在客户端发起多个任务,当使用该接口进行查询时:

请求示例代码
Query
https://rtc.volcengineapi.com?Action=GetPushSingleStreamToCDNTask&Version=2020-12-01&AppId=Your_AppId&RoomId=Your_RoomId&TaskId=Your_TaskId&UserId=Your_UserId
返回调用结果

返回结果参看 BaseResponse。
其中 Result 的结构如下:

参数名类型描述
PushSingleStreamToCDNTaskPushSingleStreamToCDNTask单流转推任务信息
PushSingleStreamToCDNTask
参数名类型描述
StartTimeUint64任务开始时间戳,Unix 时间,单位为毫秒
EndTimeUint64任务结束时间戳,Unix 时间,单位为毫秒。0 表示任务未结束
StatusUint64任务状态。
  • 0: 未知异常状态
  • 1: 未开始
  • 2: 运行中
  • 3: 已结束
  • 4: 任务运行失败
  • StopReasonString任务停止的原因
    • 返回为空:表示任务未结束
    • UnknownStopReason:未知停止原因
    • StopByAPI:用户主动调用 服务端 OpenAPI 停止
    • StartTaskFailed:任务启动失败
    • IdleTimeOut:任务超过最大空闲时间
    • UserDisconnect:客户端用户主动退房/调用停止转推接口
    PushStreamStateInt推流状态
    • 0:未获取到任务状态。建议稍后重新查询
    • 1:未开始推流
    • 2:首次连接 CDN 服务
    • 3:正在重连 CDN 服务
    • 4:连接 CDN 服务成功,正在尝试推流。
    • 5:连接 CDN 服务成功,推流成功
    • 6:已停止推流。
    仅当Status=2 时,PushStreamState 有实际意义;当Status=3 时,PushStreamState=6; status 为其他值时,PushStreamState 均为0。
    StreamStream房间内转推的流
    PushURLString推流地址。目前仅支持 rtmp 协议
    ControlControl配置选项
    正常返回示例
    {
        "Result": {
            "PushSingleStreamToCDNTask": {
                "StartTime": 1677205841000,
                "EndTime": 1677205914000,
                "Status": 3,
                "StopReason": "StopByAPI",
                "PushStreamState": "6",            
                "PushURL": "rtmp://xxxxx",
                "Stream": {
                    "Index": 0,
                    "UserId": "user1",
                    "StreamType": 1
                },
                "Control": {
                    "MediaType": 1,
                    "MaxIdleTime": 180
                }
            }
        },
        "ResponseMetadata": {
            "RequestId": "Your_RequestId",
            "Action": "GetPushSingleStreamToCDNTask",
            "Version": "2020-12-01",
            "Service": "rtc",
            "Region": "cn-north-1"
        }
    }
    
    json