更新时间:2024-04-18 GMT+08:00
分享

单流录制

场景说明

将房间中的每一个用户的音视频流分别录制成独立的文件。

录制机制

SparkRTC提供的单流录制支持自启动模式,即单流自动录制,具体的实现机制如下图所示。

图1 单流录制
图2 单流自动录制

实现流程

  1. 创建OBS桶:创建用于存储SparkRTC录制文件的OBS桶,若已有OBS桶,请直接执行2

    由于单AZ桶的可靠性低于多AZ桶,为避免因OBS服务异常导致录制失败,建议您创建多AZ桶用于录制文件的存储。

  2. OBS桶授权:在SparkRTC服务中对存储录制文件的OBS桶进行授权,允许SparkRTC服务将录制文件存储在对应的OBS桶中。
  3. 配置录制规则:为实时音视频互动配置录制规则,并开启自动录制功能,加入SparkRTC房间后,与应用中的录制规则ID相同的录制模板会自动生效,录制内容按录制设置存储至OBS中。还可以通过设置回调地址获取录制任务状态通知。
  4. 加入房间:录制规则配置完成后,您可以通过SparkRTC APP加入某个SparkRTC房间进行音视频互动,SparkRTC会根据配置的录制规则对正在直播的音视频进行录制。

    若配置录制规则时,未开启自动录制功能,则加入SparkRTC房间后,您需要调用实时音视频API开启、查询和控制云端录制任务。SparkRTC服务才会根据接口中的录制规则ID对实时音视频互动画面进行录制。

  5. 回放录制文件:录制完成后,在已配置的回调地址中会收到录制任务的回调消息,您可以获取到录制文件的基本信息,也可以在OBS中管理录制文件,如下载、分享、删除等。

    录制文件的分辨率与推流分辨率相关,按推流原分辨率进行录制。

实现步骤

  1. 请参见OBS帮助中心创建桶。若已有OBS桶,请直接执行步骤2

    创建的OBS桶所在区域必须为华北-北京四

  2. OBS桶授权。

    1. 登录实时音视频控制台
    2. 在左侧导航树中选择“云资源授权”,进入桶授权页面。
    3. 在对应的OBS桶行单击“授权”,完成桶授权。

  3. 配置录制规则。

    1. 登录实时音视频控制台
    2. 在左侧导航树中选择应用管理,进入应用管理页面。
    3. 在需要创建录制规则的应用行单击“录制配置”,进入录制配置页面。
    4. 在“录制规则”页签,单击“添加”,进入添加录制规则页面。

      一个应用ID仅支持创建一个录制规则。

    5. 请您按照实际需求配置录制参数,参数说明如表1所示。
      表1 录制参数说明

      参数名

      描述

      存储-桶

      存储录制文件的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,则整个流录制为一个文件。

      最大断流合并时长

      支持如下三种配置:

      • 断流后生成新文件:是指录制的直播流中断后,会立即生成新的录制文件。
      • 断流后不生成新文件:是指录制的直播流中断后,会和之前录制的文件合并为一个文件。最大断流合并时长为30天。
      • 其他数值:是指录制的直播流中断时间在设置范围内,则和之前录制的文件合并为一个文件,否则,生成新的录制文件。

      MP4规则

      mp4命名规则

      录制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小时,系统将按照命名规则生成新文件。

      最大断流合并时长

      支持如下两种配置:

      • 断流后生成新文件:是指录制的直播流中断后,会立即生成新的录制文件。
      • 其他数值:是指录制的直播流中断时间在设置范围内,则和之前录制的文件合并为一个文件,否则,生成新的录制文件。
    6. 单击“确定”,在录制规则列表中会增加一条新的录制规则。
      图3 录制规则
    7. 您可以在录制规则列表中,根据实际需求选择是否开启自动录制功能。自动录制功能开启后,若该应用下有新创建的房间,则会按照已配置的录制规则自动对该房间中的实时音视频互动过程进行录制。

      自动录制功能开启后,仅对同一应用下新创建的房间生效,自动录制功能开启前已创建的房间不生效。

  4. 加入房间。

    录制规则配置完成后,您可以通过SparkRTC APP加入某个SparkRTC房间进行音视频互动,SparkRTC服务会根据配置的录制规则对正在直播的音视频进行录制。

    若配置录制规则时,未开启自动录制功能,则加入SparkRTC房间后,您需要调用实时音视频API开启云端录制任务,SparkRTC才会根据API中的录制规则ID对实时音视频互动画面进行录制。

  5. 回放录制文件。

    录制完成后,您可以在OBS控制台中或通过回调消息查看录制文件。

    • 通过OBS控制台查看录制文件
      1. OBS管理控制台左侧导航栏选择“对象存储”。
      2. 在桶列表中单击存储SparkRTC录制文件的桶,进入“概览”页面。
      3. 在左侧导航栏,单击“对象”,查看录制文件信息。
      4. 您还可以对录制文件进行下载、分享等操作,具体请参见OBS帮助中心

分享:

    相关文档

    相关产品