在在线课堂、视频会议等场景中,你可能需要将指定页面的音视频流转推到 RTC 房间供房间内用户观看,并后续使用云端录制、抽帧截图等高级功能,你可以使用此接口来实现这一功能。

接口行为

你可以调用 StartWebCast接口,将指定网页中的内容转推到 RTC 房间内。
在首帧发送完成和任务结束时,你在控制台上设置的回调地址会收到相关回调。有关回调结果的详细说明,参看 Webcast

调用接口

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

接口限制

QPS 不得超过 150。

请求方式

使用 POST 方式发起请求。

请求参数

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

Query
参数名类型必填示例值描述
ActionString是StartWebcast接口名称,本接口取值:StartWebcast
VersionString是2020-12-01接口版本,本接口取值:2020-12-01
Body
参数名类型必填示例值描述
AppIdString是Your_AppId应用的唯一标志
BusinessIdString否Your_BusinessId业务标识
RoomIdString是Your_RoomId向指定 RTC 房间推送网页音视频内容,房间 ID 是房间的唯一标志
TaskIdString是Your_TaskId任务 ID。你必须对每个云录屏任务设定 TaskId,且在后续结束任务时也须使用该 TaskId。关于 TaskId 的详细说明,参看TaskId说明 。 关于 TaskId 及以上 Id 字段的命名规则,参看 ID。
UserIdString是Your_UserId推送网页音视频内容的用户对应的 UserId。不能与房间中其他用户的 ID 重复,否则先进房的用户会被移出房间。 建议添加有规律的前缀,避免重复。例如, webcast_。
SourceURLString是https://xxx.xxx.xxx需要转推的网页地址,可以携带自定义的 queryParams 来鉴权等,总体长度不超过 1024。
VideoSolutions[]VideoSolution否输出的视频参数,最多支持2路,以大小流的方式支持接收端按需订阅,将以最大的视频流分辨率作为网页渲染分辨率,为空时按默认值填充一路
MaxRunningTimeint否3600最大运行时间,超过此时间后,任务自动终止。单位为秒。取值范围为 [10,86400],默认值为 86400。不填时自动调整为默认值。
MonitorMonitorConfig否/页面可用性监控配置
EventNotifyEventNotifyConfig否/页面事件通知配置。若需要避免未载入完成时的不完整页面被采集,可以启用此配置。
TaskId 说明:

TaskId 是任务的标识,在一个 AppId 的 RoomId 下 taskID 是唯一的,不同 AppId 或者不同 RoomId 下 TaskId 可以重复,因此 AppId + RoomId + TaskId 是任务的唯一标识,可以用来标识指定 AppId 下某个房间内正在运行的任务,从而能在此任务运行中进行更新或者停止此任务。

请求示例代码
Query
https://rtc.volcengineapi.com?Action=StartWebcast&Version=2020-12-01
postscript
Body
{
    "AppId": "Your_AppId",
    "RoomId": "Your_RoomId",
    "TaskId": "Your_TaskId",
    "UserId": "Your_UserId",
    "SourceURL": "https://xxx.xxx.xxx",
    "VideoSolutions": [
        {
            "Width": 1280,
            "Height": 720,
            "FrameRate": 30
        }
    ],
    "MonitorConfig":{   
        "FreezeCheckInterval" : 3,
        "BlankCheckInterval" : 5,
        "CrashCheckInterval" : 5
    },
    "EventNotifyConfig":{    
        "EnableEventNotify" : false,
        "StartTimeout" : 0
    },
    "MaxRunningTime": 60
}
json
返回调用结果

返回值 Result 仅在请求成功时返回"ok",失败时为空。

正常返回示例
{
    "ResponseMetadata": {
        "RequestId": "Your_RequestId",
        "Action": "StartWebcast",
        "Version": "2020-12-01",
        "Service": "rtc",
        "Region": "cn-north-1"
    },
    "Result": "ok"
}
json