游戏多媒体引擎 自定义录制

这篇说说GME自定义录制接入方法,支持按房间混流或用户单流录制语音,文件存储于COS,需先开通服务并配置控制台。 录制范围:通过接口指定房间ID或用户白/黑名单。 相关接口:StartRecord启动、StopRecord停止、ModifyRecordInfo更新、DescribeTaskInfo/RecordInfo查询。 接入步骤:控制台配置→调用接口→接收回调→管理文件。

相关产品
游戏多媒体引擎 产品页,含版本规格、价格与购买入口。

这篇帮助你通过自定义录制的方式接入 GME 服务端录制功能。

一、使用场景

GME 对实时语音流提供服务端录制能力,帮助开发者实现内容留存、内容管理、内容再生产等场景。

·全量录制:支持录制应用内全量语音房间按房间维度混流、按用户维度单流。

·自定义录制:支持录制用户指定房间按房间维度混流、按用户维度单流。录制后的音频文件将存储在你账号下的对象存储(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() 接口后,指定的房间录制任务将会结束。启动任务后,任务最长持续24小时,24小时之后自动终止录制,需要重启录制任务。
录音文件生成时机 房间混流录音文件:房间录制任务启动后,若房间已有用户,则混流音频文件立刻开始生成;若房间内无用户,则第一个用户进房后,混流音频文件立刻开始生成。用户单流录音文件:房间录制任务启动后,在录制范围内的用户进房,则该用户的单流音频文件立刻开始生成。
录制任务分片机制 当单个音频文件时长达到两个小时,将自动进行音频文件分片。当用户关麦,用户单流录制音频将自动分片,用户开麦后启动新的分片。若录制中的任务异常中断,任务自动重连后将启动新的分片。
录制任务事件通知机制 录制任务事件通过回调机制通知到你配置的回调地址。当发生这些事件时,你会收到回调通知:录制开始、录制停止、录制文件上传完成。关于回调信息的详情,请参见 录制回调说明。

六、存储位置

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

七、录制文件格式

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

八、录制文件命名规则

·用户单流录制文件:bizid_roomid_userid/${任务开始时间}_audio.mp3

·房间混流录制文件:bizid_roomid/${taskid}_${任务开始时间}_audio.mp3

注意:参数说明:

九、接入步骤

1. 在控制台完成录制服务配置

2. 调用服务端接口,定义录制范围

3. 接收录制任务回调(可选)

4. 查看/管理录制文件

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

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

十一、1. 开通/关闭录制服务

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

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


十二、2. 录音文件存储配置

1. 在 录制文件存储桶 单击 绑定 。

2. 在 绑定存储桶弹窗中,你可以绑定一个已有的 COS 存储桶(已有的存储桶需要你在 COS 控制台 先行创建),或新建一个存储桶。


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

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


十四、4. 录制范围配置

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

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

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

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

你需要根据业务场景实际需求来调用相关接口。在调用时序和流程的设计上,请注意:

·仅支持对已存在的 RoomId 发起开始录制请求。若 RoomId 不存在,录制任务将创建失败。

·若你没有主动调用停止录制,在房间内有用户的情况下,录制进程将一直保持。若房间内用户已全部退房,原录制任务进程将保持12小时。在这段保持的时间内,若用户重新进房,将自动开始录制。若已超过录制进程的保持时间,用户进房将不会自动开始录制。

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

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

赞 (0)
上一篇 4天前
下一篇 4天前