You need to enable JavaScript to run this app.
实时音视频

实时音视频

复制全文
云录屏
开启云录屏 StartWebcast
复制全文
开启云录屏 StartWebcast

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

使用说明

  1. 接口行为

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

注意事项

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

请求说明

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

调试

请求参数

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

Query

参数
类型
是否必选
示例值
描述
Action
String
StartWebcast
接口名称。当前 API 的名称为 StartWebcast
Version
String
2020-12-01
接口版本。当前 API 的版本为 2020-12-01

Body

参数
类型
是否必选
示例值
描述
AppId
String
Your_AppId
应用的唯一标志
BusinessId
String
Your_BusinessId
业务标识
RoomId
String
Your_RoomId
向指定 RTC 房间推送网页音视频内容,房间 ID 是房间的唯一标志
TaskId
String
Your_TaskId

任务 ID。你必须对每个云录屏任务设定 TaskId,且在后续结束任务时也须使用该 TaskId。

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

关于 TaskId 及以上 Id 字段的命名规则符合正则表达式:[a-zA-Z0-9_@\-\.]{1,128}
UserId
String
Your_UserId
推送网页音视频内容的用户对应的 UserId。不能与房间中其他用户的 ID 重复,否则先进房的用户会被移出房间。 建议添加有规律的前缀,避免重复。例如, webcast_
SourceURL
String
https://xxx.xxx.xxx
需要转推的网页地址,可以携带自定义的 queryParams 来鉴权等,总体长度不超过 1024。
VideoSolutions
Object[]
-

输出流的视频参数。网页渲染分辨率为输入最大视频流的分辨率。该值为空时按默认值填充一路。

  • 当设置一路流时,不会输出多路流,输出流参数与设置值相同。
  • 当设置两路流时, RTC 会启动推送多路流功能,设置的两路分辨率相当于分辨率等级划分中的大流和中流的上限。
Width
Integer
1280
视频宽度,单位为像素,范围为 [50,1920],默认值为 1280。必须是偶数,值为奇数时自动调整为偶数。
Height
Integer
720
视频高度,单位为像素,范围为 [50,1080],默认值为 720。必须是偶数,值为奇数时自动调整为偶数。
FrameRate
Integer
15
发送帧率,单位为 帧/秒,范围为[1,60],默认值为 15。帧率和码率设置建议参照视频发布参数对照表以获取最佳体验。
Bitrate
Integer
0
最大发送码率,取值范围为[0,10000],单位为 Kbps,默认值 0,为 0 时表示自适应码率。
MaxRunningTime
Integer
3600
最大运行时间,超过此时间后,任务自动终止。单位为秒。取值范围为 [10,86400],默认值为 86400。不填时自动调整为默认值。
MonitorConfig
Object
-
页面可用性监控配置
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
Object
-
页面事件通知配置。若需要避免未载入完成时的不完整页面被采集,可以启用此配置。
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"

返回参数

本接口无特有的返回参数。公共返回参数请见返回结构
其中返回值 Result 仅在请求成功时返回 ok,失败时为空。

请求示例

POST https://rtc.volcengineapi.com?Action=StartWebcast&Version=2020-12-01
{
    "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
}

返回示例

{
    "ResponseMetadata": {
        "RequestId": "Your_RequestId",
        "Action": "StartWebcast",
        "Version": "2020-12-01",
        "Service": "rtc",
        "Region": "cn-north-1"
    },
    "Result": "ok"
}

错误码

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

最近更新时间:2025.07.03 20:05:44
这个页面对您有帮助吗?
有用
有用
无用
无用