注意:说明:
注意:关于云端录制的详细计费规则、价格说明及计费示例,请参见 云端录制计费说明。
一、功能简介
TUICallKit 通话录制是在 TRTC 云端录制能力之上的场景化封装,针对通话场景做了深度优化,让你无需关注底层录制配置细节,即可实现通话全程自动录制。核心优势如下:
·零代码接入:控制台一键开启全局录制,或仅需一行代码按需控制特定通话的录制行为,无需拼接混流布局、转码参数等复杂配置。
·自动生命周期管理:通话开始自动录制,通话结束自动停止,全程托管,无需手动启停录制任务。
·九宫格混流录制:自动将通话中所有参与者的音视频按九宫格模式混录为一个文件,便于完整回放。
·通话 ID 自动关联:录制文件自动与通话 ID 绑定,回调通知直接返回通话 ID 与视频 URL 的对应关系,便于业务侧检索和管理。
二、适用场景
TUICallKit 通话录制适用于多种行业场景,以下列举了常见的应用方向:
| 行业场景 | 核心价值 |
| 在线医疗 | 满足医疗监管部门的合规审查要求;沉淀问诊数据用于内部质控和培训;患者可回放问诊过程,减少沟通遗漏。 |
| 娱乐社交 | 满足内容安全监管审查要求;录制内容可用于违规行为取证和溯源。 |
| 视频客服 | 录制服务过程用于客服质检和满意度分析;录制文件可作为服务纠纷时的客观凭证。 |
| 心理咨询 | 满足心理咨询行业的合规存档要求;咨询师可回看录制内容进行案例复盘和专业督导。 |
三、开启云端录制
TUICallKit 支持将通话各方的音视频自动混录为一个文件。你可以通过以下两种方式开启录制,两者可配合使用:全局配置设置默认行为,代码控制可针对特定通话覆盖全局配置。
四、方案一:录制所有通话(推荐)
你可以通过控制台一键开启,适合需要全量录制的场景。
1. 请前往 实时音视频控制台 > 应用管理 > CallKit 功能,进入房间录制卡片页,点击立即配置。
2. 若你尚未开通云点播(VOD)服务,点击立即配置后将跳转至 VOD 激活弹窗;若已开通 VOD 服务,可以跳过此步骤,直接参考第 3 点。
3. 请在配置页面内完成以下录制配置,重点是:开启全房间录制。
| 配置项 | 说明 |
| 存储位置 | 必填。可选存储至云点播(VOD)或对象存储(COS)。 |
| 全房间录制 | 开启后,当前 SDKAppID 下的所有通话都将自动进行录制。 |
五、方案二:录制特定通话
你可以通过设置 cloudRecordPolicy 参数来决定当前通话是否启动录制,适合按需录制的场景。
注意:请确保已在控制台完成存储应用与录制文件保存时长的配置,详见:方案一
KotlinSwiftimport com.tencent.qcloud.tuikit.tuicallkit.TUICallKitimport io.trtc.tuikit.atomicxcore.api.call.CallParamsimport io.trtc.tuikit.atomicxcore.api.call.CloudRecordPolicyval callParams = CallParams()// 设置 cloudRecordPolicy 参数callParams.cloudRecordPolicy = CloudRecordPolicy.EnableTUICallKit.createInstance(context).calls(listOf("mike"), TUICallDefine.MediaType.Video, callParams, object : CompletionHandler {})import TUICallKit_Swiftvar params = CallParams()// 设置 cloudRecordPolicy 参数params.cloudRecordPolicy = .enableTUICallKit.createInstance().calls(userIdList: ["mike"], callMediaType: .video, params: params, completion: nil)
| 参数 | 类型 | 说明 |
| cloudRecordPolicy | CloudRecordPolicy | FollowConsoleConfig:默认值,如果控制台开启了全房间录制则录制,不开启则不录制。Enable:强制开启录制,无论控制台是否开启全房间录制,该通话都会被录制。Disable:强制关闭录制,无论控制台是否开启全房间录制,该通话都不会被录制。 |
六、查看录制文件
结束通话完成录制任务后,你可以直接前往 实时音视频控制台 > 应用管理,在录制配置 > 录制文件管理查看。
七、获取录制文件信息
你可以通过配置回调地址,让腾讯云在录制完成后将文件信息自动推送至你的服务器。
1. 配置回调地址
你可以通过 RESTful API 配置回调 URL,通话结束后,系统将在 30 秒至数分钟内完成文件转存,并向你配置的地址发送回调通知。
2. 监听回调消息
在录制完成后,你将收到包含录制文件信息的回调通知,详见:录制状态变更之后回调。
八、播放录制文件
1. 你可以从回调消息中获取 VideoUrl 字段,该字段为当前录制文件在腾讯云点播的播放地址,你可以直接使用该地址进行播放
2. 根据你的使用平台,选择对应的点播播放器进行集成。关于各平台的集成方式,请参考以下文档:
·iOS 平台
·Android 平台
·Web 浏览器
九、为什么设置了 "cloudRecordPolicy = enable" 但没有生成录制文件?
请你检查是否已在控制台完成以下必填项的配置:
·存储应用:指定录制文件的存储位置。
·录制文件保存时长:设置文件的保存期限。
如果以上配置缺失,即使在代码中开启了录制,系统也无法正常生成录制文件。
十、参数信息
| 规格项 | 说明 |
| 文件格式 | MP4 |
| 视频编码 | H.264 |
| 音频编码 | AAC |
| 分辨率 | 360 × 640 |
| 混流模式 | 将通话中所有参与者的音视频混录为一个文件 |
注意:说明:
注意:目前暂不支持在控制台自定义录制分辨率,你如果有自定义录制文件分辨率的需求,请 联系我们。
十一、TUICallKit 通话录制与 TRTC 的云端录制有什么区别?
TUICallKit 通话录制是在 TRTC 云端录制能力之上的场景化封装,主要区别如下:
| 对比维度 | TRTC 基础云端录制 | TUICallKit 通话录制 |
| 生命周期管理 | 需根据通话回调,控制录制任务,管理录制状态。 | 通话开始自动录制,结束自动停止,全程托管。 |
| 混流录制 | 需自行配置混流布局参数。 | 自动将通话成员按九宫格模式混录为一个文件。 |
| 通话关联 | 录制文件与业务通话无直接关联,需自行维护映射。 | 录制文件自动关联通话 ID,回调直接返回对应关系。 |
| 回调通知 | 需单独配置录制回调。 | 录制完成自动推送文件信息,含通话 ID + 视频 URL。 |
十二、断网重连后,录制文件会中断吗?
不会。通话过程中如果某一方短暂断网后重新连接,录制不会中断,最终仍生成一个完整的录制文件。断网期间该用户的画面会显示为黑屏,音频静音。
十三、对方未接听,还会产生录制文件吗?
会。如果对方未接听(响铃超时或主动拒绝),系统仍会产生一个录制文件,但文件中仅包含主叫方的画面。