- What's New
- Service Overview
-
Billing
- Billing Items
- Basic Service Billing
- Value-added Service Billing
- Billing Modes
- Changing the Billing Option
- Bills
- Arrears
- Billing Termination
-
Billing FAQs
-
Common Cases
- What Do I Need to Pay?
- Do I Need to Buy the CDN Service Before Using Live?
- How Do I Change the Billing Option?
- Do I Need to Delete Resources If I Don't Want to Use Live Any More?
- How Do I View the Usage and Expenditure of Pay-per-Use Live Resources?
- Is Downstream Traffic or Upstream Traffic Billed?
- Will I Be Billed for URL Validation?
- How Is Transcoding Billed?
- Does the Daily Peak Bandwidth Mean the Upstream Bandwidth or Downstream Bandwidth?
- Why Is a Recording Fee Deducted on the First Day of Each Month?
- Arrears
-
Common Cases
- Cloud Live
-
Media Live
- Overview
- Scenarios
- Functions
- Product Advantages
- Constraints
- Getting Started
-
Console Operations
- Prerequisites
- Functions
- Permissions Management
- Domain Name Management
- Channels
- Live Transcoding
- Service Monitoring
- Cloud Resource Authorization
- Tools
- Best Practices
-
Cloud Live API Reference
- Before You Start
- API Overview
- Calling APIs
- Examples
-
Domain Name Management
- Creating a Domain Name
- Deleting a Domain Name
- Modifying a Domain Name
- Querying a Domain Name
- Mapping Domain Names
- Deleting a Domain Name Mapping
- Configuring the Domain Name IPv6 Function
- Querying IP Address Information
- Modifying the Streaming Domain Name Delay
- Querying the Streaming Domain Name Delay
- Modifying the HLS Configuration of a Domain Name
- Querying HLS Configurations of Domain Names
- Modifying Origin Pull Settings
- Querying Origin Pull Settings
- Notification Management
-
Authentication Management
- Configuring a Referer Validation ACL
- Deleting a Referer Validation ACL
- Querying Referer Validation ACLs
- Querying IP Address ACLs
- Modifying an IP Address ACL
- Generating a Signed URL
- Querying Supported Areas of a Streaming Domain Name
- Modifying Supported Areas of a Streaming Domain Name
- Querying the URL Validation Configuration of a Specified Domain Name
- Modifying the URL Validation Configuration of a Specified Domain Name
- Deleting the URL Validation Configuration of a Specified Domain Name
- Snapshot Management
- Recording Management
- Recording Callback Management
- HTTPS Certificate Management
- OBS Bucket Management
- Transcoding Template Management
- Stream Management
-
Statistics Analysis
- Querying Peak Bandwidth
- Querying Total Traffic
- Querying HTTP Status Codes for Pulling Live Streams
- Querying the Duration of Transcoded Outputs
- Querying Recording Channels
- Querying the Number of Snapshots
- Querying Upstream Bandwidth
- Querying the Number of Stream Channels
- Querying the Historical Stream List
- Querying the Playback Profile
- Querying the Distribution of Live Streaming Metrics by Region
- Stream Analytics
- Appendix
- Change History
-
Media Live API Reference
- Before You Start
- API Overview
- Calling APIs
- Examples
-
OTT Channel Management
- Creating an OTT Channel
- Querying Channel Information
- Deleting Channel Information
- Modifying Channel Packaging Information
- Modifying Channel Input Stream Information
- Modifying Channel Recording Information
- Modifying General Channel Information
- Changing the Channel Status
- Modifying Channel Transcoding Template Information
- Appendix
- Change History
- Cloud Live Server SDK Reference
- Low Latency Live Client SDK Reference
- Troubleshooting
Example 1: Creating a Channel
This section describes how to call Media Live APIs to create a channel.
Used APIs
To use token-based authentication, obtain a user token and add X-Auth-Token to the request header of the service API when making an API request.
Procedure
- Obtain a user token and use it to authenticate the calling of Media Live APIs.
For details, see Making an API Request. CN North-Beijing4 is used as an example. If you need to call a Media Live API in another region, replace the endpoint with the IAM endpoint of that 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. - Select the POST request method and enter the request URI.
POST https://live.cn-north-4.myhuaweicloud.com/v1/{project_id}/ott/channels
live.cn-north-4.myhuaweicloud.com is the endpoint of Media Live. You can obtain the endpoint from Before You Start.NOTE:
The region where an IAM API is called must be the same as the region where a Media Live API is called. For example, the user token obtained when you call an IAM API in the CN North-Beijing4 region can only be used to authenticate the requests for calling Media Live APIs in the CN North-Beijing4 region.
- In the request header, add X-Auth-Token and set its value to be the token obtained in 1.
- Transfer the following parameters in the request body. For details about the parameters, see the API for creating an OTT channel.
{ "domain": "push.domain.com", "app_name": "ott", "id": "testChannel", "name": "testChannel", "input": { "input_protocol": "FLV_PULL", "sources": [ { "url": "http://push.domain.com/ott/testChannel/index.flv", "bitrate": 2048, "width": 2096, "height": 1024 } ] }, "record_settings": { "rollingbuffer_duration": 3600 }, "encoder_settings": [ { "template_id": "hd" } ], "endpoints": [ { "hls_package": [ { "url": "pull.domain.com/ott/testChannel/index.m3u8", "stream_selection": [ { "key": "bitrate=900000-1800000", "max_bandwidth": 1800000, "min_bandwidth": 900000 } ], "segment_duration_seconds": 4, "encryption": { "level": "content", "resource_id": "test", "system_ids": [ "FairPlay" ], "url": "http://IP:Port/tkm/v1/owner/Data", "speke_version": "1.0", "request_mode": "direct_http", "http_headers": [ { "key": "Authorization", "value": "Basic aHVhd2VpY********************XM1Qjd6" } ] } } ] } ], "state": "ON" }
If the request succeeds, only a status code 201 Created is returned.
If the request fails, the following error code and error description are returned along with a status code 400 Bad Request:
"result_code": "LIVE.100011001", "result_msg": "Request parameters is invalid"
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.