自定义录制

最近更新时间:2023-03-06 11:55:23

我的收藏
本文帮助您通过自定义录制的方式接入GME 服务端录制功能。

使用场景

GME 对实时语音流提供服务端录制能力,帮助开发者实现内容留存、内容管理、内容再生产等场景。
全量录制:支持录制应用内全量语音房间按房间维度混流、按用户维度单流。
自定义录制:支持录制用户指定房间按房间维度混流、按用户维度单流。录制后的音频文件将存储在您账号下的对象存储(COS)服务中。
本文仅针对自定义录制的开发接入方法进行说明。若您需要对应用开启全量录制,请参见 开发指南-全量录制
注意:
使用 GME 服务端录制功能,录制过程将在GME产生录制服务费用。GME 录制服务将从2023年4月1日起正式计费,计费详情请参见 GME 购买指南
录制后的文件将存储在您的腾讯云账号下的对象存储(COS)服务中,将会根据您的存储量、存储时长、访问频次等具体使用方式产生对象存储(COS)账单。详细计费信息请参见 COS 计费说明

前提条件

已开通实时语音服务:可参见 服务开通指引
已开通服务端录制服务:目前服务端录制功能针对白名单用户提供,请 提交工单申请 开通白名单。
已接入GME SDK:包括核心接口和实时语音接口的接入,详情可参见 Native SDK 快速接入Unity SDK 快速接入Unreal SDK 快速接入

服务架构





功能说明

录制范围

您可通过服务端接口指定需要录制的房间 ID 混流或房间内用户单流。针对指定录制的房间ID,您可以通过服务端接口参数指定需要录制的玩家白名单,或无需录制的玩家黑名单。

相关接口

StartRecord() 开始录制:您可在这个接口参数中定义录制单流或混流、指定需要录制的 RoomID、指定订阅的白名单用户 ID 或黑名单用户 ID。
StopRecord() 结束录制:您可以通过这个接口,对某个taskid停止录制。若您没有记录taskid,则需要先通过 DescribeTaskInfo() 获取指定房间正在进行的录制任务 taskid。
ModifyRecordInfo() 更新录制信息:您可以通过这个接口,对某个 taskid 更新录制信息。包括更新录制类型、更新订阅的白名单用户 ID 或黑名单用户 ID。若您没有记录taskid,则需要先通过 DescribeTaskInfo() 获取指定房间正在进行的录制任务 taskid。
DescribeTaskInfo() 查询房间录制信息:您可以通过这个接口,查询指定房间的录制信息。包括进行中的录制任务 taskid、订阅的白名单/黑名单用户 ID。
DescribeRecordInfo() 查询录制任务信息:您可以通过这个接口,查询某个 taskid 的任务信息。包括录制类型、录制的房间 ID、录制的用户 ID、录制文件信息

录制机制

机制项
描述
录制任务启动机制
调用 StartRecord() 接口后,指定的房间录制任务将会启动
录制任务终止机制
调用 StopRecord() 接口后,指定的房间录制任务将会结束
录音文件生成时机
房间混流录音文件:房间录制任务启动后,若房间已有用户,则混流音频文件立刻开始生成;若房间内无用户,则第一个用户进房后,混流音频文件立刻开始生成
用户单流录音文件:房间录制任务启动后,在录制范围内的用户进房,则该用户的单流音频文件立刻开始生成。
录制任务分片机制
当单个音频文件时长达到两个小时,将自动进行音频文件分片
当用户关麦,用户单流录制音频将自动分片,用户开麦后启动新的分片
若录制中的任务异常中断,任务自动重连后将启动新的分片
录制任务事件通知机制
录制任务事件通过回调机制通知到您配置的回调地址。当发生这些事件时,您会收到回调通知:录制开始录制停止录制文件上传完成
关于回调信息的详情,请参见 录制回调说明

存储位置

GME 服务端录制,录制完成后的音频文件将存储在您账号下的对象存储 COS 服务中的指定存储桶。存储桶地域由您指定,可选的地域列表请参见 对象存储地域说明

录制文件格式

文件格式以 .mp3 格式进行录制。

录制文件命名规则

用户单流录制文件:bizid_roomid_userid/${任务开始时间}_audio.mp3
房间混流录制文件:bizid_roomid/${taskid}_${任务开始时间}_audio.mp3
参数说明:
bizid: GME 应用 ID。可在 GME 控制台 获取
roomid: 语音房间 ID。是您在使用实时语音服务时定义并传入至 GME SDK
userid: 玩家 ID。是您在使用实时语音服务时定义并传入至 GME SDK
taskid: 录制任务 ID,由 GME 录制服务生成。每一次成功调用 录制任务都具有一个独特的任务 ID
id: 针对一个录制任务的分片的序列号。序列号初始序号为0

接入步骤

步骤1:在控制台完成录制服务配置

登录 GME 控制台,进入服务管理菜单,对希望启用录制服务的应用单击设置,进入应用详情页。

1. 开通/关闭录制服务

在页面中对语音录制服务单击 修改 ,将录制开关置为 开启 。n

n首次开启录制服务时,GME 将会向您申请服务授权,以便于访问您的对象存储 COS 服务,您需要在弹窗页面需要同意授权后,才能正常开启服务端录制服务。n



2. 录音文件存储配置

1. 录制文件存储桶 单击 绑定
2. 绑定存储桶弹窗中,您可以绑定一个已有的 COS 存储桶(已有的存储桶需要您在 COS 控制台 先行创建),或新建一个存储桶。n



3. 录制事件回调配置(可选)

如果您希望接收录制服务的事件回调,可以配置回调地址。操作路径:进入应用详情页面,在页面中对语音录制服务单击 修改 ,在 回调地址 单击 修改 ,在弹窗中输入接收回调的 URL 地址。目前仅针对录制任务完成状态推送事件回调消息。n



4. 录制范围配置

录制范围可选自定义录制或全量录制。您此时应选中自定义录制,否则调用服务端相关接口将会失败。完成上述配置后,单击 保存,录制服务即可开启。若您不再需要使用录制服务,请及时在控制台将录制服务开关置为 关闭, 避免产生预期之外的费用。

步骤2:接收录制任务回调(可选)

如果您在 步骤1 中配置了回调地址,则可以接收录制任务事件回调。

步骤3:调用服务端接口,定义录制范围

您需要根据业务场景实际需求来调用相关接口。在调用时序和流程的设计上,请注意:
仅支持对已存在的 RoomId 发起开始录制请求。若 RoomId 不存在,录制任务将创建失败。
若您没有主动调用停止录制,在房间内有用户的情况下,录制进程将一直保持。若房间内用户已全部退房,原录制任务进程将保持12小时。在这段保持的时间内,若用户重新进房,将自动开始录制。若已超过录制进程的保持时间,用户进房将不会自动开始录制。

步骤4:查看/管理录制文件

一个录制任务结束后的数分钟内即可生成完成的音频文件。您需要登录您的 对象存储 COS 控制台 对录制文件进行查看和管理。