Configuring 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.
- (Optional) Create an OBS bucket for storing recordings. If you already have one, go to 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 users cannot grant authorizations.
- 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.
- 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.
- Manage recordings. You can view basic information about recordings on the Live console and download, share, delete recordings on the OBS console. You can also authorize the VOD service to manage recordings, such as preview, publish, transcoding, and playback.
The resolution of recordings is the same as that of the pushed streams.
Notes
- 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.
- Recordings stored in OBS can be managed in VOD but you must enable VOD and add your domain names to VOD. For details, see VOD Quick Start.
Pricing Notes
- Live recordings and video files transcoded or packaged by the VOD service are stored in OBS. Therefore, OBS charges you for the storage. For details, see OBS Pricing Details.
- If the VOD service is authorized to manage OBS buckets, VOD charges you for transcoding or packaging recordings. For details, see VOD 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. If you want to transcode or package stored recordings, authorize VOD to access and process them.
- Log in to the Live console.
- In the navigation pane, choose Authorization.
- Perform the following operations as required.
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.
- Log in to the Live console.
- In the navigation pane, choose Domains.
- Click Settings in the row containing the target ingest domain name.
- In the navigation pane, choose Template Settings > Recording (New Version).
- Click Create Template.
- Set recording parameters. Table 1 describes the parameters.
Figure 2 Setting recording 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.
Hosted in VOD
Recordings stored in OBS can be managed in VOD, for example, you can preview, publish, transcode, and play recordings.
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, a new recording is added to the previous recording. 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.
- 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.
- 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 Live, VOD, or OBS console, such as preview, download, publish, transcoding, playback, 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 3 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 4 Deleting a recording template
Last Article: Recording Live Video to OBS
Next Article: Configuring a Recording Callback

Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.