文档中心
登录
注册
实时音视频
文档指南
产品公告
相关协议
实时音视频
实时音视频
文档指南
请输入
实时音视频
发版说明
客户端 SDK
Web SDK
微信小程序 SDK
服务端 OpenAPI
其他
产品简介
什么是实时音视频
功能特性
基础概念
使用限制
Web SDK 浏览器兼容性和已知问题
产品计费
计费概述
计费规则
音视频通话计费
云端录制计费
转推直播计费
音频切片计费
抽帧截图计费
云录屏计费
WTN 流计费(原公共流)
输入在线媒体流计费
资源包
查看账单和用量
欠费说明
SDK 和 Demo
获取 SDK
获取示例项目
体验 Demo
快速入门
开通服务
跑通示例项目
Android
iOS
macOS
Windows
Linux 桌面版
Linux 命令行版
Web
抖音小程序
微信小程序
Electron
Flutter
Unity
实现音视频通话
Android
iOS (Swift)
iOS (Objective-C)
macOS (C++)
macOS (Objective-C)
Windows
Web
Electron
Flutter
微信小程序
Unity
抖音小游戏(Beta)
React Native
场景方案
在线 KTV
排麦独唱
场景介绍
Demo 体验
场景搭建(iOS)
场景搭建(Android)
体验进阶
双人合唱
场景介绍
Demo 体验
场景搭建(iOS)
场景搭建(Android)
一起看直播
场景介绍
Demo 体验
场景搭建(iOS)
场景搭建(Android)
一起看抖音
场景介绍
Demo 体验
场景搭建(iOS)
场景搭建(Android)
体验进阶
游戏房
场景介绍
Demo 体验
场景搭建(iOS)
场景搭建(Android)
音视频通话
场景介绍
Demo 体验
场景搭建(iOS)
场景搭建(Android)
体验进阶
多人音视频
场景介绍
Demo 体验
场景搭建(iOS)
场景搭建(Android)
场景搭建(Windows)
场景搭建(Web)
场景搭建(抖音小程序)
秀场直播连麦
场景介绍
视频互动
Demo 体验
场景搭建(iOS)
场景搭建(Android)
体验进阶
互动直播
Demo 体验
场景搭建(iOS)
场景搭建(Android)
体验进阶
语音聊天室
场景介绍
Demo 体验
场景搭建(iOS)
场景搭建(Android)
体验进阶
云端会议
场景介绍
Demo 体验
场景搭建 iOS
场景搭建 Android
场景搭建 Web
场景搭建 Electron
大班课
场景介绍
Demo 体验
场景搭建 iOS
场景搭建 Android
场景搭建 Web
场景搭建 Electron
小班课
场景介绍
Demo 体验
场景搭建 iOS
场景搭建 Android
场景搭建 Web
场景搭建 Electron
狼人杀
场景介绍
Demo 体验
场景搭建(抖音小游戏)
在线娃娃机
开发指南
应用管理
创建并管理应用
通过 BusinessId 细分配置下发
Token 鉴权
使用 Token 鉴权
更换 AppKey
音频管理
设置音频属性
播放音效文件
播放音乐文件(混音)
美声和音频降噪
音频音量
空间音频
范围语音
Web 端音频降噪
获取原始音频数据
Native 端获取原始音频数据
Web 端获取原始音频数据
自定义音频采集和渲染
Native 端自定义音频采集和渲染
Web 端自定义音视频采集
自定义音频处理
Web 端音频前处理(AEC-AGC)
视频管理
移动端多前台任务
设置视频发布参数
镜像
美颜
智能美化特效(付费版)
基础美颜(免费版)
Native 端基础美颜
Web 端基础美颜
Electron 基础美颜
Flutter 基础美颜
虚拟背景
Native 端虚拟背景
Web 端虚拟背景
视频采集旋转方向
添加视频水印
视频帧朝向
自定义视频采集
自定义视频渲染
自定义视频编解码
自定义视频处理
Native 端自定义视频处理
Electron 端自定义视频处理
Web 端视频截图处理
音视频设备管理
移动端设置音频路由
设备检测
摄像头检测
麦克风检测
扬声器检测
设备权限处理
设备异常处理
通话前网络检测
Native 端通话前网络质量检测
Web 端通话前网络质量检测
使用 Simulcast 功能
推送多分辨流视频流和自动回退【V3.60 及之后版本】
音视频流自动回退和恢复【V3.58 及此前版本】
推送多分辨率视频流【V3.58 及此前版本】
订阅模式设置
同一用户加入多个房间
跨房间转发媒体流
音频选路
发布和订阅 WTN 流
转推直播
关于转推直播
客户端发起转推直播
集成最佳实践
在防火墙限制下进行通话
通过媒体内容发送补充信息(SEI)
屏幕共享
Android 端屏幕共享
iOS 端屏幕共享
PC 端屏幕共享
macOS 端安装虚拟声卡
Web 端屏幕共享
通过 Electron SDK 实现 PC 端屏幕共享
Electron 架构下通过 Web SDK 实现屏幕共享
Flutter 屏幕共享
录制音视频通话
云端录制
本地服务端录制
实时通话字幕和翻译
推送在线媒体流至RTC 房间或 WTN
SDK 日志文件配置
Flutter 开发指南
网络连接状态与断网提醒
通话质量监测
监控台
数据和统计
查看通话数据
诊断通话
根据异常类型诊断(用户体验诊断)
通过诊断工具深入诊断
实时监控
告警通知
嵌入 RTC 监控台
访问控制
最佳实践
按需集成插件以缩小应用体积
通话打断和恢复
SDK 升级指南
如何升级 RTC 客户端 SDK
Android 客户端升级指南
iOS 客户端升级指南
macOS 客户端升级指南
Windows 客户端升级指南
Linux 客户端升级指南
Web 客户端升级指南
Web 客户端 SDK 版本对比工具
Electron 客户端升级指南
客户端 API 参考
Android 3.60.107
概览
API 详情
回调
错误码
类型详情
iOS 3.60.107
概览
API 详情
回调
错误码
类型详情
macOS 3.60.107
概览
API 详情
回调
错误码
类型详情
Windows 3.60.107
概览
API 详情
回调
错误码
类型详情
Linux 3.60.107
概览
API 详情
回调
错误码
类型详情
Web 4.69
概览
API 详情
事件
错误码
数据类型
微信小程序 3.3
概览
API 详情
事件
错误码
Electron 3.60.1
概览
API 详情
回调
错误码
类型详情
Flutter 3.60
Unity 3.58
概览
API 详情
回调
错误码
类型详情
React Native 3.58
概览
API 详情
回调
错误码
类型详情
服务端 API 参考
API 列表
调用方法
如何调用 OpenAPI
服务地址
公共参数
签名方法
返回结构
公共错误码
服务端回调
回调消息通知
消息事件参考
房间管理
封禁音视频流 BanUserStream
解封音视频流 UnbanUserStream
封禁房间&用户 BanRoomUser
更新房间&用户封禁规则 UpdateBanRoomUserRule
获取实时用户列表 GetRoomOnlineUsers
查询用户状态 GetRoomUsersProperty
限制 Token 发布权限 LimitTokenPrivilege
(不推荐使用)移出用户 KickUser
(不推荐使用)解散房间 DismissRoom
云端录制
开始云端录制 StartRecord
更新合流录制 UpdateRecord
结束云端录制 StopRecord
查询录制任务状态 GetRecordTask
转推直播
开始合流转推 StartPushMixedStreamToCDN
开始单流转推 StartPushSingleStreamToCDN
更新合流转推 UpdatePushMixedStreamToCDN
结束转推直播 StopPushStreamToCDN
查询单流转推任务状态 GetPushSingleStreamToCDNTask
查询合流转推任务状态 GetPushMixedStreamToCDNTask
音频切片
开启音频切片 StartSegment
更新音频切片 UpdateSegment
结束音频切片 StopSegment
查询音频切片任务状态 GetSegmentTask
抽帧截图
开启抽帧截图 StartSnapshot
更新抽帧截图参数 UpdateSnapshot
关闭抽帧截图 StopSnapshot
查询抽帧截图任务状态 GetSnapshotTask
输入在线媒体流
开始输入在线媒体流 StartRelayStream
更新在线媒体流输入 UpdateRelayStream
停止在线媒体流输入 StopRelayStream
查询在线媒体流输入任务 ListRelayStream
WTN 流(原公共流)
发布 WTN 流 StartPushPublicStream
更新 WTN 流 UpdatePublicStreamParam
停止发布 WTN 流 StopPushPublicStream
云录屏
开启云录屏 StartWebCast
结束云录屏 StopWebCast
查询云录屏任务状态 GetWebCastTask
实时数据监控
获取实时通话质量指标 ListRealTimeQuality
获取实时运营数据 ListRealTimeOperationData
获取实时分布质量数据 ListRealTimeQualityDistribution
获取通话质量指标 ListCallDetail
获取实时 WTN 流订阅数据 ListRealTimePublicStreamInfo
历史数据查询
获取离线质量指标数据 ListQuality
获取离线运营数据 ListOperationData
获取离线运营分布数据 ListOperationDistribution
获取离线分布质量数据 ListQualityDistribution
获取离线通话房间列表 ListRoomInfo
获取离线用户通话详情 ListUserInfo
获取通话时长数据 ListUsages
应用管理
创建应用 CreateApp
查询应用 ListApps
启用&停用应用 ModifyAppStatus
业务标识管理
创建业务标识 AddBusinessID
修改业务标识名称 ModifyBusinessRemarks
获取业务标识 GetAllBusinessID
删除业务标识 DeleteBusinessID
实时消息通信
发送房间外点对点消息 SendUnicast
发送房间内点对点消息 SendRoomUnicast
发送房间内广播消息 SendBroadcast
批量发送房间内点对点消息 BatchSendRoomUnicast
实时通话字幕和翻译
开启实时字幕 StartSubtitle
更新实时字幕 UpdateSubtitle
停止实时字幕 StopSubtitle
历史版本(文档停止维护)
2023-08-01
房间管理
获取实时用户列表 GetRoomOnlineUsers
2023-06-01
转推直播
开始合流转推 StartPushMixedStreamToCDN
开始单流转推 StartPushSingleStreamToCDN
更新合流转推 UpdatePushMixedStreamToCDN
结束转推直播 StopPushStreamToCDN
查询合流转推任务状态 GetPushMixedStreamToCDNTask
GetPushSingleStreamToCDNTask - 查询单流转推任务状态 GetPushSingleStreamToCDNTask
云端录制
StartRecord - 开始云端录制 StartRecord
更新云端录制 UpdateRecord
结束云端录制 StopRecord
查询录制任务状态 GetRecordTask
2022-06-01
云端录制
开始云端录制 StartRecord
更新云端录制 UpdateRecord
结束云端录制 StopRecord
查询录制任务状态 GetRecordTask
音频切片
开启音频切片 StartSegment
更新音频切片 UpdateSegment
结束音频切片 StopSegment
查询音频切片任务状态 GetSegmentTask
抽帧截图
开启抽帧截图 StartSnapshot
更新抽帧参数 UpdateSnapshot
关闭抽帧截图 StopSnapshot
查询抽帧截图任务状态 GetSnapshotTask
2020-12-01
房间管理
解封音视频流 UnbanUserStream
封禁音视频流 BanUserStream
封禁房间&用户 BanRoomUser
更新房间&用户封禁规则 UpdateBanRoomUserRule
云端录制
开始云端录制 StartRecord
更新云端录制 UpdateRecord
结束云端录制 StopRecord
查询录制任务状态 GetRecordTask
转推直播
开始合流转推 StartPushMixedStreamToCDN
开始单流转推 StartPushSingleStreamToCDN
更新合流转推 UpdatePushMixedStreamToCDN
结束转推直播 StopPushStreamToCDN
查询合流转推任务状态 GetPushMixedStreamToCDNTask
查询单流转推任务状态 GetPushSingleStreamToCDNTask
音频切片
开启音频切片 StartSegment
更新音频切片 UpdateSegment
结束音频切片 StopSegment
抽帧截图
开启抽帧截图 StartSnapshot
更新抽帧参数 UpdateSnapshot
关闭抽帧截图 StopSnapshot
输入在线媒体流
开始在线媒体流输入 StartRelayStream
更新在线媒体流输入 UpdateRelayStream
停止在线媒体流输入 StopRelayStream
查询输入媒体流任务 ListRelayStream
公共流
发布公共流 StartPushPublicStream
更新公共流 UpdatePublicStreamParam
停止发布公共流 StopPushPublicStream
云录屏
开启云录屏 StartWebcast
结束云录屏 StopWebcast
查询云录屏任务状态 GetWebCastTask
获取数据指标
获取通话时长数据 ListUsages
获取离线质量数据 ListQuality
获取离线运营数据 ListOperationData
获取实时质量数据 ListRealTimeQuality
获取实时分布质量数据 ListRealTimeQualityDistribution
获取通话质量指标 ListCallDetail
获取离线通话房间列表 ListRoomInfo
获取离线用户通话详情 ListUserInfo
获取离线分布质量数据 ListQualityDistribution
获取实时运营数据 ListRealTimeOperationData
获取离线运营指标维度分布数据 ListOperationDistribution
获取通话时长数据 ListUsages
应用管理
创建应用 CreateApp
启用&停用应用 ModifyAppStatus
查询应用 ListApps
实时消息通信
发送房间外点对点消息 SendUnicast
发送房间内点对点消息 SendRoomUnicast
发送房间内广播消息 SendBroadcast
批量发送房间内点对点消息 BatchSendRoomUnicast
附录
常见问题
基础功能咨询
集成相关
参数赋值规范
Android 集成常见问题
iOS 集成常见问题
macOS 集成常见问题
Electron 集成常见问题
切换自定义和内部视频采集/编码模块
房间管理相关问题
自定义视频前处理相关
如何创建和配置 App Group
Web 端自动播放策略
通话音量和媒体音量有什么区别?
Token 使用常见问题
如何在 Visual Studio 中安装 Qt 扩展?
为什么通过系统音量无法调节背景音乐音量
在移动端 WebView 中使用 Web SDK 时,为什么调节音量会出现两个音量条?
质量相关
消除音频噪声
Native 排查无声问题
Web 排查无声问题
排查音频卡顿问题
排查视频卡顿问题
排查摄像头启动异常
排查视频模糊问题
排查视频画面异常
开启摄像头时,画面初始偏暗,逐渐变亮
用户网络带宽推荐
Web 排查设备权限获取失败问题
微信小程序 SDK 相关
与其他端互通
微信小程序 SDK 媒体能力上限
微信小程序端显示远端用户的音视频设备状态
如何解决暂停接收远端视频流后音频出现高延时
如何解决网络断开重连后用户无法进房
uni-app 编译报错 TypeError: Converting circular structure to JSON
历史版本文档
AI 音视频互动方案
发版说明
开始使用
产品简介
快速体验
集成指引
集成到软件应用
集成到嵌入式硬件
迁移至新版接口
AI 音视频互动方案计费
开发指南
配置 ASR/LLM/TTS 服务
配置语音识别 ASR
配置大模型 LLM
配置语音合成 TTS
接入自定义 ASR 或 TTS
接入第三方大模型或 Agent
复刻声音
接入端到端实时语音大模型
实时字幕(对话记录)
上下文管理(短期记忆)
接入记忆库(长期记忆)
打断 AI(终止并开启新对话)
暂停或恢复 AI 播报
判停与对话触发
语音降噪
声纹配置(多人识别或降噪)
通过指令控制语音表现(如情绪)
播报时过滤或转译 LLM 指定内容
传入文本直接提问
传递自定义指令
传入自定义文本让 AI 播报
视频和图片理解
函数调用 Function Calling
接入 MCP
接入联网问答 Agent
接入知识库 RAG
获取 AI 状态
获取 AI 对话任务事件
实践教程
AI 作业辅导
降低对话延迟
提升语音识别准确性
提升多语言 AI 交互体验
API 参考
如何调用 OpenAPI
开启 AI 对话 StartVoiceChat
更新 AI 对话 UpdateVoiceChat
结束 AI 对话 StopVoiceChat
声纹管理
注册声纹 RegisterVoicePrint
更新声纹 UpdateVoicePrint
查询声纹 ListVoicePrint
删除声纹 DeleteVoicePrint
事件和错误码
历史版本(建议迁移至新版接口)
开启 AI 对话 StartVoiceChat(建议迁移至新版接口)
更新 AI 对话 UpdateVoiceChat(建议迁移至新版接口)
结束 AI 对话 StopVoiceChat(建议迁移至新版接口)
FAQ
功能咨询
如何实现联网?
AI 未进房或未正常工作?
出现漏回声或“自问自答”怎么办?
如何在 AI 长时间思考未回复时,播放安抚语?
StartVoiceChat 接口 ASR/TTS 配置中参数透传和直传有什么区别?
调用 StartVoiceChat 接口报错 “NoPermissionForApp”?
收到 ASR 结果但未收到回答的音频流?
如何获取 AI 对话录音文件?
硬件对话智能体
新功能发布记录
开始使用
什么是硬件对话智能体
计费说明
获取 Demo 和 SDK
快速集成
获取开发凭证
官方 SDK 集成指引
通过标准协议自定义接入
用户指南
设备管理
产品管理
智能体管理
License 和扩展资源
使用声音复刻
接收任务状态回调
接收实时字幕
接入 MCP
接入联网问答 Agent
接入记忆库(长期记忆)
初始化会话配置
使用 Function Calling
客户端 API
概述
API 参考
回调
数据类型
服务端 API
调用方法
智能体
创建智能体 AibotCreate
查询智能体 AibotQuery
更新智能体 AibotUpdate
删除智能体 AibotDelete
关联智能体到产品或设备 AibotBind
查询指定产品或设备关联的智能体 AibotDescribeBinding
取消关联智能体与产品/设备 AibotUnbind
声纹
注册声纹 IotVoicePrintRegister
查询声纹 IotVoicePrintQuery
更新声纹 IotVoicePrintUpdate
删除声纹 IotVoicePrintDelete
声音复刻
训练自定义音色 TrainTTSVoiceType
批量查询声音复刻训练任务 BatchListVoiceTrainStatus
附录
模型列表和 Cluster ID
最佳实践
高质量方案设备端 SDK 移植指南
实时信令
什么是实时信令
使用限制
质量指标
RTS 计量计费
实时信令开发指南
客户端与客户端通信
客户端与业务服务器通信
RTS SDK
SDK 概览
RTS SDK 发版说明
下载 RTS SDK
体验 RTS Demo
跑通 RTS 快速开始 Demo
Android
iOS
Web
RTS SDK API 参考
Android 3.54
概览
API 详情
回调
错误码
类型详情
iOS 3.54
概览
API 详情
回调
错误码
类型详情
Web 4.54
概览
API 详情
事件
错误码
数据类型
互动白板
什么是互动白板
获取 SDK 和 Demo
SDK 概览
获取 SDK
体验 Demo
产品计费
白板计费规则
欠费说明
体验和跑通白板 Demo
Android
iOS
Web
构建白板应用
Android
iOS
Web
Electron
微信小程序
高级功能
自定义光标图标
文件上传
在 RTC 房间共享白板
白板录制
客户端 API 参考
白板 SDK 发版说明
Android
概览
API 详情
回调
类型详情
iOS
概览
API 详情
回调
错误码
类型详情
Web
概览
API 详情
回调
错误码
类型详情
版本升级指引
微信小程序
概览
API 详情
回调
错误码
类型详情
服务端 API 参考
API 列表
文件转码
发起文档转码任务 WbTranscodeCreate
查询文档转码进度 WbTranscodeQuery
获取转码输出链接 WbTranscodeGet
白板录制
创建白板录制任务 StartWBRecord
结束白板录制任务 StopWBRecord
白板错误码
附录
历史版本
文档转码
发起文档转码任务 WbTranscodeCreate
查询文档转码进度 WbTranscodeQuery
获取转码输出链接 WbTranscodeGet
白板录制
创建白板录制任务 StartWBRecord
结束白板录制任务 StopWBRecord
白板常见问题
查看历史版本文档
通过 AI 使用
通过 CLI
通过 MCP
文档首页
实时音视频
实时音视频
服务端 API 参考
云录屏
开启云录屏 StartWebCast
复制全文
下载 pdf
我的收藏
云录屏
开启云录屏 StartWebCast
复制全文
下载 pdf
我的收藏
开启云录屏 StartWebCast
文档反馈
问问助手
本文档 API 接口为最新版本接口,后续相关功能的新增都会在此更新,推荐使用最新版本接口。旧版接口文档请参考
历史版本
。
调用 StartWebcast 接口,将指定网页的内容渲染成音视频流,并推送到 RTC 房间中,实现如共享 PPT、播放视频文件等效果。
网页源地址需要兼容 Chrome 浏览器,浏览器版本为 117.0.5938.92。
在首帧发送完成和任务结束时,你可在
控制台
配置回调地址接收相关回调。回调结果的详细说明,参看
Webcast
。
注意事项
请求频率:QPS 不得超过 150。
请求说明
请求方式:POST
请求地址:https://rtc.volcengineapi.com?Action=StartWebcast&Version=2023-11-01
调试
API Explorer
您可以通过 API Explorer 在线发起调用,无需关注签名生成过程,快速获取调用结果。
去调试
请求参数
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见
公共参数
。
Query
Action
String
必选
示例值:StartWebcast
接口名称。当前 API 的名称为
StartWebcast
。
Version
String
必选
示例值:2023-11-01
接口版本。当前 API 的版本为
2023-11-01
。
Body
AppId
String
必选
示例值:66****3cf
实时音视频应用的 AppId。可
在控制台获取
。
BusinessId
String
可选
示例值:B****3
业务标识,用于区分不同业务。可
在控制台获取
。
RoomId
String
必选
示例值:Room1
RTC 房间 ID,向该 RTC 房间推送网页音视频内容。
TaskId
String
必选
示例值:Task1
任务 ID。由您自定义,用于标识和管理(更新、停止)任务。
命名规范
:符合正则表达式 [a-zA-Z0-9_@-.]{1,128}。
唯一性规则
:在同一个 AppId 和 RoomId 组合下,TaskId 必须唯一。
任务运行中,使用相同 TaskId 重复调用该接口,系统将返回提示而非报错。
UserId
String
必选
示例值:User1
需要你自定义,用于标识推送至 RTC 房间的网页内容。发起任务后,服务端会用该 ID 作为虚拟用户加入 RTC 房间,客户端也可通过此 ID 在房间订阅该流。
注意
不能与房间中其他用户的 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
对页面内容是否无变化的检测间隔,单位为秒。默认值为
0
,表示不启用。
当连续两次出现检测命中时,将对页面进行刷新,并回调
Status=4,Reason="PageFreeze"
。
再次出现连续两次检测命中时,将进行任务重调度,并回调
Status=5,Reason="PageFreeze"
。
注意
:页面无变化可能是您业务的正常场景,请谨慎评估页面实际内容情况后再开启此功能,以免任务提前退出。
BlankCheckInterval
Integer
可选
示例值:5
对页面是否白屏的检测间隔,单位为秒。默认值为
0
,表示不启用。
当连续两次出现检测命中时,将对页面进行刷新,并回调
Status=4,Reason="PageBlank"
。
再次出现连续两次检测命中时将进行任务重调度,并回调
Status=5,Reason="PageBlank"
。
注意
:页面全白可能是您业务的正常场景,请谨慎评估页面实际内容情况后再开启此功能,以免任务提前退出。
CrashCheckInterval
Integer
可选
示例值:5
对页面 JS 线程是否崩溃/卡死的检测间隔,单位为秒。默认值为
0
,表示不启用。
当出现检测命中时将进行任务重调度,并回调
Status=5,Reason="PageCrash"
。
EventNotifyConfig
Object
可选
示例值:-
页面事件通知配置。若需要避免未载入完成时的不完整页面被采集,可以启用此配置。
EnableEventNotify
Boolean
可选
示例值:true
是否启用页面主动事件通知,。
false
:页面在打开后就会开始采集,在收到
StopWebCast
openAPI 请求后结束采集。
true
:在页面中注入两个 JS 函数:
onWebcastStart()
和
onWebcastEnd()
。
当页面判断资源加载完成之后调用
onWebcastStart()
,控制程序才会开始进行页面内容的采集。当页面判断本次任务内容已完成时调用
onWebcastEnd()
通知控制程序结束本次任务。
StopWebCast
openAPI 效果不变,业务可提前结束任务。其他页面内容、JS 线程的检测(若启用),将在收到
onWebcastStart()
事件后才开始。
当启用页面主动事件通知后,你可以参考以下示例代码来通知采集开始。
html
复制
<script> if (ready() && typeof onWebcastStart === 'function') onWebcastStart();</script>
StartTimeout
Integer
可选
示例值:2
启用页面主动事件通知后,等待开始事件的超时时间,单位为秒。默认值为
0
,表示不启用。仅当
EnableEventNotify
为
true
时,此参数有效。
当在超时时间内收到开始事件,采集功能正常运行,用户将收到
Status=1
的回调。
当超时时间内未收到开始事件,将进行刷新,等待时间被重置,再次发生超时后将进行任务重调度。刷新时将回调
Status=4,Reason=" StartEventTimeout"
。重调度时将回调
Status=5,Reason="StartEventTimeout"
。
返回参数
本接口无特有的返回参数。公共返回参数请见
返回结构
。
其中返回值
Result
仅在请求成功时返回
ok
,失败时为空。
请求示例
JSON
复制
POST https://rtc.volcengineapi.com?Action=StartWebcast&Version=2023-11-01
{
"AppId": "66****3cf",
"RoomId": "Room1",
"TaskId": "Task1",
"UserId": "user1",
"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
复制
{
"ResponseMetadata": {
"RequestId": "20230604110420",
"Action": "StartWebcast",
"Version": "2023-11-01",
"Service": "rtc",
"Region": "cn-north-1"
},
"Result": "ok"
}
错误码
您可访问
公共错误码
,获取更多错误码信息。
最近更新时间:2026.08.20 10:13:42
这个页面对您有帮助吗?
有用
有用
无用
无用