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

直播录制

更新时间:2017-11-07 23:10:05

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

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

为了便于您对录制内容进行 mts 回看,直播录制的存储位置为 OSS 和 媒体 Bucket中,若存储在媒体 Bucket 中,需先开通媒体转码服务,并设定好输入媒体 Bucket 和输出媒体 Bucket。

创建存储位置

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

创建bucket

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

    2

  2. 输入Bucket信息。

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

    2

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

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

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

    4

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

    2

    • CDN域名配置

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

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

      3

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

创建直播录制

  1. 登录 视频直播控制台

  2. 选择 域名管理 标签页,选择所需的地域。

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

    2

  4. 进入 录制设置 标签页,单击 新建录制

    2

  5. 添加录制设置。

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

      3

      注:

      • 录制AppName与推流地址中AppName名称需保持一致,详细设置参考 直播推流
      • 只有直播视频存储与媒体转码工作流媒体输入选择相同的Bucket,直播录制的视频才可能执行视频转码工作流的操作。
    2. 指定录制存储的 Bucket。

      注:输入媒体 Bucket 为媒体转码服务中设定的输入媒体 Bucket。没有开通媒体转码服务并且创建媒体 Bucket 的不显示此标签。

      媒体 Bucket 的主要用途是为存储的视频进行二次转码操作。

      bucket

      默认的录制存储路径为:

      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}

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

    3. 录制格式。

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

    4. 周期录制时长。

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

    5. 录制文件命名。

      { } 符号为变量,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 文件)格式单独存放。

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

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

    3

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

  7. 录制文件回看。

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

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

    录制推播流

  8. 录制文件查看

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

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

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

      14

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

      3

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

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

      2

直播录制转为媒体文件

直播录制后的视频为原始画质视频。如您想将录制视频转为多种媒体格式,可通过MTS媒体转码服务,对原始画质视频进行二次转码。因此,需要对录制的视频与MTS做一个关联。

注:媒体转码工作流的输入 Bucket 选择与直播录制设置的媒体 Bucket 选择必需保持一致,否则直播录制视频不会执行 MTS 控制台的相应操作,也不会在 MTS 控制台展示。

步骤 1. 创建媒体工作流

创建 MTS 媒体工作流之前,需先确认已经在 MTS 控制台创建了媒体 Bucket,详情参考 媒体库设置。然后再在 MTS 控制台创建工作流。最后选择工作流区域,直播目前支持 华东2华北2 区域,媒体库设置区域选择需要与直播服务同步。

3

  1. 新建媒体 bucket。

    进入 媒体Bucket,分别设置 输入媒体 Bucket输出媒体 Bucket

    3

    4

    注:

    • 使用转码服务需要创建输入与输出媒体 bucket。输入媒体 Bucket 用来存储视频原始视频文件,输出媒体 Bucket 用来存储视频转码后的视频文件。工作流创建完成后,会自动从输入媒体 Bucket 中获取原始视频文件执行相应的转码操作。
    • 输入媒体 Bucket 目前仅支持 华东2 区域,创建媒体 bucket 时请选择 华东2
  2. 新建工作流。

    工作流 中,单击 新建工作流,进入 工作流管理 页面。

    1. 填写工作流名称。

    2. 选择配置方案。

      配置方案选择自定义。配置方案为转码后的输出方案,可按需配置。

      4

  3. 配置工作流参数。

    为了快速体验直播录制转点播的流程,流程为最简易的操作,更多配置参见 媒体工作流设置

    1. 配置方案选择自定义。

    2. 在拓扑结构中,输入选项框中选择增加转码选项。

      3

    3. 选择输入选项。

      3

    4. 选择刚刚创建的输入bucket。

      3

    5. 转码设置。

      编辑转码选项,选择转码模板与输出Bucket并单击 确定

      3

    6. 单击 下一步,并填写点播加速域名。

      2

      注:点播加速域名需经过备案和CNAME解析。

      完成直播工作流创建。

      3

步骤 2. 创建直播录制

详情参考 创建直播录制

步骤 3. 录制回看

直播录制下来的视频经过MTS的转码会存在MTS的服务中,需要通过MTS服务进行回看播放。

  • 对于单条视频文件可以直接在控制台的媒体库中获取到播放地址与媒体ID进行视频的回看播放。

    转码

    注:

    • 输出文件名/转码ID为录制文件转为点播文件的ID。
    • Object地址为直播录制下来的原始文件地址。

    3

    注:单击上图 复制地址,可复制录制文件回看地址。

  • 批量获取转码后的播放地址,用户在不知道媒体ID的情况下,可以通过媒体的输入地址(即录制原始文件的存储地址)进行媒体信息的查询,接口为 QueryMediaListByURL。详情参考 媒体ID获取示例

    注: 为了保证加密视频的安全性,加密视频的播放必须使用媒体ID的播放方式。WEB端播放加密视频请使用Flash播放器(HTML5不支持加密视频播放),详情参考 媒体播放介绍

本文导读目录