在在线课堂、视频会议等场景中,你可能需要云录屏功能,对整个网页进行录制,实时生成整体课堂/会议直播间画面。
录制生成的文件会存储到对象存储(TOS)平台。如果你需要转码、抽帧、切片等高级服务,可以将录制生成的文件同时存储到视频点播平台。
开启云录屏功能后,如果录制完成或失败,你在 RTC 控制台上指定的 url 地址会收到来自 RTC 服务端的消息回调,相关事件的信息包含在回调字段中。有关回调结果的详细说明,参看WebRecordResult。
你可以使用 StartWebRecord 这个 OpenAPI 实现这一功能。
云录屏功能仅会录制你输入网页的页面内容,所见即所得。
你可以使用 StartWebRecord 接口,发起录屏任务,对指定网页进行云录屏。
在开始录制前,你需要在 RTC 控制台授权视频点播和对象存储。
关于调用接口的服务地址、通信协议、字符编码和签名机制,参看调用 OpenAPI。
QPS 不得超过 150。
使用 POST 方式发起请求。
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | StartWebRecord | 接口名称,本接口取值:StartWebRecord |
| Version | String | 是 | 2020-12-01 | 接口版本,本接口取值:2020-12-01 |
| 参数名 | 类型 | 必填 | 示例值 | 描述 |
|---|---|---|---|---|
| AppId | string | 是 | Your_AppId | 应用的唯一标志 |
| TaskId | string | 是 | Your_TaskId | 任务 ID,是任务的唯一标志。你必须对每个云录屏任务设定 TaskId,且在后续进行任务结束时也须使用该 TaskId。关于 TaskId 的详细说明,参看TaskId说明 。 关于 TaskId 及以上 Id 字段的命名规则,参看 ID。 |
| InputURL | string | 是 | [http://www.xxx.xxx/xxx/xxx.html](http://www.xxx.xxx/xxx/xxx.html) | 录制网页的 url 地址 |
| MaxRecordSecond | Integer | 否 | 21600 | 最大录制时长,单位为秒。取值范围为[10,43200],默认值为 21600。 |
| JsCommand | List | 否 | ["windows.startRecord","windows.location.herf=/1.html"] | 页面加载后的 js 命令集合,总长度不超过 2000 个字符。 |
| Bucket | String | 是 | Your_Bucket | 存储桶名称。 |
| VideoSpace | String | 否 | / | 点播平台上指定的点播空间 |
| VideoInfo | VideoInfo | 否 | 生成视频参数信息 | |
| PageInfo | PageInfo | 否 | 录制网页参数信息 | |
| Duration | Integer | 否 | 60 | 分片间隔时间,单位为秒。取值范围为 [10,3600],默认值为 60,不传时自动设置成默认值。现无法保证间隔空间完全准确,误差在 10秒以内。 |
TaskId 是任务的标识,在一个 AppId 的 RoomId 下 taskID 是唯一的,不同 AppId 或者不同 RoomId 下 TaskId 可以重复,因此 AppId + RoomId + TaskId 是任务的唯一标识,可以用来标识指定 AppId 下某个房间内正在运行的任务,从而能在此任务运行中进行更新或者停止此任务。
https://rtc.volcengineapi.com?Action=StartWebRecord&Version=2020-12-01
postscript{
"AppId" : "Your_AppId",
"TaskId" : "Your_TaskId",
"InputURL" : "http://www.xxx.xxx/xxx/xxx.html",
"MaxRecordSecond": 7200,
"JsCommand": ["windows.startRecord","windows.location.herf=/1.html"],
"VideoSpace" : "Your_VideoSpace",
"Bucket" : "Your_Bucket",
"Duration" : 60,
"VideoInfo":{
"ResolutionWidth": 1920,
"ResolutionHeight": 1080
},
"PageInfo":{
"PageWidth": 1920,
"PageHeight": 1080
}
}
json返回值 Result 仅在请求成功时返回"success",失败时为空。
{
"ResponseMetadata": {
"RequestId": "Your_RequestId",
"Action": "StartWebRecord",
"Version": "2020-12-01",
"Service": "rtc",
"Region": "cn-north-1"
},
"Result":{
"Message": "success",
"EventData": {
"TaskId": "Your_TaskId"
}
}
}
json