You need to enable JavaScript to run this app.
导航

查询云录屏任务状态 GetWebCastTask

最近更新时间2024.01.12 16:39:44

首次发布时间2023.03.30 09:38:18

你可以使用此接口查询指定云录屏任务的相关信息。

使用说明

接口行为

你可以调用GetWebCastTask接口,指定你所属的 AppId,查询指定 RoomId 下的云录屏任务。
通过此接口仅能查询距今 72 小时内开始的云录屏任务。

调用接口

关于调用接口的请求结构、公共参数、签名算法和返回结构,参看调用方法

注意事项

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

请求说明

  • 请求方式:GET
  • 请求地址:https://rtc.volcengineapi.com?Action=GetWebCastTask&Version=2020-12-01

请求参数

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

Query

参数类型是否必选示例值描述
ActionStringGetWebCastTask接口名称。当前 API 的名称为 GetWebCastTask
VersionString2020-12-01接口版本。当前 API 的版本为 2020-12-01
AppIdStringYour_AppId你的音视频应用的唯一标志
RoomIdStringYour_RoomId房间的 ID,是房间的唯一标志
TaskIdStringYour_TaskId要查询的云录屏任务 ID。

返回参数

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

参数类型示例值描述
WebCastTaskObject of WebCastTask-云录屏任务信息

WebCastTask

参数类型示例值描述
StartTimeLong1676987478000任务开始时间戳,Unix 时间,单位为毫秒
EndTimeLong1676987489000任务结束时间戳,Unix 时间,单位为毫秒。0 表示任务未结束

Status

Long

3

任务状态。

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

StopReason

String

StopByAPI

任务停止的原因

  • 返回为空:表示任务未结束
  • UnknownStopReason:未知停止原因
  • StopByAPI:用户主动调用 服务端 OpenAPI 停止
  • StartTaskFailed:任务启动失败
  • ExceedMaxRunningTime:任务超过最大运行时间
UserIdStringYour_UserId推送网页音视频内容的用户对应的 UserId
SourceURLStringhttps://xxxxx需要转推的网页地址,可以携带自定义的 queryParams 来鉴权等,总体长度不超过 1024。
VideoSolutionsArray of VideoSolution-输出的视频参数,最多支持2路,以大小流的方式支持接收端按需订阅,将以最大的视频流分辨率作为网页渲染分辨率,为空时按默认值填充一路
MaxRunningTimeInteger86400最大运行时间,超过此时间后,任务自动终止。单位为秒。取值范围为[10,86400],默认值为 86400。不填时自动调整为默认值。
MonitorConfigObject of MonitorConfig-页面可用性监控配置
EventNotifyConfigObject of EventNotifyConfig-页面事件通知配置。若需要避免未载入完成时的不完整页面被采集,可以启用此配置。

VideoSolution

参数类型示例值描述
WidthInteger1280视频宽度,单位为像素,范围为 [50,1920],默认值为 1280。必须是偶数,值为奇数时自动调整为偶数。
HeightInteger720视频高度,单位为像素,范围为 [50,1080],默认值为 720。必须是偶数,值为奇数时自动调整为偶数。
FrameRateInteger15发送帧率,单位为 帧/秒,范围为[1,60],默认值为 15。帧率和码率设置建议参照视频发布参数对照表以获取最佳体验。
BitrateInteger0最大发送码率,取值范围为[0,10000],单位为 Kbps,默认值 0,为 0 时表示自适应码率。

MonitorConfig

参数类型示例值描述

FreezeCheckInterval

Integer

5

对页面内容是否无变化的检测间隔。取值范围为[2,30],单位为秒。默认值为0,表示不启用。

  • 当连续两次出现检测命中时,将对页面进行刷新,并回调Status=4,Reason="PageFreeze"
  • 再次出现连续两次检测命中时,将进行任务重调度,并回调Status=5,Reason="PageFreeze"
    注意:页面无变化可能是您业务的正常场景,请谨慎评估页面实际内容情况后再开启此功能,以免任务提前退出。

BlankCheckInterval

Integer

5

对页面是否白屏的检测间隔。取值范围为[2,30],单位为秒。默认值为0,表示不启用。

  • 当连续两次出现检测命中时,将对页面进行刷新,并回调Status=4,Reason="PageBlank"
  • 再次出现连续两次检测命中时将进行任务重调度,并回调Status=5,Reason="PageBlank"
    注意:页面全白可能是您业务的正常场景,请谨慎评估页面实际内容情况后再开启此功能,以免任务提前退出。

CrashCheckInterval

Integer

5

对页面 JS 线程是否崩溃/卡死的检测间隔。 取值范围为[0,30],单位为秒。默认值为0,表示不启用。
当出现检测命中时将进行任务重调度,并回调 Status=5,Reason="PageCrash"

EventNotifyConfig

参数类型示例值描述

EnableEventNotify

Boolean

true

是否启用页面主动事件通知, 默认值为false

  • false:页面在打开后就会开始采集,在收到 StopWebCast openAPI 请求后结束采集。
  • true:在页面中注入两个 JS 函数:onWebcastStart()onWebcastEnd()
    当页面判断资源加载完成之后调用 onWebcastStart(),控制程序才会开始进行页面内容的采集。当页面判断本次任务内容已完成时调用onWebcastEnd() 通知控制程序结束本次任务。StopWebCast openAPI 效果不变,业务可提前结束任务。其他页面内容、JS 线程的检测(若启用),将在收到 onWebcastStart()事件后才开始。
    当启用页面主动事件通知后,你可以参考以下示例代码来通知采集开始。
<script>
    if (ready() && typeof onWebcastStart === 'function')
        onWebcastStart();
</script>

StartTimeout

Integer

2

启用页面主动事件通知后,等待开始事件的超时时间。取值范围为[0,60],单位为秒。默认值为0,表示不启用。仅当 EnableEventNotifytrue 时,此参数有效。

  • 当在超时时间内收到开始事件,采集功能正常运行,用户将收到 Status=1的回调。
  • 当超时时间内未收到开始事件,将进行刷新,等待时间被重置,再次发生超时后将进行任务重调度。刷新时将回调 Status=4,Reason=" StartEventTimeout"。重调度时将回调 Status=5,Reason="StartEventTimeout"

请求示例

GET https://rtc.volcengineapi.com?Action=GetWebCastTask&Version=2020-12-01&AppId=Your_AppId&RoomId=Your_RoomId&TaskId=Your_TaskId

返回示例

{
    "Result": {
        "WebcastTask": {
            "StartTime": 1676987478000,
            "EndTime": 1676987489000,
            "Status": 3,
            "StopReason": "StopByAPI",
            "UserId": "Your_UserId",
            "SourceURL": "https://xxxxx",
            "VideoSolutions": [
                {
                    "Width": 1920,
                    "Height": 1080,
                    "FrameRate": 60,
                    "Bitrate": 10000
                }
            ],
            "MonitorConfig": {
                "BlankCheckInterval": 5,
                "CrashCheckInterval": 5,
                "FreezeCheckInterval": 5
            },
            "EventNotifyConfig": {
                "EnableEventNotify": true,
                "StartTimeout": 2
            },
            "MaxRunningTime": 3600
        }
    },
    "ResponseMetadata": {
        "RequestId": "Your_RequestId",
        "Action": "GetWebCastTask",
        "Version": "2020-12-01",
        "Service": "rtc",
        "Region": "cn-north-1"
    }
}

错误码

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