数据流录制 Beta
  • 平台类型
  • 框架 / 引擎
  • iOS
  • Android
  • macOS
  • Windows
  • Linux
  • Web
  • 小程序

录制实现流程

更新时间:2021-09-10 14:48

1 概念解析

  • 布局:指文件资源的显示模式。数据流录制服务在录制时,可以通过服务端接口,记录用户在回放时想要使用的布局方式,回放时每路音视频流与白板在画面中的显示位置依赖于设置的布局方式,布局方式请参考 常用功能 - 设置回放布局
  • 信令:指系统中各个模块之间传递的控制信息,用来表示各个模块中的数据消息、并传递到相应模块请求响应。当需要录制自定义事件时,可通过本接口,开发者可以发送自定义数据到数据流录制服务,数据流录制服务会将收到的自定义数据进行相应处理。

2 录制实现流程图

/Pics/ZegoRecorderPlayback/recoderImplementation.png

对于以上流程,ZEGO 数据流录制服务提供了一组 RESTful API,开发者通过集成相应的 API 接口,向数据流录制服务发起 HTTP 请求,即可控制整个录制的过程。

  1. 获取鉴权凭证
  2. 开始录制
  3. 结束录制
  4. 获取回放信息

除了上述必备 API 之外,数据流录制服务还提供了其它 API 用以实现更新布局、更新白板、发送自定义信令、查询录制状态等功能,请参考 服务端 API v2

3 前提条件

4 使用步骤

4.1 开始录制

在移动端开始录制前,需要调用 ZegoExpress SDK 的设置引擎进阶配置接口 setEngineConfig,设置 key: "use_data_record", value: "true",启动数据流录制功能。启动后,ZegoExpress SDK 会强制开启“媒体补充增强信息(SEI)”功能,并将发送 SEI 的类型改为 “USER_UNREGISTER”。

调用 StartDataFlowRecord 方法,设置房间号即可进入该房间进行录制,请求成功会返回对应的录制 “TaskId”,该 “TaskId” 是整个录制周期的唯一标识,将作为调用后续方法的请求参数。

调用所有接口都需要带上公共参数,详见 调用方式,之后不再赘述。

4.2 结束录制

调用 StopRecord 方法停止录制,录制的文件资源将会存储在 ZEGO 数据流录制的存储空间中。

4.3 获取回放信息

录制结束后,当需要进行回放时,需要先调用 DescribePlayInfo 方法,访问数据流录制服务,获取回放信息。

4.4 更新布局

录制过程中可以多次调用 UpdateLayout 方法更新布局,布局方式请参考 常用功能 - 设置回放布局

4.5 更新白板

录制过程中可以多次调用 UpdateWhiteboard 方法,更新白板 ID。

4.6 发送自定义信令

录制开始前或录制过程中可以多次调用 SendCustomMessage 方法,发送自定义的信令数据。自定义信令数据会保存下来,并在回放时抛出给开发者,通常用于实现开发者自定义的一些事件。

4.7 查询录制状态

录制过程中可以多次调用 DescribeRecordStatus 方法,查询当前的录制状态。

5 API 调用时序图

相关文档

自定义信令是否有发送频率限制?