Help Center/ Live/ Cloud Live API Reference/ Examples/ Example 2: Creating a Recording Template
Updated on 2024-09-27 GMT+08:00

Example 2: Creating a Recording Template

Scenario

If you want to record a livestream and store the recordings in OBS, you can call an API to configure a recording template.

This section describes how to configure a recording template by calling an API.

Prerequisites

  • You have determined the region where the streaming domain name for which the recording template needs to be configured is located and obtained the endpoint of the region from .
  • You have obtained the project ID of the region where the streaming domain name is located. For details, see Obtaining a Project ID.

Procedure

  1. Log in to the Live console and obtain the target streaming domain name.
  2. Obtain a user token and use it to authenticate the calling of Live APIs.

    For details, see Making an API Request. CN North-Beijing4 is used as an example. If you need to call a Live API in another region, replace the endpoint with the IAM endpoint of the region.

    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"      
     }
        }
      }
    }
    As shown in Figure 1, information in the red box indicates the user token.
    Figure 1 Obtaining the user token

  3. Call the API for creating a recording template to configure recording parameters.

    1. Select the POST request method and enter the request URI.
      https://{endpoint}/v1/{project_id}/record/rules
    2. In the request header, add X-Auth-Token and set its value to be the token obtained in 2.
    3. Specify the following parameters in the 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. If the request succeeds, only a status code 201 Created is returned.

  4. Start pushing a stream. The stream will be recorded and the recording will be saved in OBS. For details about how to obtain the recording, see Managing Recordings.