Help Center/ Live/ Cloud Live API Reference/ Examples/ Example 3: Disabling a Livestream
Updated on 2024-09-13 GMT+08:00

Example 3: Disabling a Livestream

Scenario

If live content is non-compliant or the ingest URL has been used by unauthorized users, you can call an API to disable the livestream to protect your content.

This section describes how to disable a livestream by calling an API.

Prerequisites

  • You have determined the region where the ingest domain name for which a livestream needs to be disabled is located and obtained the endpoint of the region from Regions and Endpoints.
  • You have obtained the project ID of the region where the ingest domain name is located. For details, see Obtaining a Project ID.

Procedure

  1. Log in to the Live console and choose Streaming > Streams to obtain information about the livestream to be disabled, including the ingest domain name, App Name, and Stream 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 disabling a push stream and configure related parameters.

    1. Select the POST request method and enter the request URI.
      https://{endpoint}/v1/{project_id}/stream/blocks
    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:
      {
        "domain" : "publish.example.huawei.com",
        "app_name" : "live",
        "stream_name" : "huawei",
        "resume_time" : "2020-05-19T21:10:15Z"
      }

      resume_time indicates the time when the stream is resumed. The format is yyyy-MM-ddThh:mm:ssZ (UTC time). If this parameter is not specified, the stream is permanently disabled.

    4. If the request succeeds, only a status code 204 is returned.

  4. Call the API for querying disabled streams to check whether the stream is included in the returned list.

    1. Select the GET request method and enter the request URI.
      https://{endpoint}/v1/{project_id}/stream/blocks?domain=publish.example.huawei.com&app_name=live&stream_name=huawei
    2. In the request header, add X-Auth-Token and set its value to be the token obtained in 2.
    3. View the queried stream information if the request succeeds.
      {
        "total" : 1,
        "blocks" : [ {
          "app_name" : "live",
          "stream_name" : "huawei",
          "resume_time" : "2020-05-19T21:10:15Z"
        }
      ]
      }