All Products
Search
Document Center

ApsaraVideo Live:AddCustomLiveStreamTranscode

Last Updated:Feb 05, 2024

Creates a custom transcoding template for a streaming domain.

Usage notes

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

This operation can be called up to 6,000 times per minute for each Alibaba Cloud 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

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 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) that you created in Key Management Service (KMS).

KmsUID String No 25346073170691****

The ID of your 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:

  • 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.
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: pixel. Valid values:

The value must comply with all the following rules:

  • Height ≥ 100: The height of the video is greater than or equal to 100 pixels.
  • max(Height,Width) ≤ 2560: The width or height of the video, whichever is greater, cannot exceed 2,560 pixels.
  • min(Height,Width) ≤ 1440: The width or height of the video, whichever is smaller, cannot exceed 1,440 pixels.
Note The resolution of the output 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: pixel. Valid values:

The value must comply with all the following rules:

  • Width ≥ 100: The width of the video is greater than or equal to 100 pixels.
  • max(Height,Width) ≤ 2560: The width or height of the video, whichever is greater, cannot exceed 2,560 pixels.
  • min(Height,Width) ≤ 1440: The width or height of the video, whichever is smaller, cannot exceed 1,440 pixels.
Note The resolution of the output 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 Picture (GOP) size of the video. Unit: frames or seconds.

  • Unit: frames. Valid values: 1 to 3000.
  • Unit: seconds. Valid value: 1 to 20.
Profile Integer No 2

The video encoding profile. The profile defines a set of parameters that are used to encode a video. In most cases, a greater value indicates better image quality and higher resource consumption. Valid values:

  • 1: baseline. This value is suitable for mobile devices.
  • 2: main. This value is suitable for standard-definition devices.
  • 3: high. This value is suitable for high-definition devices.
AudioProfile String No aac_low

The audio encoding profile. Valid values:

  • aac_low
  • aac_he
  • aac_he_v2
  • aac_ld
AudioCodec String No AAC

The audio encoding format. Valid values:

  • AAC
  • MP3
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:

  • 1: mono.
  • 2: binaural.
Lazy String No yes

Specifies whether to use the load-on-demand mechanism for transcoding. Valid values: yes and no. Default value: yes.

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:

  • EncryptType: the encryption type. Set the value to aliyun.
  • KmsKeyID: the ID of the CMK that you created in KMS.
  • KmsKeyExpireInterval: the rotation period of the CMK. Valid values: 60 to 3600. Unit: seconds.
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:

  • Type: You can set this field to short, long, or screen, where short specifies that the output video has an adaptive height, long specifies that the output video has an adaptive width, and screen specifies that the output video has an adaptive resolution.
  • Value: You can set this field to 240, 360, 480, 540, 720, 1080, or 2160.
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:

  • UpLimit: the maximum frame rate. Valid values: an integer from 1 to 60. The value must be greater than the minimum frame rate.
  • LowerLimit: the minimum frame rate. Valid values: an integer from 1 to 60. The value must be smaller than the maximum frame rate.
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:

  • UpLimit: the maximum bitrate limit. Valid values: an integer from 128 to 10000. The value must be greater than the minimum bitrate.
  • LowerLimit int : the minimum bitrate rate. Valid values: an integer from 128 to 10000. The value must be smaller than the maximum bitrate.
  • Factor: The ratio of the output bitrate to the source bitrate. Valid values: 0.1 to 1. The value is accurate to one decimal place. A value of 1 indicates that the output video has the same bitrate as the source video.
ExtWithSource String No No {\"KeyFrameOpen\":\"yes\",\"Copyts\":\"yes\",\"SeiMode\":1}

Other source-based settings, including the following fields:

  • KeyFrameOpen: specifies whether to use the key frames of the source video. Valid values: yes or no.
  • Copyts: specifies whether to use the presentation time stamp (PTS) of the source video. Valid values: yes or no.
  • SeiMode: specifies whether to pass through supplemental enhancement information (SEI) messages. Valid values: 0, 1, and 2, where 0 specifies that no SEI messages are passed through, 1 specifies that part of SEI messages are passed through, and 2 specifies that all SEI messages are passed through.

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=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.