更新时间:2024-09-13 GMT+08:00
分享

示例2:创建录制配置

场景描述

若您需要在直播过程中,对直播流进行录制,并将录制文件存储至OBS服务中,您可以在直播开始前,调用直播API为对应的播放域名配置录制规则。

本章节指导用户如何使用API调用的方式配置录制规则。

前提条件

  • 已明确需要配置录制规则的播放域名所在区域信息,并获取该区域的Endpoint,您可以从地区和终端节点获取。
  • 已获取需要配置录制规则的播放域名所在区域的项目ID,具体获取方法请参见获取项目ID

操作步骤

  1. 登录视频直播控制台,获取需要配置录制规则的播放域名。
  2. 获取用户Token,用于调用直播接口时进行认证鉴权。

    详细信息请参见构造请求。以“华北-北京四”为示例,若您需要调用其它区域的直播接口,请替换成对应区域的IAM终端节点

    POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens
    Content-Type: application/json
    {
      "auth": {
        "identity": {
          "methods": [
            "password"
          ],
          "password": {
            "user": {
              "name": "username", 
              "password": "password", 
              "domain": {
                "name": "domainname" 
              }
            }
          }
        },
        "scope": {
          "project": {
             "name": "projectname"      
     }
        }
      }
    }
    图1所示,红框中的信息为获取用户Token。
    图1 获取用户Token

  3. 调用创建录制规则接口,配置录制规则参数。

    1. 选择POST请求方法并输入URI。
      https://{endpoint}/v1/{project_id}/record/rules
    2. 请求消息头中增加“X-Auth-Token”,值设置为步骤2中获取的用户Token。
    3. Request Body中传入参数如下:
      {
        "publish_domain" : "publish.example.com",
        "app" : "live",
        "stream" : "*",
        "record_type" : "CONTINUOUS_RECORD",
        "default_record_config" : {
          "record_format" : [ "HLS", "FLV" ],
          "hls_config" : {
            "record_cycle" : 3600,
            "record_prefix" : "Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time}",
            "record_ts_prefix" : "{file_start_time_unix}-{file_end_time_unix}-{ts_sequence_number}",
            "record_slice_duration" : 10,
            "record_max_duration_to_merge_file" : 0
          },
          "flv_config" : {
            "record_cycle" : 9000,
            "record_prefix" : "Record/{publish_domain}/{app}/{record_format}/{stream}_{file_start_time}/{file_start_time}",
            "record_max_duration_to_merge_file" : 0
          },
          "obs_addr" : {
            "bucket" : "mybucket",
            "location" : "cn-north-4",
            "object" : "record/"
          }
        }
      }
    4. 请求响应成功后,无返回参数,返回状态码201。

  4. 开始直播推流,推流过程中会根据录制配置生成对应录制文件,并存储至OBS中。录制文件的获取方法请参见管理录制文件

相关文档