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 .
- You have obtained the project ID of the region where the ingest domain name is located. For details, see Obtaining a Project ID.
Overall Process
Procedure
- 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.
- 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. - Call the API for disabling a push stream and configure related parameters.
- Select the POST request method and enter the request URI.
https://{endpoint}/v1/{project_id}/stream/blocks - In the request header, add X-Auth-Token and set its value to be the token obtained in 2.
- 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 specifies the time of resuming stream push. The value is a UTC time in the format of yyyy-mm-ddThh:mm:ssZ. If this parameter is not specified, the value defaults to seven days from the current time. The value must be later than the current time and cannot exceed a maximum of 90 days in the future.
- If the request succeeds, only a status code 204 is returned.
- Select the POST request method and enter the request URI.
- Call the API for querying disabled streams to check whether the stream is included in the returned list.
- 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 - In the request header, add X-Auth-Token and set its value to be the token obtained in 2.
- 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" } ] }
- Select the GET request method and enter the request URI.
