Modifying a Recording Template
Function
This API is used to modify a recording template. The modified recording template only takes effect for streams that are pushed after the template is modified.
Calling Method
For details, see Calling APIs.
URI
PUT /v1/{project_id}/record/rules/{id}
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Project ID. For details about how to obtain the project ID, see Obtaining a Project ID. |
id |
Yes |
String |
Template ID, which is returned after the template is created. |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
X-Auth-Token |
No |
String |
User token. This parameter is mandatory when token authentication is used. The token can be obtained by calling the IAM API used to obtain a user token. The value of X-Subject-Token in the response header is the user token. |
Authorization |
No |
String |
Authentication information. This parameter is mandatory for AK/SK authentication. |
X-Sdk-Date |
No |
String |
Time when the request is sent. This parameter is mandatory for AK/SK authentication. |
X-Project-Id |
No |
String |
Project ID. This parameter is mandatory for AK/SK authentication. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
publish_domain |
Yes |
String |
Ingest domain name. |
app |
Yes |
String |
Application name. To match any application, set this parameter to a wildcard character (*). Exact application matching is preferred. If no application is matched, all applications will be matched. |
stream |
Yes |
String |
Stream name. To match any stream, set this parameter to a wildcard character (*). Exact stream matching is preferred. If no stream is matched, all streams will be matched. |
record_type |
No |
String |
Recording type. The options are CONTINUOUS_RECORD and COMMAND_RECORD. The default value is CONTINUOUS_RECORD.
|
default_record_config |
Yes |
DefaultRecordConfig object |
Default recording template. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
record_format |
Yes |
Array of strings |
Recording format. |
obs_addr |
Yes |
RecordObsFileAddr object |
Details about the bucket for storing recordings. |
hls_config |
No |
HLSRecordConfig object |
HLS configuration rule. |
flv_config |
No |
FLVRecordConfig object |
FLV configuration rule. |
mp4_config |
No |
MP4RecordConfig object |
MP4 configuration rule. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
bucket |
Yes |
String |
OBS bucket name. |
location |
Yes |
String |
ID of the region where the OBS bucket resides. |
object |
Yes |
String |
OBS object path, which complies with the OBS object definition. If this parameter is left empty, recordings will be saved to the root directory. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
record_cycle |
Yes |
Integer |
Duration of periodic recording. Unit: second. The value ranges from 1 minute (60 seconds) to 12 hours (43,200 seconds). If the value is 0, the default value 6 hours (21,600 seconds) is used. |
record_prefix |
No |
String |
Path and file name prefix of an M3U8 file. The default value is Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}{file_start_time}/{stream}{file_start_time}. |
record_ts_prefix |
No |
String |
TS file name prefix. The default value is {file_start_time_unix}{file_end_time_unix}{ts_sequence_number}. |
record_slice_duration |
No |
Integer |
(Optional) TS slice duration for HLS recording. Value range: [2,60] Unit: second Default value: 10 |
record_max_duration_to_merge_file |
No |
Integer |
Interval threshold for combining HLS chunks. If the stream interruption duration exceeds this threshold, a new file will be generated. Unit: second Default value: 0
|
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
record_cycle |
Yes |
Integer |
Duration of periodic recording. Unit: second. The value ranges from 1 minute (60 seconds) to 6 hours (21,600 seconds). If the value is 0, the default value 2 hours (7,200 seconds) is used. |
record_prefix |
No |
String |
Path and file name prefix of an FLV file. The default value is **Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time}*. |
record_max_duration_to_merge_file |
No |
Integer |
Interval threshold for combining FLV chunks. If the stream interruption duration exceeds this threshold, a new file will be generated. If the value is set to 0, a new file will be generated once the stream is interrupted. Unit: second Default value: 0 |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
record_cycle |
Yes |
Integer |
Duration of periodic recording. Unit: second. The value ranges from 1 minute (60 seconds) to 6 hours (21,600 seconds). If the value is 0, the default value 2 hours (7,200 seconds) is used. |
record_prefix |
No |
String |
Path and file name prefix of the file. The default value is **Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time}*. |
record_max_duration_to_merge_file |
No |
Integer |
Interval threshold for combining MP4 chunks. If the stream interruption duration exceeds this threshold, a new file will be generated. If the value is set to 0, a new file will be generated once the stream is interrupted. Unit: second Default value: 0 |
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
X-request-id |
String |
Request ID for task tracing. Format: *request_id-timestamp-hostname*. (*request_id* is the UUID generated on the server. *timestamp* indicates the current timestamp, and *hostname* is the name of the server that processes the current API.) |
Parameter |
Type |
Description |
---|---|---|
id |
String |
Rule ID, which is returned by the server. This parameter is not needed during creation or modification. |
publish_domain |
String |
Ingest domain name. |
app |
String |
Application name. To match any application, set this parameter to a wildcard character (*). Exact application matching is preferred. If no application is matched, all applications will be matched. |
stream |
String |
Stream name. To match any stream, set this parameter to a wildcard character (*). Exact stream matching is preferred. If no stream is matched, all streams will be matched. |
record_type |
String |
Recording type. The options are CONTINUOUS_RECORD and COMMAND_RECORD. The default value is CONTINUOUS_RECORD.
|
default_record_config |
DefaultRecordConfig object |
Default recording template. |
create_time |
String |
Creation time in the format of yyyy-mm-ddThh:mm:ssZ (UTC time). |
update_time |
String |
Modification time in the format of yyyy-mm-ddThh:mm:ssZ (UTC time). |
Parameter |
Type |
Description |
---|---|---|
record_format |
Array of strings |
Recording format. |
obs_addr |
RecordObsFileAddr object |
Details about the bucket for storing recordings. |
hls_config |
HLSRecordConfig object |
HLS configuration rule. |
flv_config |
FLVRecordConfig object |
FLV configuration rule. |
mp4_config |
MP4RecordConfig object |
MP4 configuration rule. |
Parameter |
Type |
Description |
---|---|---|
bucket |
String |
OBS bucket name. |
location |
String |
ID of the region where the OBS bucket resides. |
object |
String |
OBS object path, which complies with the OBS object definition. If this parameter is left empty, recordings will be saved to the root directory. |
Parameter |
Type |
Description |
---|---|---|
record_cycle |
Integer |
Duration of periodic recording. Unit: second. The value ranges from 1 minute (60 seconds) to 12 hours (43,200 seconds). If the value is 0, the default value 6 hours (21,600 seconds) is used. |
record_prefix |
String |
Path and file name prefix of an M3U8 file. The default value is Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}{file_start_time}/{stream}{file_start_time}. |
record_ts_prefix |
String |
TS file name prefix. The default value is {file_start_time_unix}{file_end_time_unix}{ts_sequence_number}. |
record_slice_duration |
Integer |
(Optional) TS slice duration for HLS recording. Value range: [2,60] Unit: second Default value: 10 |
record_max_duration_to_merge_file |
Integer |
Interval threshold for combining HLS chunks. If the stream interruption duration exceeds this threshold, a new file will be generated. Unit: second Default value: 0
|
Parameter |
Type |
Description |
---|---|---|
record_cycle |
Integer |
Duration of periodic recording. Unit: second. The value ranges from 1 minute (60 seconds) to 6 hours (21,600 seconds). If the value is 0, the default value 2 hours (7,200 seconds) is used. |
record_prefix |
String |
Path and file name prefix of an FLV file. The default value is **Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time}*. |
record_max_duration_to_merge_file |
Integer |
Interval threshold for combining FLV chunks. If the stream interruption duration exceeds this threshold, a new file will be generated. If the value is set to 0, a new file will be generated once the stream is interrupted. Unit: second Default value: 0 |
Parameter |
Type |
Description |
---|---|---|
record_cycle |
Integer |
Duration of periodic recording. Unit: second. The value ranges from 1 minute (60 seconds) to 6 hours (21,600 seconds). If the value is 0, the default value 2 hours (7,200 seconds) is used. |
record_prefix |
String |
Path and file name prefix of the file. The default value is **Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{file_start_time}*. |
record_max_duration_to_merge_file |
Integer |
Interval threshold for combining MP4 chunks. If the stream interruption duration exceeds this threshold, a new file will be generated. If the value is set to 0, a new file will be generated once the stream is interrupted. Unit: second Default value: 0 |
Status code: 400
Parameter |
Type |
Description |
---|---|---|
X-request-id |
String |
Request ID for task tracing. Format: *request_id-timestamp-hostname*. (*request_id* is the UUID generated on the server. *timestamp* indicates the current timestamp, and *hostname* is the name of the server that processes the current API.) |
Parameter |
Type |
Description |
---|---|---|
error_code |
String |
Error Code |
error_msg |
String |
Error description |
Example Requests
Modifies a recording rule.
PUT https://{endpoint}/v1/{project_id}/record/rule/e89b76xxxxxx3425ui80af501cdxxxxxx { "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" : "region1", "object" : "record/" } } }
Example Responses
Status code: 400
Failed to modify the recording template.
{ "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal" }
Status Codes
Status Code |
Description |
---|---|
200 |
Recording template modified. |
400 |
Failed to modify the recording template. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.