开通服务
云端录制为付费增值服务。
- 在开发环境下,可免费体验云端录制服务。可登录开发者后台,在 云端录制页面开通服务,查看免费体验额度。
- 在生产环境下,需要预存费用才能开通服务。
在配置云端录制服务或调用调用云端录制 API 之前,请确认已在开发者后台云端录制页面开通服务,并已完成相关配置。
配置录制参数
开通服务时,需要配置录制参数和云存储参数。下图中标 *
的为必填项目。
录制参数 | 说明 |
---|---|
用户所在区域 | 为了录制效果较为流畅,您需要标识您最终用户的所在地域。 |
录制触发方式 | 自动录制或手动录制。
|
录制模式 | 录制模式可控制以下行为:
|
是否录制仅有一人的会话 | 一般适用于监控、单主播、或通话未接通时仍发流等场景。 |
分辨率 | 录制视频的输出分辨率。 |
音频格式 | 音频封装格式,支持 `aac`、`mp3`。 注意:部分视频/音频格式组合可能与播放器软件存在兼容性问题。如果出现播放问题(例如,视频无声),建议更换当前平台使用的播放器进行排查,再根据排查结果确定合适的音频/视频格式组合。 |
视频格式 | 视频封装格式,支持 `mkv`、`mp4`、`flv`、`hls`。 注意:部分视频/音频格式组合可能与播放器软件存在兼容性问题。如果出现播放问题(例如,视频无声),建议更换当前平台使用的播放器进行排查,再根据排查结果确定合适的音频/视频格式组合。 |
切片时长 | 为了防止时间太长导致文件过大,录制会定期对文件进行切片。详见下方封装文件大小参考值 与 切片时间说明。 |
合流布局方式 | 在录制模式为 Mix 模式时,控制多视频画面的排版方式,可选择悬浮布局或自适应布局。详见了解合流布局。 注意:该配置仅针对以下录制模式生效:
|
回调地址 | 填入接收云端录制回调的地址。服务端会通过回调通知您的应用服务录制开始、录制结束等状态以及对应的详细信息。详见[状态回调]。 |
设置云存储参数
下图中标 *
的为必填项目。
云存储参数 | 说明 |
---|---|
云存储厂商 | 请选择您使用的第三方云存储厂商,如果您的云存储厂商不在列表中,可以提交工单联系我们。 |
文件存储地址 | 请填写第三方存储厂商的上传 URL。 |
云存储账号 | 请填写第三方存储厂商的 Access Key。 |
云存储密码 | 请填写第三方存储厂商的 Access Secret。 |
存储桶名称 | 请填写第三方存储厂商的用于存放录制文件的 Bucket。 |
自定义存储目录 | 开启或关闭,开启后可配置指定在第三方存储厂商的存储路径。 |
指定存储目录 | 格式为/path/,必须以“/”结束,如存储路径中需要包含动态参数,可使用{X}进行设定。动态参数支持:{yyyyMM} :日期,年月;{roomId} :房间ID;{sessionId} :会话ID。示例:如需要按时间和房间id区分存储路径,指定存储录制配置为:/{yyyyMM}/{roomId}/ |
常见云存储的账号参数配置,可以参见下方知识库文档:
云存储账号、云存储密码、存储桶名称等在不同的第三方存储厂家可能有不同的名称,如: appkey, secret, bucket 等。具体您可以询问您使用的第三方厂商。
录制模式详解
配置录制参数时,可以选择录制模式。
Single 模式 – 全录
分别录制房间内每个用户的每个音频流、视频流。以两人会议为例:
- 如果两个用户均为音视频,则生成 4 个文件(2 个纯音频 + 2 个纯视频)。
- 如果两个用户均为音频,则生成 2 个纯音频文件。
- 如果一个用户为音视频,另一个用户为纯音频,则生成 3 个文件(2 个纯音频 + 1 个纯视频)。
Single 模式 – 仅录视频
分别录制房间内每个用户的每个视频流,音频不进行录制。
以两人会议为例,两个用户均为音视频,会生成 2 个纯视频文件。
Single 模式 – 仅录音频
分别录制房间内每个用户的每个音频流,视频不进行录制。
以两人会议为例如果两个用户均为音视频,会生成 2 个纯音频文件。
Mix 模式 – 全录
将房间内所有用户的音视频合流,合并录制到 1 个视频文件。
以两人会议为例:
- 如果两个用户均为音视频,会生成 1 个带音频和视频的视频文件,画面为两人合流后的图像,声音为两人混流后的音频。
- 如果两个用户均为音频,会录制为 1 个仅含音频的视频文件,声音为两人混流后的音频。
Mix 模式 – 仅录视频
将房间内所有用户的视频合流,合并录制到 1 个视频文件,音频不进行录制。
以两人会议为例,如果两个用户均为音视频,会生成 1 个纯视频文件,画面为两人合流后的图像,不包含音频。
Mix 模式 – 仅录音频
将房间内所有用户的音频合流,合并录制到 1 个音频文件,视频不进行录制。
以两人会议为例,两个用户均为音视频,会生成 1 个纯音频文件,声音为两人混流后的音频,不包含视频。
单人 Mix 模式 – 视频
分别录制房间内每个用户的音视频流,以用户为单位合并录制到 1 个视频文件。
以两人会议为例:
- 如果两个用户均为音视频,则生成 2 个文件,每个文件分别包含一个用户的音频和视频。
- 如果两个用户均为音频,则生成 2 个仅含音频的视频文件,每个文件分别包含一个用户的音频。
MCU 合流模式–全录
直播场景下,以观众视角录制房间内的音视频合流,录制到 1 个音视频文件。
以音视频直播为例:
- 单主播进行视频直播,或者和其他主播进行视频连麦 PK,或者多主播进行音视频直播时,以观众视角进行音视频录制,录制到 1 个音视频文件。
MCU 合流模式–仅录视频
直播场景下,以观众视角录制房间内的视频合流,录制到 1 个视频文件。
以音视频直播为例:
- 单主播进行视频直播,或者和其他主播进行视频连麦 PK,或者多主播进行音视频直播时,以观众视角进行视频录制,录制到 1 个视频文件。
MCU 合流模式–仅录音频
直播场景下,以观众视角录制房间内的音频合流,录制到 1 个音频文件。
以音频直播为例:
- 单主播进行音频直播,或者和其他主播进行音频连麦 PK,或者多主播进行音频直播时,以观众视角进行音频录制,录制到 1 个音频文件。
开通音视频直播服务后才能使用上述 MCU 合流模式。
封装文件大小参考值
文件类型 | 可播放10分钟的文件大小估值(MB) |
---|---|
音频 | 5 |
640x480 | 30-40 |
1280x720 | 70-80 |
以上文件大小为普通场景下的测试数据,仅供参考,实际数据与您设置的码率有关。
切片时长说明
为了防止通话时间过长,录制的文件过大不便于传输和使用,用户可以设置切片间隔时间。
当录制任务的时长大于切片时长时,会将缓存的所有音视频数据封装成一个完整的文件并上传,同时不中断录制直到下一个切片时间或录制结束。录制任务结束时小于切片时长时,会按实际时间进行封装所有音视频数据并上传。
您可以在开发者后台设置切片时长,默认值为 60分钟,可选项如下:
- 30 分钟
- 60 分钟
- 90 分钟
- 120 分钟
切片文件命名规则
以下命名规则仅供参考,不建议您解析具体字段。
录制模式 | 命名规则说明 | 示例 |
---|---|---|
mix 模式 | SessionId_RoomId_时间戳.文件格式。 | 例:1K6-Q3uj6w7cfbGSq0ahA9_1775_1577616009233.mkv |
single 模式 | SessionId_RoomId_UserId_StreamTag_时间戳.文件格式。 | 例:1K6-Q3uj6w7cfbGSq0ahA9_1775_123456_RongCloudRTC_1577616009233.mkv |
单人 mix 音视频模式 | SessionId_RoomId_UserId_时间戳.文件格式。 | 例:1K6-Q3uj6w7cfbGSq0ahA9_1775_123456_1577616009233.mkv |
云端录制在开始录制、文件切片、录制结束、上传的时候均提供 HTTP 录制状态回调,您可以拿到录制元信息和录制文件名、录制文件最终 URL 的对应关系。
字段说明
字段 | 说明 |
---|---|
SessionId | 当前通话的会话 ID。如果使用 RTCLib,可以在创建房间后从房间对象上获取。如果使用 CallLib,可以在建立通话后从当前 call sesion 上获取。 |
RoomId | 通话所在的房间 ID。如您使用 RTCLib,RoomId 为加入房间方法的入参;如您使用 CallLib,可以通过 getCallId 接口获取 RoomId。 |
UserId | 通话的用户 ID。 |
StreamTag | 用户发布自定义视频或屏幕共享时,客户端给流设置的 Tag 字段。 |
时间戳 | Unix 时间戳,单位为毫秒。 |