详情页标题前

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技

详情页1

使用场景

案例

在线教育

在线教育的场景中,可以实现在上课的过程中将老师的音视频和学生的音视频进行合成录制,并且加入上课过程中的其他素材与人工智能分析,在真实还原上课场景的同时增加一些业务功能,增加回放视频观看效果。

社交直播

在直播过程,可以采取混流录制的方法将多流合成、旁路审核,从而降低审核的成本,并且根据国家的要求将混流之后录制文件存储,应对监管要求。

金融监管

在线开户,金融双录等场景中,以全局视角录制全部交易过程,并进行存档保留,满足后续服务或者监管要求。

其他

客户服务、投诉等场景,可以实时启动录制,录制服务过程与投诉内容,便于优化服务质量,排查投诉合理性,提升投诉处理效率。

业务流程

本文为您介绍如何 使用 API 网关集成云函数,将实时音视频 TRTC 房间的主播音视频进行混流录制,录制完毕后上传到COS存储,提供开箱即用、灵活便捷、可编程的直播录制能力。云函数默认提供 512MB 内存来存储录制文件,如果您需要更大的存储空间,可以选择使用 CFS 挂载能力。工作流程如下图所示: 

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技


录制规则如下:最多只会录制6路音视频流。当房间低于6个人时,会自动混流后续加入的用户。当房间超过6个人时,只会录制最先进房的6个人。IsReserve 为 true 时,在用户退出房间后,该用户流仍然在混流任务中,混流任务中将以最后一帧画面和静音补全流。IsReserve 为 false 时,在用户退出房间后,该用户流将从混流任务中删除,如果后续有新用户进入,则以新用户的流加入混流中。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 10:混流音频,默认模式。输出 MP3 格式。11:混流视频。输出 MP4 格式。12:混流音视频,输出 MP4 格式。
IsReserve Boolean false,主播退出房间,自动删除混流中的流。true,主播退出房间,混流任务中将以最后一帧画面和静音补全流。默认值为 true。

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 权限去执行。停止录制的触发条件:TRTC 房间被销毁。当 TRTC 房间超过300s没有主播,房间会自动销毁。主动调用移除用户接口,将录制观众移出房间。使用 RoomId 的用户停止录制,需要调用 移除用户 接口。使用 StrRoomId 的用户停止录制时,需要调用 移除用户(字符串房间号)接口。停止录制后,函数返回数据格式如下:

参数名称 类型 必选 描述
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 0:失败。1:成功。
Message String 录制任务的执行结果。例如,录制失败、转码失败、写入 COS 失败等。

操作步骤

创建云函数

1. 登录 Serverless 控制台,进入函数服务页面。2. 在“函数服务”页面上方选择广州地域,并单击新建进入新建函数页面,根据页面相关信息提示进行配置。如下图所示:

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技

创建方式:选择模板创建模糊搜索:输入“TRTC”进行搜索,选择混流音视频录制
单击模板中的查看详情,即可在弹出的“模板详情”窗口中查看相关信息,支持下载操作。3. 单击下一步,根据页面相关信息提示进行配置。如下图所示:

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技

函数名称:默认填充。异步执行:勾选以开启。开启后,函数将以异步执行模式响应事件,事件调用无需阻塞等待处理结果,事件将在被调用后进入异步执行状态。状态追踪:勾选以开启。开启后,针对异步执行的事件,将开始记录响应事件的实时状态,并提供事件的统计、查询及终止服务,产生的事件状态数据将为您保留3天。执行超时时间:可根据需要自行修改。运行角色:默认使用 SCF_ExecuteRole 作为运行角色,并授予 QcloudCOSFullAccessQcloudCFSFullAccess 访问权限。4. 配置 API 网关触发器,默认新建 API 服务,不开启集成响应。您也可以选择自定义创建,自定义创建时确保集成响应关闭。如下图所示:

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技

5. 单击完成即可完成函数创建和 API 网关触发器创建。6. 如需使用 CFS 挂载能力,由于 CFS 只能私有网络访问,因此必须将云函数的 VPC 配置在与 CFS 在同一个私有网络下。如下图所示:

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技

说明启用 CFS,需要将环境变量 CFS_PATH 设置为本地目录,例如 /mnt/audio/

创建 TRTC 应用

1. 登录实时音视频控制台,选择左侧导航栏中的开发辅助 > 快速跑通 Demo。2. 填写 Demo 名称,单击创建完成应用创建。您可以根据自己的客户端选择模板试运行,例如 跑通Demo(桌面浏览器)。

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技



测试函数功能

1. 参考 跑通Demo(桌面浏览器),用户user_00001与user_00002进入一个 TRTC 房间。2. 使用 Postman 构造 HTTP 请求。其中 roomId 为已创建 TRTC 应用的房间号,userId 为随机另一个用户 ID(必须唯一)。如下图所示:

{   "SdkAppId": 1400000000,    "RoomId": 43474,    "UserId": "user_55952145",    "Mode":"12",   "UserSig": "eJwtzNEKgkAUBNB-2efQ3e3eUqG3tMCKJJEIIxxxxxxxxxxxxxxxhvmweLWzGlUxj0mLs1GXKVf3mgrq*GFUdUR0UQrAYWDyW6Y15cwTwDm4UkxF36iXpkq1joiSc9xxxxxxxxxxxxx-S*CZeOk9sHfnEhCwlUW*fE4oWusw3dULlJ7HoSJ2e6d9fM8Y98fxUAzWA__",   "CosConfig": {     "Region": "ap-shanghai",     "Bucket": "test-123456789",     "Path": "/trtc"     },   "IsReserve":false,   "Callback":"https:xxxxxxxx.com/post/xxx"    	}

如下图所示:

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技

3. 请求发送后会收到异步函数响应 “Async run task submitted”,此函数的 RequestId 会通过 HTTP 头部信息中的 x-scf-reqid 返回。如下图所示:

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技

4. 在云函数控制台 函数服务页面中,单击上述 创建云函数 步骤中创建的云函数名称,进入“函数详情”页面。5. 在“函数详情”页面中选择日志查询页签,可以查看到打印出的录制日志信息。如下图所示:

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技

6. 切换至 实时音视频控制台,在“监控仪表盘”页面单击房间 ID,查看所有在房间中的用户,其中一个观众即为录制观众。如下图所示:

腾讯云云函数(SCF)SCF + TRTC 实现混流录制-云淘科技


7. 如需在录制过程中停止录制,可以调用 移除用户 或者 移除用户(字符串房间号) 将用户提出房间。
官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:http://www.yunxiaoer.com/149933.html

(0)
上一篇 2023年12月9日 下午1:28
下一篇 2023年12月9日 下午1:28
详情页2

相关推荐

  • 腾讯云内容分发网络CDNCDN HTTPS 请求数计费公告

    调整说明 腾讯云 CDN 产品将增加 HTTPS 请求数的增值服务计费,定价如下: HTTPS 请求数(万次) 价格(元/万次) 0 – 300(含) 免费 大于 300 0.05 每个账号每个月有300万(含)次 HTTPS 请求数的免费额度,CDN 产品仅对超出免费额度的 HTTPS 请求数进行计费,价格按0.05元/万次请求数进行收取。免费…

    2023年12月9日
  • 腾讯云容器服务edgectl 边缘节点管理工具说明同尘科技

    edgectl 是边缘节点管理工具,用于远程添加边缘节点。您可通过节点管理 > 脚本添加节点操作获取该工具。 edgectl 提供了以下三个命令: 命令 描述 edgectl check 检查节点是否满足安装边缘节点的条件。 edgectl clear 清理边缘节点。 edgectl install 安装边缘节点。 示例代码如下所示: # ./edge…

    腾讯云 2023年12月9日
  • 腾讯云负载均衡【2021年04月27日】负载均衡部分接口鉴权升级公告

    负载均衡 CLB 于北京时间2021年4月27日对部分接口的鉴权功能进行升级优化。升级后,子用户调用这些接口需向主账号 申请 CAM 策略授权,否则可能调用失败。 升级的接口列表 接口名称 接口功能 DescribeClassicalLBByInstanceId 通过后端主机反向查找其绑定的传统型负载均衡 DescribeClusterResources 查…

    2023年12月9日
  • 腾讯云对象存储检索对象内容

    简介 本文档提供关于检索对象内容操作相关的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 SELECT Object Content 检索对象内容 从指定对象(CSV 格式或者 JSON 格式)中检索内容 SDK API 参考 SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考。 检索对象内容 功能说明 COS Select…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储对象标签

    简介 本文档提供关于对象标签的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 PUT Object tagging 设置对象标签 为对象设置标签 GET Object tagging 查询对象标签 查询指定对象下已有的对象标签 DELETE Object tagging 删除对象标签 删除指定对象下已有的对象标签 设置对象标签 功能说明 用…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。