All Products
Search
Document Center

ApsaraVideo Live:UpdateLiveAppRecordConfig

Last Updated:Sep 11, 2023

Updates a recording configuration for an application or a live stream.

Usage notes

Obtain the main streaming domain, and then call this operation to update a recording configuration.

QPS limit

You can call this operation up to 30 times per second per account. Requests that exceed this limit are dropped and you will experience service interruptions. We recommend that you take note of this limit when you call this operation. For more information, see QPS limit on an API operation in ApsaraVideo Live.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter

Type

Required

Example

Description

Action String Yes UpdateLiveAppRecordConfig

The operation that you want to perform. Set the value to UpdateLiveAppRecordConfig.

DomainName String Yes example.com

The main streaming domain.

AppName String Yes liveApp****

The name of the application to which the live stream belongs.

OssEndpoint String Yes learn.developer.aliyundoc.com

The endpoint of the Object Storage Service (OSS) bucket.

To store live stream recordings in OSS, you need to create an OSS bucket in advance. For more information, see Configure OSS.

StreamName String No teststream

The name of the live stream.

StartTime String No 2018-04-10T09:57:21Z

The recording start time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.

Note The start time must be within seven days after the stream ingest starts. This parameter takes effect only for the live stream specified by the StreamName parameter. If the StreamName parameter is not specified, this parameter does not take effect.
EndTime String No 2018-04-16T09:57:21Z

The recording end time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.

Note The time range that is specified by the EndTime and StartTime parameters must be less than or equal to seven days. If the value exceeds seven days, ApsaraVideo Live considers seven days as the time range. This parameter takes effect only for the live stream specified by the StreamName parameter. If the StreamName parameter is not specified, this parameter does not take effect.
OnDemand Integer No 1

Configures on-demand recording. Valid values:

  • 0: disables on-demand recording.
  • 1: enables on-demand recording by using the HTTP callback method.
  • 2: enables on-demand recording by parsing the stream ingest parameters.
  • 7: By default, ApsaraVideo Live does not automatically record live streams. You can call the RealTimeRecordCommand operation to manually start or stop recording.
Note If you set the OnDemand parameter to 1, you need to call the AddLiveRecordNotifyConfig operation to configure the OnDemandUrl parameter. Otherwise, ApsaraVideo Live does not perform on-demand recording.
DelayTime Integer No 180

The interruption duration for merge.

If the stream interruption duration exceeds the specified duration, a new recording is generated. The value of this parameter ranges from 15 to 21600.

RecordFormat.N.SliceDuration Integer No 30

The duration of a single segment. Unit: seconds.

Important This parameter takes effect only if you set the RecordFormat.N.Format parameter to m3u8.

If you do not specify this parameter, the default value is 30 seconds. Valid values: 5 to 30.

RecordFormat.N.CycleDuration Integer No 1

The recording period. Unit: seconds. If you do not specify this parameter, the default value 6 hours is used.

Note
  • If a live stream is interrupted during a recording period but is resumed within 3 minutes, the stream is recorded in the same recording before and after the interruption.
  • If a live stream is interrupted for more than 3 minutes, a new recording is generated. To change the default stream interruption time, submit a ticket. For more information, see Contact us.
RecordFormat.N.Format String No m3u8

The recording format. Supported formats include M3U8, FLV, and MP4. Valid values:

Important You need to specify at lease one of the RecordFormat and TranscodeRecordFormat parameters.
  • m3u8. If you set this parameter to m3u8, you need also to specify the RecordFormat.N.SliceOssObjectPrefix and RecordFormat.N.SliceDuration parameters.
  • flv
  • mp4
TranscodeRecordFormat.N.SliceDuration Integer No 30

The duration of a single segment in the transcoded stream recording. Unit: seconds.

Important This parameter takes effect only if you set the TranscodeRecordFormat.N.Format parameter to m3u8.

If you do not specify this parameter, the default value 30 seconds is used. Valid values: 5 to 30.

TranscodeRecordFormat.N.CycleDuration Integer No 21600

The transcoded stream recording period. Unit: seconds. If you do not specify this parameter, the default value 6 hours is used.

TranscodeRecordFormat.N.Format String No m3u8

The format of the transcoded stream recording. Supported formats include M3U8, FLV, and MP4. Valid values:

  • m3u8. If you set this parameter to m3u8, you need also to specify the RTranscodeRecordFormat.N.SliceOssObjectPrefix and TranscodeRecordFormat.N.SliceDuration parameters.
  • flv
  • mp4
TranscodeTemplates.N String No sd
  • The transcoding template of the transcoded stream. You can configure up to 10 transcoding templates at a time.
  • If you specify the TranscodeRecordFormat.N.xxx parameters, configure at least one transcoding template.
  • If you want to record multiple or all transcoded streams, set TranscodeTemplates.1 to *.

    Note

    You cannot set the TranscodeTemplates parameter to raw, which is a reserved identifier.

    RepeatList is expressed as N in TranscodeTemplates.N, which means multiple templates are configured. Examples: TranscodeTemplates.1=sd and TranscodeTemplates.2=hd.

Response parameters

Parameter

Type

Example

Description

RequestId String 16A96B9A-F203-4EC5-8E43-CB92E68F4CD8

The request ID.

Examples

Sample requests

http(s)://live.aliyuncs.com/?Action=UpdateLiveAppRecordConfig
&DomainName=example.com
&AppName=liveApp****
&OssEndpoint=learn.developer.aliyundoc.com
&StreamName=teststream
&StartTime=2018-04-10T09:57:21Z
&EndTime=2018-04-16T09:57:21Z
&OnDemand=1
&RecordFormat=[{"SliceDuration":30,"CycleDuration":1,"Format":"m3u8"}]
&TranscodeRecordFormat=[{"SliceDuration":30,"CycleDuration":21600,"Format":"m3u8"}]
&TranscodeTemplates=["sd"]
&<Common request parameters>

Sample success responses

XML format

HTTP/1.1 200 OK
Content-Type:application/xml

<UpdateLiveAppRecordConfigResponse>
    <RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>
</UpdateLiveAppRecordConfigResponse>

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "16A96B9A-F203-4EC5-8E43-CB92E68F4CD8"
}

Error codes

HttpCode

Error code

Error message

Description

400 InvalidOssBucket.Malformed Specified parameter OssBucket is not valid. The error message returned because the OSS bucket is invalid. Check whether the value of the OssBucket parameter is valid.
400 InvalidOssBucket.NotFound The parameter OssBucket does not exist. The error message returned because the OSS bucket is invalid. Check whether the value of the OssBucket parameter is valid.
400 InvalidFormat.Malformed Specified parameter Format is not valid. The error message returned because the format specified for the recording is invalid. Check whether the value of the RecordFormat.N.Format parameter is valid.
400 InvalidCycleDuration.Malformed Specified CycleDuration Format is not valid. The error message returned because the format of the recording period is invalid. Check whether the value of the RecordFormat.N.CycleDuration parameter is valid.
400 MissingOssObjectPrefix OssObjectPrefix is mandatory for this action. The error message returned because the name of the recording is not specified. Check whether the value of the RecordFormat.N.OssObjectPrefix parameter is valid.
400 InvalidOssObjectPrefix.Malformed Specified parameter OssObjectPrefix is not valid. The error message returned because the name of the recording is invalid. Check whether the value of the RecordFormat.N.OssObjectPrefix parameter is valid.
400 InvalidSliceOssObjectPrefix.Malformed Specified parameter SliceOssObjectPrefix is not valid. The error message returned because the name of the segment is invalid. Check whether the value of the RecordFormat.N.SliceOssObjectPrefix parameter is valid.
400 ConfigAlreadyExists Config has already exist. The error message returned because an existing recording configuration is found.
400 InvalidStartTime.Malformed Specified StartTime is malformed. The error message returned because the value specified for StartTime is invalid. Check whether the value of the StartTime parameter is valid.
400 InvalidEndTime.Malformed Specified EndTime is malformed. The error message returned because the value specified for EndTime is invalid. Check whether the value of the EndTime parameter is valid.

For a list of error codes, see Service error codes.