视频直播录制可对当前直播实时录制并可回放历史直播视频。本文将详细为您介绍视频直播录制功能。

功能介绍

直播录制提供了录制直播内容、录制索引管理、录制文件管理、录制事件回调的功能。

  • 录制直播内容
    • 使用场景

      视频直播是通过播放地址以实时流的形式播放推流端的数据,如果想要在直播结束后再次观看或修改直播内容,就必须要使用视频直播的录制功能。

    • 功能介绍

      视频直播录制功能,就是将直播中心接收到的推流数据进行录制,将录制后的数据以HLS协议的封装格式,保存至您指定的存储位置。支持M3U8(同时会有.ts分片文件)、MP4、FLV格式。

      直播录制支持将直播内容录制至VOD或OSS。录制到VOD可以联动使用VOD的云剪辑、媒资管理、播控管理等能力。

    • 使用方法

      请参见直播录制使用方法

  • 录制索引管理
    说明 您只有将视频存储在OSS中才可使用录制索引功能。
    • 使用场景

      视频直播录制在直播过程中会生成TS文件,但是仅在推流结束180秒后才会生成m3u8索引文件,无法在直播过程中生成,并且该索引文件时间为推流开始到结束,用户无法根据业务需要自定义索引范围。因此,视频直播提供录制索引管理功能,供用户对录制索引m3u8文件进行管理。

    • 功能介绍
      在一次推流结束时,会自动生成本次推流的录制索引文件。同时支持按照指定的录制开始时间和录制结束时间生成自定义录制索引文件。录制索引功能包括查看录制索引和剪辑录制索引两项功能。
      • 查看录制索引:用户可以查看已有的录制索引文件,这里的索引文件包括系统在断流180秒后自动生成的索引文件,以及用户手动创建的索引文件。
      • 剪辑录制索引:用户可以根据现有的录制索引文件进行剪辑,产生新的索引文件,这里的索引文件可以是对之前已有的索引文件进行合并或者拆分。
    • 使用方法

      请参见录制索引管理方法

  • 录制文件管理
    • 功能介绍
      • 查看和管理录制文件
      • 过期删除录制文件

        设置过期时间,超过配置的过期时间后,录制文件即可自动删除。

        说明 此功能默认不向用户开放,添加AliyunMTSVideoLifecycleRolePolicy授权后,再提交工单申请。
    • 使用方法

      请参见录制文件管理方法

  • 录制事件回调
    • 功能介绍

      直播录制回调包括录制状态回调、文件生成回调。

      • 录制状态回调:在文件开始录制与结束录制时发出,主要表示文件已经开始和结束录制。
      • 文件生成回调:在文件生成时发出,主要包括文件名称,开始结束时间与时长信息。
    • 使用方法

      请参见直播录制回调

直播录制规则

  • 直播录制是针对推流的AppName为粒度设置的。您可以设置某个AppName下的所有StreamName的录制规则。并且AppName取值为星号(*)时 ,表示此录制规则适用于该直播域名下的所有推流。推流的AppName需要和配置的AppName相同。也可以针对单路流进行录制。
    说明 同时配置了 AppName级别的录制和单路流录制,单路流录制配置的优先级更高。
  • 录制设置仅会对配置完成后的新发起的推流记录生效,当前的推流需中断180秒后重新推流方可生效。
  • 录制至VOD时,生成的M3U8和TS文件都存放在视频点播的输入媒体Bucket中。更多详情。请参见添加媒体Bucket
  • 如果使用录制至OSS,您需要事先创建好OSS Bucket。OSS Bucket必须与域名的直播中心同地域,不支持跨地域录制。
  • 相同的AppNameStreamName不能同时存储至VOD和OSS。

直播录制使用方法

录制至… 使用流程 控制台操作 API操作
录制至VOD 准备工作:开通点播服务。 开始使用视频点播 不涉及
录制配置:
  1. 创建直播转点播录制模板。
  2. 在点播服务中创建存储规则。
  1. 录制存储至VOD
  2. 视频点播转码配置
AddLiveRecordVodConfig
使用点播功能进行云剪辑、媒资管理、播控等操作。 控制台介绍 API概览
录制至OSS 准备工作:完成OSS配置。
  1. 创建OSS Bucket。
  2. 配置直播写入OSS权限。
  3. 配置CDN域名。
配置OSS 不涉及
录制配置:

配置录制信息。

说明
  • 如果需要默认录制转码流,请提交工单,让售后开启转码流录制,并提供需要录制的转码后缀等信息。注意不能通过添加录制配置接口配置转码流的录制,StreamName可以不指定或指定源视频流,不能带转码后缀。
  • 如果需要按需录制转码流,先通过添加录制配置接口配置录制模板,OnDemand参数设置为7。然后提交工单,让售后开启转码流录制。之后通过实时录制指令接口手动控制录制启停,StreamName指定带转码后缀的流名。
录制存储至OSS AddLiveAppRecordConfig
以下为使用Java SDK添加App录制配置的示例代码:
        IClientProfile profile = DefaultProfile.getProfile("cn-shagnhai","<AccessKeyId>", "<AccessKeyScret>");
        IAcsClient client = new DefaultAcsClient(profile);
        AddLiveAppRecordConfigRequest addLiveAppRecordConfigRequest = new AddLiveAppRecordConfigRequest();
        addLiveAppRecordConfigRequest.setDomainName("<DomainName>");
        addLiveAppRecordConfigRequest.setAppName("<AppName>");
        addLiveAppRecordConfigRequest.setOssEndpoint("<Endpoint>");
        addLiveAppRecordConfigRequest.setOssBucket("<BucketName>");
        addLiveAppRecordConfigRequest.setOssObjectPrefix("<ObjectPrefix>");
        try {
            AddLiveAppRecordConfigResponse addLiveAppRecordConfigResponse = client.getAcsResponse(addLiveAppRecordConfigRequest);
            System.out.println(addLiveAppRecordConfigResponse.getRequestId());
            // todo something.
        } catch (ServerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (ClientException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }        

录制索引管理方法

功能 控制台操作 API操作
查看录制索引 视频直播控制台直播管理 > 录制文件管理页面,单击存储至OSS页签查看。

这里的索引文件包括系统在断流180秒后自动生成的索引文件,以及用户手动创建的索引文件。

剪辑录制索引 剪辑录制索引文件 CreateLiveStreamRecordIndexFiles

录制文件管理方法

查看和管理录制文件:您可以在控制台进行查看和管理录制文件的操作。

  • 录制至VOD
    • 在视频直播控制台查看和管理,请参见录制文件管理
    • 在视频点播控制台查看和管理
      1. 登录视频点播控制台,在左侧导航栏选择媒资库 > 音/视频
      2. 选择您存至VOD的录制视频,并单击右侧的管理
      3. 基础信息页签中,您可以查看或修改视频的标题、描述、分类、标签、封面等信息。信息编辑完成后,点击保存完成配置。
  • 录制至OSS
    • 在视频直播控制台查看和管理,请参见录制文件管理
    • 在OSS控制台查看和管理:录制文件按照规则存储在OSS中,您可在OSS控制台中找到存储视频文件夹,并获取视频的播放地址。
      1. 登录OSS控制台,在左侧Bucket列表中,选择您存储录制视频的Bucket。
      2. 单击文件管理,选择存储录制视频的文件夹名称。

        视频完整的文件存储在record/{AppName}/{StreamName}下,与TS切片文件存储在一个文件夹中。

      3. 选择您想要查看的录制视频,并单击右侧的详情即可获得录制视频的播放地址。

API和SDK提供DescribeLiveStreamRecordContent接口查询直播录制内容。

说明 存储在OSS Bucket的录制文件,可以使用OSS的API进行生命周期管理。
过期删除录制文件:您需要按照如下步骤添加一个授权后,再提交工单申请。
  1. 登录访问控制 RAM 控制台
  2. 在左侧导航栏选择RAM角色管理
  3. 单击创建RAM角色,当前可信实体类型选择阿里云服务,单击下一步
  4. 在配置角色页签:
    • 角色类型:选择普通服务角色
    • 角色名称:填写AliyunMTSVideoLifecycleRole(请您务必保持名称一致);
    • 选择受信服务:选择多媒体转码服务

    单击完成

  5. 创建完成页签单击精准授权
  6. 添加权限页签,添加权限
    • 权限类型:选择系统策略
    • 输入策略名称:输入AliyunMTSVideoLifecycleRolePolicy

    单击确定

  7. 请您提交工单。我们会在后台为您配置您需要的过期时间。配置过期时间后,录制文件过期删除功能授权操作即为完成。