Example 2: Creating a Recording Template
Scenario
If you want to record a livestream and store the recordings in OBS, you can call an API to configure a recording template.
This section describes how to configure a recording template by calling an API.
Prerequisites
- You have determined the region where the streaming domain name for which the recording template needs to be configured is located and obtained the endpoint of the region from .
- You have obtained the project ID of the region where the streaming domain name is located. For details, see Obtaining a Project ID.
Overall Process
Procedure
- Log in to the Live console and obtain the target streaming domain 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 creating a recording template to configure recording parameters.
- Select the POST request method and enter the request URI.
https://{endpoint}/v1/{project_id}/record/rules
- 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:
{ "publish_domain" : "publish.example.com", "app" : "live", "stream" : "*", "record_type" : "CONTINUOUS_RECORD", "default_record_config" : { "record_format" : [ "HLS", "FLV" ], "hls_config" : { "record_cycle" : 3600, "record_prefix" : "Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time}", "record_ts_prefix" : "{file_start_time_unix}-{file_end_time_unix}-{ts_sequence_number}", "record_slice_duration" : 10, "record_max_duration_to_merge_file" : 0 }, "flv_config" : { "record_cycle" : 9000, "record_prefix" : "Record/{publish_domain}/{app}/{record_format}/{stream}_{file_start_time}/{file_start_time}", "record_max_duration_to_merge_file" : 0 }, "obs_addr" : { "bucket" : "mybucket", "location" : "cn-north-4", "object" : "record/" } } }
- If the request succeeds, only a status code 201 Created is returned.
- Select the POST request method and enter the request URI.
- Start pushing a stream. The stream will be recorded and the recording will be saved in OBS. For details about how to obtain the recording, see Managing Recordings.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.