全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
视频直播

直播录制存入OSS

更新时间:2018-01-19 12:15:09

视频直播服务支持将接收到的源视频流进行录制,支持 m3u8(同时会有 .ts 分片文件)、mp4、flv 格式,同时支持周期录制时长的设置。视频文件保存至指定的 OSS 存储位置。在一次推流结束时,自动生成本次推流的录制索引文件(m3u8 文件、mp4 文件、flv 文件),同时也支持按您指定的录制开始和录制结束时间生成自定义录制索引文件。

在一个直播加速域名下,直播录制设置按直播推流的 App Name 进行区分,即同一个 App Name 下的视频流(Stream)都按此 App Name 下的录制设置进行录制。

为了便于您对录制内容进行回看,直播录制的存储位置为 OSS bucket 和 媒体 Bucket中。若存储在媒体 Bucket 中,需先开通媒体转码服务,并设定好输入媒体 Bucket 和输出媒体 Bucket。本文档以存入OSS bucket为例进行说明。存储到媒体bucket的相关操作,参见 直播录制转为媒体文件

操作步骤

步骤 1. OSS bucket创建

在创建直播录制服务时,需要将视频存储到 OSS bucket 中。因此,需要提前创建一个 OSS bucket。

  1. 登录 OSS控制台,单击 新建Bucket

    2

  2. 输入Bucket信息。

    Bucket区域填写直播域名所在区域,直播域名所在区域是 华东2。因此,Bucket也必须选择 华东2

    2

    注意:Bucket创建完成后,请确认Bucket所属区域是否与直播域名做在区域一致,并可根据自己的使用需求来创建Bucket的文件夹。

  3. 文件管理 中,单击 新建目录

    当您的录制文件较多时,创建目录是为了对录制内容进行分类,方便对录制内容进行管理。

    2

  4. 输入 目录名,并单击 确定

    2

    • CDN域名配置

      录制文件存储在OSS中,可以配置一个CDN加速域名,查看录制视频时会走CDN加速服务。CDN会将您OSS存储的视频分发到全国各地的节点。用户访问时只需访问最近的CDN节点读取文件,而无需访问OSS的源文件,也不会消耗OSS的外网流量。不仅可提升边缘用户的访问速度和体验,同时CDN的外网流量费用相对OSS外网流量较低,仅为OSS外网流量的50%。可有效的节省整体应用的网络费用。

      单击 域名管理 > 绑定用户域名 进行设置。

      2

      如果您仅对视频进行存储,可不用配置CDN加速域名。

      注意:CDN加速域名与直播服务域名不能是同一个,请分别进行设置。

步骤 2. 创建直播录制

  1. 登录 视频直播控制台

  2. 单击 域名管理

  3. 选择所需的地域。

  4. 选择所需的域名,并单击右侧的 管理

    2

  5. 单击 录制设置,并单击 新建录制

    2

  6. 添加录制设置。

    1. 进入录制设置弹出窗口,输入需要启用录制功能的AppName

      2

      注意: 录制AppName与推流地址中AppName名称需保持一致。 如推流地址中AppName设置为live,则录制AppName也需为live。详细设置参考 直播推流

    2. 录制模式。

      存储(OSS):直播录制视频按录制设置存入OSS中。

      点播(VOD):直播录制视频转入点播系统按点播规则生成点播文件。

    3. 录制格式。

      录制格式支持 flv、mp4、m3u8 三种格式,其中 m3u8 格式会将 ts 切片地址同时给出。

    4. 录制规则。

      默认的录制存储路径为:

      m3u8:record/{Date}/{AppName}/{StreamName}/{StartTime}_{EndTime}

      ts:record/{Date}/{AppName}/{StreamName}/{UnixTimestamp}_{Sequence}

      mp4:record/{Date}/{AppName}/{StreamName}/{StartTime}_{EndTime}

      flv:record/{Date}/{AppName}/{StreamName}/{StartTime}_{EndTime}

      截图示例中 AppName 为 AppName,所以录制 m3u8、ts 的存储路径为:

      m3u8:record/{Date}/AppName/{StreamName}/{StartTime}_{EndTime}

      ts:record/{Date}/AppName/{StreamName}/{UnixTimestamp}_{Sequence}

      如果默认的录制文件存储路径不满足您的需求,您可自行修改。

    5. 设置存储位置。

      单击 选择,并在弹出的对话框中,单击 标准bucket存储 页签,选择所需的bucket。

      bucket

    6. 周期录制时长。

      最大支持 6 小时录制,超过 6 小时按照录制命名规则生成新文件,时长支持 15-360 分钟。但 ts 切片时长默认为 30s。

    7. 录制文件命名。

      { } 符号为变量,flv、mp4、m3u8 支持 {AppName}、{StreamName}、{Date}、{Sequence}、{StartTime}、{EndTime}。除了 {StartTime}、{EndTime},其他可按需保留或者删除。TS 支持 {AppName}、{StreamName}、 {Date}、{Sequence}、{UnixTimestamp}, 可按需保留或删除。

      • {date} 将录制文件按照日期进行文件夹分类,默认日期格式为“年-月-日”。

      • {StreamName} 可自动获取您推流的 StreamName 名称作为存储路径,不需要手动修改。若需自定义,更改{streamName} 即可。

      • {Sequence} 为序列变量。

      • {StartTime} 为录制开始时间,{EndTime} 为录制结束时间,flv、mp4、m3u8 三种格式参数值必须要有这两个变量。

      • {UnixTimestamp}_{Sequence} 为时间戳与序列变量。可自动根据 ts 文件生成时间以及顺序将 ts 文件进行命名。

      直播录制为兼容直播推流过程由于网络抖动等问题导致的推流短时间中断,推流中断 180秒 内没有恢复推流才会判定此次直播结束。系统会以{AppName}/{StreamName}/{日期}.m3u8的默认录制索引文件(m3u8 文件)格式单独存放。

  7. 单击 确定 完成录制设置。

    录制设置 标签页列出了本域名下所有录制设置。

    2

    由此,本域名下所有 AppName为 AppName 的直播流,都会按此规则进行录制。设置完成前已经在推流的直播将不会触发录制,新发起的直播才会触发录制(当前直播需中断推流 180 秒以上)。

  8. 录制文件回看。

    录制下来的视频可以进行点播回看。

    注:以下为推播流Demo示例,推流地址中的AppName与播流地址的AppName与录制模板的AppName保持一致。

    录制推播流

步骤 3. 录制文件查看

录制下来的文件存储在OSS列表中。通过OSS可进行查看、下载、播放。也可以在直播控制台中进行列表查看与播放。

  • 录制文件在OSS控制台查看

    在OSS控制台中找到存储视频文件夹。录制文件按照规则存储在OSS中,可在OSS中获取视频的播放地址。

    视频完整的文件存储在 record/date/AppName/StreamName 下,与TS切片文件存储在一个文件夹中。单击 文件 可获取地址进行播放。

    2

  • 录制文件在直播控制台查看

    视频直播控制台 的录制索引模块也可以查看录制文件。

    2

本文导读目录