概述

使用 Agora 本地服务器录制 SDK 进行录制后,录制文件会储存在你的 Linux 服务器上。

设置录制文件的目录结构

你既可以使用默认的目录结构,也可以根据自己的习惯自定义目录结构。

使用默认的目录结构

通过 recordFileRootDir 参数设置录制文件的根目录。设置了此参数后,SDK 会自动生成子目录。

以录制生成一个 mp4 文件为例,自动生成的子目录为 yyyymmdd/ChannelName_HHMMSS_MSUSNS/xxxx.mp4,其中:

  • yyyymmdd:第一级子目录,为加入频道开始录制的日期(年、月、日)。该目录下包含当日开始录制的所有文件,时区为 UTC+0。
  • ChannelName_HHMMSS_MSUSNS:第二级子目录,包含此次录制生成的所有文件。该目录名包含频道名和时间戳。时间戳为服务器开始录制的时间,时区为 UTC+0,HHMMSS 分别指小时、分钟和秒,MSUSNS 分别指毫秒、微秒和纳秒。
注意:
  • v2.3.0 之前的版本,第二级子目录命名为 ChannelName_HHMMSS,以频道名加上时间戳(含有小时、分钟和秒)命名。
  • v2.3.0 及之后的版本,第二级子目录命名为 ChannelName_HHMMSS_MSUSNS,以频道名加上时间戳(含有小时、分钟、秒、毫秒、微秒和纳秒)命名。
  • 自定义目录结构

    自定义目录结构时,需要创建 JSON 格式的配置文件,通过 cfgFilePath 参数指定该配置文件的存放路径。

    通过配置文件中的 Recording_Dir 参数设置保存录制文件的绝对路径,SDK 不会自动生成子目录。例如:{“Recording_Dir” : “recording path”},其中 Recording_Dir 是固定的,不能改动。

    不推荐自定义目录结构,因为若多个录制实例使用相同的配置参数,则会导致不同录制实例的文件存放到相同的目录,难以区分。

    录制文件命名规范

    录制生成的音视频文件以用户 UID 和时间戳 timestamp 命名。时间戳为该 UID 开始录制的时间,由年、月、日、小时、分钟、秒和毫秒组成,时区为 UTC+0。

    举例来说,123_20190611073246073.aac 表示在 UTC 2019 年 6 月 11 日 7 点 32 分 46 秒 73 毫秒时开始录制的一个 UID 为 123 的用户的音频文件。

    合流录制模式下,录制文件名中 UID 为 0。

    其他文件

    除了音视频文件外,你还需要关注每个 ChannelName_HHMMSS_MSUSNS 文件夹中生成的下列文件:

    文件名 描述
    recording2-done.txt 标识本次录制结束。
    uid_UID_timestamp.txt 记录每个 UID 的音视频文件开始和结束的时间戳以及视频文件的相关信息(宽、高和旋转)。例如单流模式下文件名为 uid_123_20190611073246073.txt,合流模式下文件名为 uid_0_20190611073246073.txt
    recording_0.logrecording_sys.log 录制相关 log 文件。如果录制过程中出现问题,可以在这两个文件中查找原因。

    保护录制文件

    录制文件仅保存在您的 Linux 服务器上,Agora 无法访问,你可以自行采取保护措施或者咨询安全专家。处理这些录制文件的方法跟在您的服务器上处理一般文件的方法一样。