本文档 API 接口为最新版本接口,后续相关功能的新增都会在此更新,推荐使用最新版本接口。旧版接口文档请参考历史版本。
你可以使用此接口查询指定合流转推任务的相关信息。

接口行为

你可以调用GetPushMixedStreamToCDNTask接口,指定你所属的AppId,查询指定 RoomId 下的合流转推任务。

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

不支持查询端云一体场景下客户端合流转推任务。

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

前置条件

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

调用接口

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

接口限制

QPS 不得超过 60。

请求方式

使用 Get 方式发起请求。

请求参数

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

Query
参数名类型必填示例值描述
ActionString是GetPushMixedStreamToCDNTask接口名称,本接口取值:GetPushMixedStreamToCDNTask
VersionString是2023-06-01接口版本,本接口取值:2023-06-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=GetPushMixedStreamToCDNTask&Version=2023-06-01&AppId=Your_AppId&RoomId=Your_RoomId&TaskId=Your_TaskId&UserId=Your_UserId
返回调用结果

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

参数名类型描述
PushMixedStreamToCDNTaskPushMixedStreamToCDNTask合流转推任务信息
PushMixedStreamToCDNTask
参数名类型描述
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。
TargetStreamsStreams转推任务包含的音视频流
ExcludeStreamsStreams转推任务排除的音视频流
PushURLString推流 CDN 地址。仅支持 RTMP 协议。
EncodeEncode输出的音视频编码参数。
LayoutLayout房间内多路流合为一路时的布局参数
ControlControl音视频扩展配置。
正常返回示例
{
    "Result": {
        "PushMixedStreamToCDNTask": {
            "StartTime": 1677237518000,
            "EndTime": 1677239022000,
            "Status": 3,
            "StopReason": "StopByAPI",
            "PushStreamState": "6",
            "TargetStreams": {
                "StreamList": [
                    {
                        "Index": 1,
                        "UserId": "user1",
                        "StreamType": 0
                    }
                ]
            },
            "ExcludeStreams": {
                "StreamList": [
                    {
                        "Index": 3,
                        "UserId": "user3",
                        "StreamType": 1
                    }
                ]
            },
            "PushURL": "rtmp://xxxxxx",
            "Layout": {
                "LayoutMode": 2,
                "CustomLayout": {
                    "Canvas": {
                        "Width": 1280,
                        "Height": 720,
                        "Background": "#303342",
                        "BackgroundImage": "http://xxxxxx"
                    },
                    "Regions": [
                        {
                            "StreamIndex": 1,
                            "LocationX": 0,
                            "LocationY": 144,
                            "WidthProportion": 640,
                            "HeightProportion": 288,
                            "ZOrder": 0,
                            "Alpha": 1,
                            "CornerRadius": 0,
                            "RenderMode": 0,
                            "SourceCrop": {
                                "LocationX": 430,
                                "LocationY": 340,
                                "WidthProportion": 430,
                                "HeightProportion": 340
                            },
                            "AlternateImage": "http://xxxxx",
                            "SpatialPosition": [
                                1,
                                1,
                                1
                            ]
                        }
                    ]
                }
            },
            "Encode": {
                "VideoCodec": 0,
                "VideoBitrate": 1600,
                "VideoWidth": 1280,
                "VideoHeight": 720,
                "VideoFps": 15,
                "VideoGop": 4,
                "AudioCodec": 0,
                "AudioProfile": 0,
                "AudioBitrate": 128,
                "AudioSampleRate": 48000,
                "AudioChannels": 2
            },
            "Control": {
                "MediaType": 0,
                "FrameInterpolationMode": 0,
                "MaxIdleTime": 180,
                "VolumeIndicationInterval": 2,
                "VolumeIndicationMode": false,
                "TalkVolume": 0,
                "SpatialConfig": {
                    "AudienceSpatialPosition": [
                        0,
                        0,
                        0
                    ]
                },
                "PushStreamMode": 0
            }
        }
    },
    "ResponseMetadata": {
        "RequestId": "Your_RequestId",
        "Action": "GetPushMixedStreamToCDNTask",
        "Version": "2023-06-01",
        "Service": "rtc",
        "Region": "cn-north-1"
    }
}
json