Adds a custom transcoding configuration.
This operation supports the following types of custom transcoding templates:
- h264: custom H.264 standard transcoding.
- h264-nbhd: custom H.264 Narrowband HD™ transcoding.
- h265: custom H.265 standard transcoding.
- h265-nbhd: custom H.265 Narrowband HD™ transcoding.
- audio: audio-only transcoding.
QPS limit
You can call this operation up to 6,000 times per minute 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 limits.
Debugging
Request parameters
Parameter |
Type |
Required |
Example |
Description |
Action | String | Yes | AddCustomLiveStreamTranscode | The operation that you want to perform. Set the value to AddCustomLiveStreamTranscode. |
Domain | String | Yes | example.com | The main streaming domain. |
App | String | Yes | liveApp**** | The name of the application to which the live stream belongs. |
KmsKeyID | String | No | afce5722-81d2-43c3-9930-7601da11**** | The ID of the customer master key (CMK) in Key Management Service (KMS). |
KmsUID | String | No | 25346073170691**** | The ID of the KMS account. |
KmsKeyExpireInterval | String | No | 3600 | The rotation period of the CMK. Valid values: 60 to 3600. Unit: seconds. |
Template | String | Yes | LiveCusTranscode**** | The name of the custom transcoding template. Note The name can contain digits, letters, and hyphens (-), and must start with a letter or digit. The name must be different from the names of any default transcoding templates. |
TemplateType | String | Yes | h264 | The type of the custom transcoding template. Valid values:
Note If you set TemplateType to h264, h264-nbhd, h265, or h265-nbhd, the Height, Width, FPS, and VideoBitrate parameters are required. |
Height | Integer | No | 720 | The height of the output video. Unit: pixels. The value must comply with the following rules:
Note The resolution of a video that is transcoded by using the H.265 Narrowband HD™ transcoding template cannot exceed 1280 × 720 pixels. |
Width | Integer | No | 576 | The width of the output video. Unit: pixels. The value must comply with the following rules:
Note The resolution of a video that is transcoded by using the H.265 Narrowband HD™ transcoding template cannot exceed 1280 × 720 pixels. |
FPS | Integer | No | 30 | The frame rate of the output video. Unit: frames per second (FPS). Valid values: 1 to 60. |
VideoBitrate | Integer | No | 720 | The bitrate of the output video. Unit: Kbit/s. Valid values: 1 to 6000. Note The bitrate of the output video may not be the same as the value that you specify, but is as close to the value as possible, especially when the value is excessively large or small. |
AudioBitrate | Integer | No | 512 | The bitrate of the output audio. Unit: Kbit/s. Valid values: 1 to 1000. |
Gop | String | No | 1 | The group of pictures (GOP) size of the output video. Unit: frames or seconds.
|
Profile | Integer | No | 2 | The video encoding profile. The profile determines how a video is encoded. In most cases, a greater value indicates better image quality and higher resource consumption. Valid values:
|
AudioProfile | String | No | aac_low | The audio encoding profile. Valid values:
|
AudioCodec | String | No | AAC | The audio codec. Valid values:
|
AudioRate | Integer | No | 96000 | The audio sampling rate. Valid values: 22050 to 96000. Important If you set AudioProfile to aac_ld, the audio sampling rate cannot exceed 44100.
|
AudioChannelNum | Integer | No | 2 | The number of sound channels. Valid values:
|
Lazy | String | No | yes | Specifies whether to enable triggered transcoding. Valid values:
|
EncryptParameters | String | No | {"EncryptType": "aliyun", "KmsKeyID":"afce5722-81d2-43c3-9930-7601da11****","KmsKeyExpireInterval":"3600"} | The encryption settings. The value must be a JSON string that includes the following fields:
Note If you specify the EncryptParameters parameter, the KmsKeyID, KmsUID, and KmsKeyExpireInterval fields are required. |
ResWithSource | String | No | {"Type":"short","Value":"1080"} | The source-based resolution settings. This parameter takes precedence over other resolution settings. The following fields must be included:
|
FpsWithSource | String | No | {"UpLimit":60,"LowerLimit":1} | The source-based frame rate settings. This parameter takes precedence over other frame rate settings. The following fields must be included:
|
BitrateWithSource | String | No | {"UpLimit":2500,"LowerLimit":800,"Factor":1} | The source-based bitrate settings. This parameter takes precedence over other bitrate settings. The following fields must be included:
|
ExtWithSource | String | No | {"KeyFrameOpen":"yes","Copyts":"yes","SeiMode":1} | Other source-based settings. The following fields are included:
|
Response parameters
Parameter |
Type |
Example |
Description |
RequestId | String | 16A96B9A-F203-4EC5-8E43-CB92E68F**** | The request ID. |
Examples
Sample requests
http(s)://live.aliyuncs.com/?Action=AddCustomLiveStreamTranscode
&App=liveApp****
&Domain=example.com
&Template=LiveCusTranscode****
&TemplateType=h264
&<Common request parameters>
Sample success responses
XML
format
HTTP/1.1 200 OK
Content-Type:application/xml
<?xml version="1.0" encoding="UTF-8" ?>
<AddCustomLiveStreamTranscodeResponse>
<RequestId>16A96B9A-F203-4EC5-8E43-CB92E68F4CD8</RequestId>
</AddCustomLiveStreamTranscodeResponse>
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"AddCustomLiveStreamTranscodeResponse" : {
"RequestId" : "16A96B9A-F203-4EC5-8E43-CB92E68F4CD8"
}
}
Error codes
For a list of error codes, see Service error codes.