Bu sayfa henüz yerel dilinizde mevcut değildir. Daha fazla dil seçeneği eklemek için yoğun bir şekilde çalışıyoruz. Desteğiniz için teşekkür ederiz.
- What's New
- Function Overview
- Product Bulletin
- Service Overview
-
Billing
- Billing Items
- Basic Service Billing
- Value-added Service Billing
- Billing Modes
- Changing the Billing Option
- Renewing a Resource Package
- Bills
- Arrears
- Billing Termination
- Cost Management
-
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
- Log 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
- Querying Stream Data of a Streaming Domain Name
- 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
-
FAQs
-
Product Consulting
- Do I Need to Buy the CDN Service Before Using Live?
- How Do I Use Live? Do I Need to Create a Channel?
- In Which Regions Is Live Available?
- Can I Use a Camera to Stream Live Video?
- Do I Need to Have a Domain Name?
- Can I Send HTTP Requests After Configuring an HTTPS Certificate?
- How Do I Select a Live Origin Server and Acceleration Area?
-
Billing
- What Do I Need to Pay?
- How Do I View the Usage and Expenditure of Pay-per-Use Live Resources?
- How Do I Change the Billing Option?
- Do I Need to Delete Resources If I Don't Want to Use Live Any More?
- Is Downstream Traffic or Upstream Traffic Billed?
- Why Charges Are Still Debited to My Account Even Though My Account Is in Arrears?
- Will I Be Billed for URL Validation?
- How Is Transcoding Billed?
- How Do I Know Whether My Account Is in Arrears?
- 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?
-
Domain Name Management
- How Many Domain Names Can I Add?
- Are There Any Requirements for the Streaming and Ingest Domain Names?
- What Does CNAME Mean on the Domains Page?
- What Can I Do If a Message Is Displayed Indicating that the Domain Name Fails to Be Added and the User Is in the Deleted State?
- Why Does the Domain Status Change from Normal to Configuring?
- A Conflict Occurs When Adding a CNAME Record
- Can the Ingest and Streaming Domain Names Be Second-level Domain Names?
- Can a Domain Name Be Added to Live in Multiple Regions?
- How Do I Check Whether Acceleration Has Been Enabled for a Live Domain Name?
- Will My Domain Names Be Cleared If My Account Is in Arrears?
- How Long Should I Disconnect a Stream for the New Streaming Configuration to Take Effect?
-
Recording
- Can Live Recordings Be Stored in OBS?
- How Long Is the Maximum Recording Length?
- Can I Configure a Recording Template for Each Live Stream?
- Are Transcoded Streams Recorded During Live Recording?
- How Long Is the TS Segment Length Supported by Live?
- How Many Recordings Are Created for a Live Recording Task?
- Why Still Are Recording Files Created Even Though I Have Already Deleted the Recording Template?
- Why Are There Two Recording Files When A Live Stream Is Not Interrupted?
- How Do I Obtain the URL of Recordings?
- Can I Call an API to Record a Live Video?
- Why Are No Recording Files Created After I Configured a Recording to OBS Template?
- Can I Enter Wildcard Characters in Stream Name When I Configure Recording to OBS?
- How Do I Delete a Recording?
- Can Live Stream Recording Be Started and Stopped at Any Time?
- Why Didn't I Receive a RECORD_FILE_COMPLETE Callback?
- Do StreamNames Support Regular Expressions?
- Why Can't I Download Videos Using the download_url Generated During Recording?
- Why Do the Modified Recording Rule and File Storage Path Not Take Effect?
- Can I Record and Store the Live Streams That Are Disconnected for Multiple Times in One File?
-
Transcoding
- How Do I Play a Transcoded Live Video?
- Why Is the Live Video Resolution During Playback Inconsistent with That Configured In the Transcoding Template?
- How Does the System Define the Effective Template If I Configure Multiple Transcoding Templates?
- How Is a Video Transcoded When Only the Width or Height Is Configured?
- Why Is the BANDWIDTH Value in a Level-1 M3U8 File for Pulling a Transcoded Stream Not the Bitrate of the Transcoded Stream?
- How Do I Configure Definitions of Video Streams?
- Snapshot Capturing
-
Security
- How Do I Protect Live Videos?
- Are There Any Requirements for the Key and Timeout Interval in URL Validation?
- Why Does Referer Validation Not Take Effect?
- Do I Need to Use the Same Key for Streaming Authentication and Playback Authentication?
- How Do I Set the Validity Period of a Signed Ingest URL to a Longer Period?
- Why Does HTTPS Access Fail When an HTTPS Certificate Has Been Configured for My Domain Name?
- Why Are Messages Indicating Insecurity Displayed During Video Playback After an HTTPS Certificate Is Configured?
-
Streams Pushing
- Which Ingest Protocols Are Supported?
- How Do I Live Stream?
- How Do I Get the Ingest URL?
- Are There Any Requirements for StreamName in an Ingest URL?
- How Do I Obtain a StreamName?
- How Do I Set the Resolution and Bitrate?
- What Do I Do If Stream Pushing Failed?
- How Many Live Streams Can I Push Simultaneously?
- How Long Is the Latency If a Live Video Resolution is 1080p?
- What Can I Do If I Use OBS to Push Streams but the Latency Is Too High?
- Why Does Open Broadcaster Software Fail to Push Streams?
- How Do I Disable a Live Stream?
- How Do I View Disabled Live Streams?
- How Do I Resume a Disabled Live Stream?
- What Are the Differences Between Stream Disabled and Stream Interrupted?
- Can an Ingest URL Push Multiple Streams at the Same Time?
-
Live Streaming
- Which Streaming Protocols Are Supported?
- How Do I Get the Streaming URL?
- Are There Any Requirements for StreamName in a Streaming URL?
- What Can I Do If I Fail to Play a Live Video?
- Is There Any Limit on the Daily Downstream Traffic?
- Is There Any Limit on the Number of Concurrent Viewers?
- Can I Pull Live Streams from Other Platforms to Huawei Cloud Live?
- Why Do Black Bars Appear on the Video?
- Why Does Playback Using the HTTPS Address Fail?
- Callback
-
API Usage
- What Is the Token for Calling Live APIs?
- Why Does the System Display a Message Indicating that the API Does Not Exist When I Call an API?
- Why Is "projectId in token is nil" Returned When I Call an API?
- Why Is "The token must be updated" Returned When I Call an API?
- Why Is a Message Stating "APIG.0301" Displayed When a VOD API Is Called?
- How Can I Query the Peak Number of Concurrent Recording Channels in a Month?
- Why Do I Receive Only the Recording Completion Callback But Not the Recording Start Callback After Configuring Recording Callbacks?
- Statistics Analysis
- Third-Party Tools
-
Product Consulting
- Troubleshooting
- Videos
- General Reference
Copied.
Stream Status Notifications
You can add a URL on the Live console for receiving messages when stream push starts or ends. The messages are sent as POST requests to your server through an HTTP API. Then your server returns the status code 200 to confirm that the messages have been received.
Notes
In the AP-Bangkok region, submit a service ticket for review after configuring stream status notifications. The configuration takes effect only after it is approved.
After stream status notifications are enabled, you will receive a message each time when a live stream is pushed or disconnected. However, when a stream is disconnected soon after it was pushed, the server may receive the message on stream disconnection before receiving the message on stream pushing due to network transmission latency. In this case, you need to check the Unix timestamp parameter publish_timestamp in the message to check whether the stream pushing and stream disconnection are in the same stream pushing event. The timestamps generated in the stream pushing and stream disconnection of the same stream pushing event are the same.
Prerequisites
- You have added an ingest domain name.
- You have configured CNAME records at your domain names' DNS provider.
Adding a Notification URL
- Log in to the Live console.
- In the navigation pane, choose Domains.
- Click Manage in the Operation column of the desired ingest domain name.
- In the navigation pane, choose Template > Stream Status Notifications.
- Click Add. On the displayed dialog box, add a notification URL, as shown in Figure 1.
NOTE:
Only HTTP and HTTPS URLs are supported.
Authentication Key: authentication key. You need to configure this parameter only when notification authentication is required.- A key contains 32 to 128 characters.
- A key can also be automatically generated.
- Click OK.
When stream pushing starts or ends, you will receive a notification message. For details about the notification message body, see Callback Example.
Managing Notification URLs
You can also perform the following operations:
Callback Example
The following is an example of stream pushing and stream disconnection messages. Table 1 describes the fields in a message body.
{ "domain":"push.example.com", "app":"live", "stream":"example_stream", "user_args":"auth_info=yz1TG0PVN/5isfyrGrRj10gKPCWqSS2X02t6QsRrocH+mEq0gQ0g8k6KhalS84sQ+kDprFyqI0yajbYiFmUO8e45B7ryaS+MpJBlYkhwnuFLnRiKK/IXG7.33436b625354564f6e4d4d434f55&cdn=hw", "client_ip":"100.111.*.*", "node_ip":"112.11.*.*", "publish_timestamp":"1587954134", "event":"PUBLISH", "auth_timestamp":1587954140, "auth_sign":"ff3b2bxxx5cfd56e76d72bed4c4aa2dxxxca8c2e46467d205a6417d4fc" }
Field |
Description |
---|---|
domain |
Ingest domain name |
app |
Application name |
stream |
Stream name |
user_args |
Stream pushing parameter |
client_ip |
IP address of the streaming device |
node_ip |
IP address of the receiver |
publish_timestamp |
Unix timestamp. One single timestamp is generated for each stream pushing event. |
event |
Stream pushing or stream disconnection. Options:
|
auth_timestamp |
UNIX timestamp when the event notification signature expires. This parameter is carried when an authentication key is configured. The value is a decimal UNIX timestamp, that is, the number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT). Example: 1592639100 (June 20, 2020 15:45) |
auth_sign |
Event notification signature. This parameter is carried when an authentication key is configured. auth_sign = HmacSHA256 (event + domain + app + stream + auth_timestamp, key) key indicates the key used for authentication. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot