SparkRTC服务支持将实时音视频互动内容进行录制并将录制的内容存储到OBS桶中,
您可以在OBS服务中对录制的音视频文件进行下载、分享等处理。相关操作流程,如 图3-1所示。
图3-1 录制流程图
1. 创建桶:创建用于存储SparkRTC录制文件的OBS桶,若已有OBS桶,请直接执行
2。
2. 云资源授权:在SparkRTC服务中对存储录制文件的OBS桶进行授权,允许
SparkRTC服务将录制文件存储在对应的OBS桶中。
3. 配置录制规则:为实时音视频互动配置录制规则,配置完成后,就可以使用录制
规则ID开启录制任务,录制内容按录制设置存储至OBS中。还可以通过设置回调 地址获取录制任务状态通知。
4. 录制:在实时音视频互动过程中,可以通过调用实时音视频API开启、查询和控制
云端录制任务。SparkRTC服务会根据API中的录制规则ID对实时音视频互动画面 进行单流录制。
5. 查看录制文件:录制完成后,在已配置的回调地址中会收到录制任务的回调消
息,您可以获取到录制文件的基本信息,也可以在OBS中管理录制文件,如下 载、分享、删除等。
说明
录制文件的分辨率与推流分辨率相关,按推流原分辨率进行录制。
注意事项
● 一个应用在相同区域仅支持配置一个录制规则。
● 若OBS服务欠费停服,将会导致实时音视频录制失败。建议您在录制启动前,确 认OBS服务是正常服务的。
● OBS服务会因欠费停服,从而导致实时音视频录制失败,建议您购买OBS存储 包。
前提条件
● 已添加应用。
● 因录制生成的音视频文件是存储在OBS桶中的,因此,您需要先开通对象存储服 务,具体请参见OBS快速入门。
费用说明
● SparkRTC录制功能为计费项,将会根据生成的录制文件的总时长收取费用。具体 价格详情请参见SparkRTC产品价格详情。
● SparkRTC录制生成的音视频文件最终存储在OBS桶中,因此,产生的存储使用量 费用将由对象存储服务单独收取。具体价格详情请参见OBS价格详情。
步骤一:创建桶
若您未有存储录制文件的OBS桶,请参见OBS帮助中心创建桶。否则,请直接执行步 骤二:云资源授权。
须知
暂只支持录制存储在华北-北京四的OBS桶中。
步骤二:云资源授权
将OBS桶授权给SparkRTC服务,允许录制文件存储在OBS桶中。具体授权方法请参见 云资源授权。
目前录制文件仅支持存储到华北-北京四的OBS桶中。
区域 OBS桶所在的区域。
参数名 描述
存储-路径 存储录制文件的OBS桶路径。
录制格式 录制文件的格式,支持HLS和MP4文件格式。
HLS规 则
m3u8 命名规 则
录制m3u8文件的存储路径和文件的前缀。
默认命名格式:
{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time}
上述特殊变量的含义如下:
● app_id:应用ID。
● record_format:录制格式。
● stream:流名。
● file_start_time:文件生成时间。
录制周
期 录制时长支持0-720分钟,最小录制周期为1分钟,最大录制周 期为12小时,超过12小时,系统将按照命名规则生成新文件。
如果录制周期为0,则整个流录制为一个文件。
m3u8 命名规 则
录制mp4文件的存储路径和文件的前缀。
默认命名格式:
{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time}
上述特殊变量的含义如下:
● app_id:应用ID。
● record_format:录制格式。
● stream:流名。
● file_start_time:文件生成时间。
录制周 期
录制时长支持1-180分钟,最小录制周期为1分钟,最大录制周 期为3小时,超过3小时,系统将按照命名规则生成新文件。
7. 您可以在录制规则列表中,根据实际需求选择是否开启自动录制功能。自动录制
录制规则配置完成后,您可以根据实际需求调用实时音视频API启动云端录制任务。
SparkRTC服务会根据API中的录制规则ID对实时音视频内容进行录制。
步骤五:查看录制文件
录制完成后,您可以在OBS控制台中或通过回调消息查看录制文件。
● 通过OBS控制台查看录制文件
a. 在OBS管理控制台左侧导航栏选择“对象存储”。
b. 在桶列表中单击存储SparkRTC录制文件的桶,进入“概览”页面。
c. 在左侧导航栏,单击“对象”,查看录制文件信息。
SparkRTC服务提供了录制任务状态回调设置,支持配置HTTP/HTTPS URL,向用户服 务器发送POST请求,将录制任务状态信息实时反馈到用户服务器。
回调协议
● 请求:HTTP POST请求,请求Body的内容为JSON格式。
● 应答:HTTP STATUS CODE = 200,应答内容为JSON格式,用户可以根据实际需 求自定义应答内容。
示例如下:
{ "status": 1, "result" : "success"
}