实现云端录制

实现云端录制

目前 TRTC 云端录制功能存在新版和旧版两种类型,您可以根据 云端录制能力类型说明 确认当前应用的录制能力类型。

若您当前应用的录制能力类型为新版,请参考 实现云端录制与回放

若您当前应用的录制能力类型为旧版,可参考本文内容实现 Web 端用户开启云端录制。其他端实现方式及云端 API 请参考 实现云端录制与回放(旧)

前提条件

  1. 开通录制云端录制服务,请参考 开通录制服务

  2. 选择录制形式为 "指定用户录制"。

    说明:

    如若选择录制形式为 "全局自动录制", 请参考 全局自动录制

开始录制

主播在调用 TRTC.createClient 接口时设置 userDefineRecordId 参数,之后该主播的上行音视频数据即会被云端录制下来,不指定该参数的主播不会触发录制任务。

// 录制用户 user_123 的音视频流,且指定录制文件 id 为 'record_user_123'
const client = TRTC.createClient({
  sdkAppId: 0,
  userId: 'user_123',
  userSig: 'xxxx',
  mode: 'rtc',
  userDefineRecordId: 'record_user_123'
});

停止录制

当创建client是指定了 userDefineRecordId 参数的主播在停止音视频上行后,云端录制会自行停止。如果您在 选择文件格式 时设置了“续录时间”,则需要等待续录时间超时后才能收到录制文件。

说明:

  • 录制文件会以 userDefineRecordId_开始时间_结束时间 的格式来命名。

多路画面的混合录制

发起录制的用户可以通过调用 client.startMixTranscode 将其它用户的画面和声音混合到自己的云端音视频流上。关于这一部分详细介绍,可以阅读文档:实现云端混流

已知问题

  1. 云端转码录制会出现上行音视频流前几秒没有被录制到的情况。如需解决该问题,可提交 TRTC 用户支持申请 后加入TRTC交流群,联系群内技术支持按需修改云端录制配置。