在一对一或一对多的小班课中,可以针对不同学生多维度进行录制:
本文为您介绍如何 使用 API 网关集成云函数,将实时音视频 TRTC 房间的主播音视频进行单流录制,录制完毕后上传到 COS 存储,提供开箱即用、灵活便捷、可编程的直播录制能力。云函数默认提供512MB内存来存储录制文件,如果您需要更大的存储空间,可以选择使用 CFS 挂载能力。工作流程如下图所示:
API 网关调用涉及的参数如下:
参数名称 | 类型 | 必选 | 描述 |
---|---|---|---|
SdkAppId | Int | 是 | 应用 ID,用于区分不同 TRTC 应用。 |
RoomId | Int | 否 | 整型房间号 ID,用于在一个 TRTC 应用中唯一标识一个房间。 |
StrRoomId | String | 否 | 字符串房间号 ID,RoomId 与 StrRoomId 必须配置一项,如果 RoomId 与 StrRoomId 同时配置,则使用 RoomId。 |
UserId | String | 是 | 录制用户 ID,用于在一个 TRTC 应用中唯一标识一个用户。 |
UserSig | String | 是 | 录制用户签名,用于对一个用户进行登录鉴权认证。 |
CosConfig | cosConfig | 是 | COS 存储配置。用于存储录制文件。 |
Callback | String | 否 | 录制结束后的回调地址,并使用 POST 方式进行回调。 |
Mode | String | 否 |
CosConfig 涉及的参数如下:
参数名称 | 类型 | 必选 | 描述 |
---|---|---|---|
SecretId | String | 否 | 腾讯云账号的 SecretId。详情请参见 访问管理。 |
SecretKey | String | 否 | 腾讯云账号的 SecretKey。详情请参见 访问管理。 |
Region | String | 是 | COS 所在区。例如 ap-guangzhou 。 |
Bucket | String | 是 | 桶名称。例如 susu-123456789 。 |
Path | String | 是 | 桶内路径。例如 /test ,根目录为 / 。 |
说明:
- UserId 为指定用户 ID, 多次请求 API 网关不保证幂等。
- CosConfig 中如果不配置 SecretId 与 SecretKey,函数访问 COS 时将使用运行角色 SCF_ExecuteRole 权限去执行。
停止录制的触发条件:
停止录制后,函数返回数据格式如下:
参数名称 | 类型 | 必选 | 描述 |
---|---|---|---|
SdkAppId | String | 是 | 应用 ID。 |
RoomId | String | 是 | 整型房间 ID。 |
UserId | String | 是 | 录制用户 ID。 |
StrRoomId | String | 是 | 字符串房间 ID。 |
Files | Array | 是 | [{},{},{},{}] |
说明:如果配置了 Callback,停止结束后,云函数将以 POST 方式将返回数据传递给回调地址。
Files 数组中每一项为 JSON Object,如下:
参数名称 | 类型 | 必选 | 描述 |
---|---|---|---|
UserId | String | 是 | 被录制的用户 ID。 |
RecordFile | String | 是 | 录制文件最后上传到 COS 的 URL。 |
Status | Int | 是 | |
Message | String | 是 | 录制任务的执行结果。例如,录制失败、转码失败、写入 COS 失败等。 |
说明:启用 CFS,需要将环境变量 CFS_PATH 设置为本地目录,例如
/mnt/audio/
。
{
"SdkAppId": 1400000000,
"RoomId": 43474,
"UserId": "user_55952145",
"Mode": "02",
"UserSig": "eJwtzNEKgkAUBNB-2efQ3e3eUqG3tMCKJJEIIxxxxxxxxxxxxxxxhvmweLWzGlUxj0mLs1GXKVf3mgrq*GFUdUR0UQrAYWDyW6Y15cwTwDm4UkxF36iXpkq1joiSc9xxxxxxxxxxxxx-S*CZeOk9sHfnEhCwlUW*fE4oWusw3dULlJ7HoSJ2e6d9fM8Y98fxUAzWA__",
"CosConfig": {
"Region": "ap-shanghai",
"Bucket": "test-123456789",
"Path": "/trtc"
}
}
如下图所示:
本页内容是否解决了您的问题?