Help Center/ Live/ Cloud Live API Reference/ Examples/ Example 2: Creating a Recording Template
Updated on 2024-09-13 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 Regions and Endpoints.
  • 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.