LiveLive

Compute
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
Domain Name Service
VPC Endpoint
Cloud Connect
Enterprise Switch
Security & Compliance
Anti-DDoS
Web Application Firewall
Host Security Service
Data Encryption Workshop
Database Security Service
Advanced Anti-DDoS
Data Security Center
Container Guard Service
Situation Awareness
Managed Threat Detection
Compass
Cloud Certificate Manager
Anti-DDoS Service
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GaussDB NoSQL
GaussDB(for MySQL)
Distributed Database Middleware
GaussDB(for openGauss)
Developer Services
ServiceStage
Distributed Cache Service
Simple Message Notification
Application Performance Management
Application Operations Management
Blockchain Service
API Gateway
Cloud Performance Test Service
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
DevCloud
ProjectMan
CodeHub
CloudRelease
CloudPipeline
CloudBuild
CloudDeploy
Cloud Communications
Message & SMS
Cloud Ecosystem
Marketplace
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP License Service
Support Plans
Customer Operation Capabilities
Partner Support Plans
Professional Services
enterprise-collaboration
Meeting
IoT
IoT
Intelligent EdgeFabric
DeveloperTools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Updated at: Mar 31, 2022 GMT+08:00

Creating a Recording Template

Live allows you to record a live stream and store the recordings in OBS, where you can download and share the recordings.

Figure 1 shows the process of recording live video to OBS.

Figure 1 Process of recording live video to OBS
  1. (Optional) Create an OBS bucket for storing recordings. If you already have one, go to 2.
  2. Authorize access to the OBS bucket so that the system can save the recordings in the OBS bucket. You can also authorize the VOD service to manage the recordings.
    • Only the account administrator can authorize cloud resources. IAM usersIAM users cannot grant authorizations.
    • If you want to cancel the authorization of access to a bucket, check whether there are recordings or screenshots in the bucket. If there are, the recordings or screenshots will be removed from the bucket after the authorization is canceled.
  3. Configure a recording template. The recording template in which AppName and StreamName are the same as those in the ingest URL takes effect, and recordings are stored in OBS based on template settings. You can set a callback address to get notifications about the recording status.
  4. Push a stream through an ingest URL and record the live stream based on a configured recording template. For details about how to create an ingest URL, see Assembling an Ingest URL.
  5. Manage recordings. You can view basic information about recordings on the Live console and download, share, delete recordings on the OBS console.

    The resolution of recordings is the same as that of the pushed streams.

Notes

  • This function is unavailable in AP-Bangkok.
  • Recording rules can be configured at domain name, application, and stream levels. Rules at the stream level take effect first. Rules at the same level must have the same recording type.
  • Recordings cannot be deleted from Live because Live does not store recordings. Live logs recording events and store them for 30 days. You can manually delete recordings from OBS or configure OBS lifecycle management rules to set a retention period and policy for recordings.
  • If stream pushing is interrupted due to network jitter during live recording, recording stops. When stream pushing restarts, recording restarts accordingly.
  • Recording starts when stream pushing starts and stops until stream pushing ends. Recording cannot be stopped or started during stream pushing. If the recording template is deleted during stream pushing, recording continues until stream pushing ends.
  • Ensure that the OBS service is not suspended due to arrears. Otherwise, recording will fail. You are advised to buy an OBS package.
  • Only input live streams can be recorded. Transcoded live streams cannot be recorded.

Prerequisites

  • Domain names have been added.
  • CNMAE records have been added to your domains' DNS records.
  • Recordings are stored in OBS. Therefore, you must enable OBS before storing recordings in OBS. For details, see OBS Getting Started Guide.

Pricing Notes

Live recordings are stored in OBS. Therefore, OBS charges you for the storage. For details, see OBS Pricing Details.

Step 1: (Optional) Create an OBS Bucket

If you have not created an OBS bucket, create one by referring to Creating a Bucket. If you already have one, go to Step 2: Authorize Access to the OBS Bucket.

The created OBS bucket must be in the same region as Live.

Step 2: Authorize Access to the OBS Bucket

You need to authorize Live to store recordings in an OBS bucket.

  1. Log in to the Live console.
  2. In the navigation pane, choose Authorization.
  3. On the Live Authorization tab, click Authorize in the Operation column of the row containing the target OBS bucket.

Step 3: Configure a Recording Template

If you want to record a live stream for on-demand playback, configure a recording template. The recording template in which AppName and StreamName are the same as those in the ingest URL takes effect.

  1. Log in to the Live console.
  2. In the navigation pane, choose Domains.
  3. Click Settings in the row containing the target ingest domain name.
  4. In the navigation pane, choose Template Settings > Recording (New Version).
  5. Click Create Template.
  6. Configure recording parameters. Table 1 describes the parameters.
    Table 1 Recording parameters

    Parameter

    Description

    Recording Type

    • Automatic recording: The recording automatically starts when live streams that meet the configured recording rule are pushed.
    • Manual recording: When live streams that meet the configured recording rule are pushed, you can call the API for Submitting a Recording Command to start or stop recording live streams.
    NOTE:
    • The recording type cannot be changed once configured.
    • Only when live streams are pushed, can the API for submitting a recording command be called successfully.
    • Manual recording supports only recording start and stop for a specific stream. Even if the recording rule is at the domain name level, the stream name must be specified when you deliver the recording start and stop commands.
    • To manually stop recording, you can set Maximum Stream Pause Length when configuring the recording rule, so that recording will stop when the stream has been paused beyond the time indicated by Maximum Stream Pause Length. You can also call an API to stop recording.
    • After the command for stopping recording is manually delivered, it takes a period of time to clear resources for the recording task. If the command for starting recording is delivered again shortly after the stop command is delivered, a message indicating that the recording task is not complete may be returned.

    AppName

    Application name. The default value is live. You can customize the application name. Only letters, digits, underscores (_), and hyphens (-) are allowed. If this parameter is set to *, the recording template applies to all applications under the domain name.

    Stream Name

    Live stream name. If this parameter is set to *, the recording template applies to all live streams under the same AppName.

    Storage Location

    Where recordings are stored

    Output Bucket

    OBS bucket where recordings are stored

    Output Path

    OBS storage path

    To change the path later, click Edit in the Operation column of the row containing the template in the recording template list.

    Recording Format

    Format of a recording. Live videos can be recorded in HLS, FLV, or MP4 format.

    HLS

    Naming for M3U8 File: The storage path and filename prefix need to be specified.

    Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}{file_start_time}/{stream}{file_start_time}

    Naming for TS File: The filename prefix needs to be specified.

    {file_start_time_unix}_{file_end_time_unix}_{ts_sequence_number}

    Recording Length: Its value ranges from 15 minutes to 720 minutes. If a live video has been recorded for more than 12 hours, a new file will be created based on the naming rule.

    Maximum Stream Pause Length

    • Generate a new file after a stream is paused.
    • Do not generate a new file after a stream is paused.
    • Other: If the interruption duration of a live stream is within the specified range, no new recording file is generated. Otherwise, a new recording file is generated. The maximum interruption duration of a live stream is 300s.

    FLV

    Naming rule: The storage path and filename prefix need to be specified.

    Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time}

    Recording Length: Its value ranges from 15 minutes to 180 minutes. If a live video has been recorded for more than 3 hours, a new file will be created based on the naming rule.

    Maximum Stream Pause Length

    • Generate a new file after a stream is paused.
    • Other: If the interruption duration of a live stream is within the specified range, no new recording file is generated. Otherwise, a new recording file is generated.

    MP4

    Naming rule: The storage path and filename prefix need to be specified.

    Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time}

    Recording Length: Its value ranges from 15 minutes to 180 minutes. If a live video has been recorded for more than 3 hours, a new file will be created based on the naming rule.

    Maximum Stream Pause Length

    • Generate a new file after a stream is paused.
    • Other: If the interruption duration of a live stream is within the specified range, no new recording file is generated. Otherwise, a new recording file is generated.

    If live stream push is normal, the time when HLS recordings are generated in the OBS bucket is related to the keyframe interval configured on the player. By default, the first recording is generated after three keyframe intervals (6 seconds). An FLV or MP4 recording is generated only after the recording ends.

    The value of Maximum Stream Pause Length affects the triggering of the recording callback event RECORD_FILE_COMPLETE.

    • Do not generate a new file after a stream is paused.: When the recording duration reaches the configured recording length, a recording file is generated and the recording callback event is triggered.
    • Generate a new file after a stream is paused.: Every time a stream is interrupted, a new recording file is generated and the recording callback event is triggered.
    • Other: Every time the stream interruption duration reaches the specified value, a new recording file is generated and the recording callback event is triggered. If the stream interruption duration does not reach the specified value and the recording duration reaches the configured recording length, a recording file is generated and the recording callback event is triggered.
  7. Click OK.

    You can create multiple recording templates. The recording template in which AppName and StreamName are the same as those in the ingest URL takes effect.

  8. Obtain an ingest URL to push streams. For details, see Assembling an Ingest URL. For details, see Getting Started.

    The resolution and bitrate of the generated recordings are the same as those of the live stream.

You can manage recordings on the OBS console, such as preview, download, and share.

Modifying or Deleting a Recording Template

You can perform the following operations on your recording template:

  • Editing a recording template

    Click Edit in the Operation column of the row containing the target recording template in the template list to edit the template.

    The recording type cannot be changed.

    Figure 2 Editing a recording template
  • Deleting a recording template

    Click Delete in the Operation column of the row containing the target recording template in the template list to delete the template.

    Figure 3 Deleting a recording template

Did you find this page helpful?

Failed to submit the feedback. Please try again later.

Which of the following issues have you encountered?







Please complete at least one feedback item.

Content most length 200 character

Content is empty.

OK Cancel