// This file is auto-generated, don't edit it
import * as $dara from '@darabonba/typescript';
export class SubmitTranscodeJobRequestInputGroup extends $dara.Model {
/**
* @remarks
* The input stream path:
*
* - This parameter takes effect only when Type is Media. It lets you select a specific file from the media asset as the input.
*
* - The system checks whether the input URL exists in the media asset.
*
* @example
* oss://bucket/path/to/video.mp4
*/
inputUrl?: string;
/**
* @remarks
* The media value:
*
* - If Type is OSS, this is a URL that supports the OSS or HTTP protocol.
*
* > You must add the OSS bucket in the URL to IMS [storage management](https://help.aliyun.com/document_detail/609918.html) before you use it.
*
* - If Type is Media, this is a media asset ID.
*
* This parameter is required.
*
* @example
* oss://bucket/path/to/video.mp4
*/
media?: string;
/**
* @remarks
* The media object type. Valid values:
*
* - OSS: An OSS file.
*
* - Media: A media asset ID.
*
* This parameter is required.
*
* @example
* OSS
*/
type?: string;
static names(): { [key: string]: string } {
return {
inputUrl: 'InputUrl',
media: 'Media',
type: 'Type',
};
}
static types(): { [key: string]: any } {
return {
inputUrl: 'string',
media: 'string',
type: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupOutput extends $dara.Model {
/**
* @remarks
* The media value:
*
* - If Type is OSS, this is a URL that supports the OSS or HTTP protocol.
*
* > You must add the OSS bucket in the URL to IMS [storage management](https://help.aliyun.com/document_detail/609918.html) before you use it.
*
* - If Type is Media, this is a media asset ID.
*
* This parameter is required.
*
* @example
* oss://bucket/path/to/video.mp4
*/
media?: string;
/**
* @remarks
* The output stream path:
* This parameter takes effect only when Type is Media. It lets you select a specific file from the media asset as the output.
* Valid placeholders:
*
* - {MediaId}: The media asset ID.
*
* - {JobId}: The sub-job ID.
*
* - {MediaBucket}: The bucket where the media asset resides.
*
* - {ExtName}: The file extension. This is the output format specified in the transcoding template.
*
* - {DestMd5}: The MD5 hash of the transcoded output file.
*
* > 1. You must include both {MediaId} and {JobId} in this parameter.
* >
* > 2. The output bucket must be the same as the bucket where the media asset resides.
*
* @example
* oss://bucket/path/to/{MediaId}/{JobId}.mp4
*/
outputUrl?: string;
/**
* @remarks
* The media object type. Valid values:
*
* - OSS: An OSS file.
*
* - Media: A media asset ID.
*
* This parameter is required.
*
* @example
* OSS
*/
type?: string;
static names(): { [key: string]: string } {
return {
media: 'Media',
outputUrl: 'OutputUrl',
type: 'Type',
};
}
static types(): { [key: string]: any } {
return {
media: 'string',
outputUrl: 'string',
type: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigCombineConfigs extends $dara.Model {
/**
* @remarks
* The audio stream index.
*
* This parameter is required.
*
* @example
* 0 or exclude
*/
audioIndex?: string;
/**
* @remarks
* The duration of the input stream. Default: The video duration.
*
* @example
* 20.0
*/
duration?: number;
/**
* @remarks
* The start time of the input stream. Default: 0.
*
* @example
* 0.0
*/
start?: number;
/**
* @remarks
* The video stream index.
*
* This parameter is required.
*
* @example
* 0 or exclude
*/
videoIndex?: string;
static names(): { [key: string]: string } {
return {
audioIndex: 'AudioIndex',
duration: 'Duration',
start: 'Start',
videoIndex: 'VideoIndex',
};
}
static types(): { [key: string]: any } {
return {
audioIndex: 'string',
duration: 'number',
start: 'number',
videoIndex: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigEncryption extends $dara.Model {
/**
* @remarks
* The ciphertext of the key for standard encryption.
*
* @example
* MTYi00NDU0LTg5O****
*/
cipherText?: string;
/**
* @remarks
* The decryption service endpoint for standard encryption.
*
* @example
* https://sample.com/path?CipherText=MTYi00NDU0LTg5O****
*/
decryptKeyUri?: string;
/**
* @remarks
* The encryption type. Valid values:
*
* - PrivateEncryption: Alibaba Cloud proprietary cryptography.
*
* - HLSEncryption: HLS standard encryption.
*
* @example
* PrivateEncryption
*/
encryptType?: string;
/**
* @remarks
* The key service type for standard encryption. Valid values:
*
* - KMS
*
* - Base64
*
* @example
* KMS
*/
keyServiceType?: string;
static names(): { [key: string]: string } {
return {
cipherText: 'CipherText',
decryptKeyUri: 'DecryptKeyUri',
encryptType: 'EncryptType',
keyServiceType: 'KeyServiceType',
};
}
static types(): { [key: string]: any } {
return {
cipherText: 'string',
decryptKeyUri: 'string',
encryptType: 'string',
keyServiceType: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarksOverwriteParamsFile extends $dara.Model {
/**
* @remarks
* The media value:
*
* - If Type is OSS, this is a URL that supports the OSS or HTTP protocol.
*
* - If Type is Media, this is a media asset ID.
*
* @example
* oss://bucket/path/to/video.mp4
*/
media?: string;
/**
* @remarks
* The media object type. Valid values:
*
* - OSS: An OSS file.
*
* - Media: A media asset ID.
*
* @example
* OSS
*/
type?: string;
static names(): { [key: string]: string } {
return {
media: 'Media',
type: 'Type',
};
}
static types(): { [key: string]: any } {
return {
media: 'string',
type: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarksOverwriteParamsTimeline extends $dara.Model {
/**
* @remarks
* The duration of the watermark.
*
* - Valid values: [number, ToEND]
*
* - Default value: ToEND
*
* @example
* ToEND
*/
duration?: string;
/**
* @remarks
* The start time of the watermark.
*
* - Unit: seconds
*
* - Valid values: numbers
*
* - Default value: 0
*
* @example
* 00:00:05
*/
start?: string;
static names(): { [key: string]: string } {
return {
duration: 'Duration',
start: 'Start',
};
}
static types(): { [key: string]: any } {
return {
duration: 'string',
start: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarksOverwriteParams extends $dara.Model {
/**
* @remarks
* The horizontal offset of the image watermark relative to the output video. Default value: 0.
*
* Values can be one of the following:
*
* - Integer: The offset in pixels.
*
* - Valid values: [8, 4096]
*
* - Unit: px
*
* - Decimal: The ratio of the horizontal offset to the output video width.
*
* - Valid values: (0, 1)
*
* - Up to four decimal places are supported, such as 0.9999. Extra digits are automatically discarded.
*
* @example
* 10
*/
dx?: string;
/**
* @remarks
* The vertical offset of the image watermark relative to the output video. Default value: 0.
*
* Values can be one of the following:
*
* - Integer: The offset in pixels.
*
* - Valid values: [8, 4096]
*
* - Unit: px
*
* - Decimal: The ratio of the vertical offset to the output video height.
*
* - Valid values: (0, 1)
*
* - Up to four decimal places are supported, such as 0.9999. Extra digits are automatically discarded.
*
* @example
* 10
*/
dy?: string;
/**
* @remarks
* The watermark image file.
*/
file?: SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarksOverwriteParamsFile;
/**
* @remarks
* The height of the image watermark on the output video. Values can be one of the following:
*
* - Integer: The pixel height of the watermark image.
*
* - Valid values: [8, 4096]
*
* - Unit: px
*
* - Decimal: The ratio of the watermark height to the output video height.
*
* - Valid values: (0, 1)
*
* - Up to four decimal places are supported, such as 0.9999. Extra digits are automatically discarded.
*
* @example
* 32
*/
height?: string;
/**
* @remarks
* The position of the watermark.
*
* - Valid values: TopRight (top-right), TopLeft (top-left), BottomRight (bottom-right), and BottomLeft (bottom-left).
*
* - Default value: TopRight.
*
* @example
* TopLeft
*/
referPos?: string;
/**
* @remarks
* The display time settings for a dynamic watermark.
*/
timeline?: SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarksOverwriteParamsTimeline;
/**
* @remarks
* The width of the image watermark on the output video. Values can be one of the following:
*
* - Integer: The pixel width of the watermark image.
*
* - Valid values: [8, 4096]
*
* - Unit: px
*
* - Decimal: The ratio of the watermark width to the output video width.
*
* - Valid values: (0, 1)
*
* - Up to four decimal places are supported, such as 0.9999. Extra digits are automatically discarded.
*
* @example
* 32
*/
width?: string;
static names(): { [key: string]: string } {
return {
dx: 'Dx',
dy: 'Dy',
file: 'File',
height: 'Height',
referPos: 'ReferPos',
timeline: 'Timeline',
width: 'Width',
};
}
static types(): { [key: string]: any } {
return {
dx: 'string',
dy: 'string',
file: SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarksOverwriteParamsFile,
height: 'string',
referPos: 'string',
timeline: SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarksOverwriteParamsTimeline,
width: 'string',
};
}
validate() {
if(this.file && typeof (this.file as any).validate === 'function') {
(this.file as any).validate();
}
if(this.timeline && typeof (this.timeline as any).validate === 'function') {
(this.timeline as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarks extends $dara.Model {
/**
* @remarks
* Parameters to overwrite. If you specify these, they replace the corresponding parameters in the template.
*/
overwriteParams?: SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarksOverwriteParams;
/**
* @remarks
* The template ID.
*
* This parameter is required.
*
* @example
* 9547c6ad97cb4f2aaa29683ebd18d410
*/
templateId?: string;
static names(): { [key: string]: string } {
return {
overwriteParams: 'OverwriteParams',
templateId: 'TemplateId',
};
}
static types(): { [key: string]: any } {
return {
overwriteParams: SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarksOverwriteParams,
templateId: 'string',
};
}
validate() {
if(this.overwriteParams && typeof (this.overwriteParams as any).validate === 'function') {
(this.overwriteParams as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigSubtitlesOverwriteParamsFile extends $dara.Model {
/**
* @remarks
* The media value:
*
* - If Type is OSS, this is a URL that supports the OSS or HTTP protocol.
*
* - If Type is Media, this is a media asset ID.
*
* @example
* oss://bucket/path/to/video.mp4
*/
media?: string;
/**
* @remarks
* The media object type. Valid values:
*
* - OSS: An OSS file.
*
* - Media: A media asset ID.
*
* @example
* OSS
*/
type?: string;
static names(): { [key: string]: string } {
return {
media: 'Media',
type: 'Type',
};
}
static types(): { [key: string]: any } {
return {
media: 'string',
type: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigSubtitlesOverwriteParams extends $dara.Model {
/**
* @remarks
* The file encoding format.
*
* @example
* UTF-8
*/
charEnc?: string;
/**
* @remarks
* The subtitle file.
*/
file?: SubmitTranscodeJobRequestOutputGroupProcessConfigSubtitlesOverwriteParamsFile;
/**
* @remarks
* The subtitle file format.
*
* @example
* vtt
*/
format?: string;
static names(): { [key: string]: string } {
return {
charEnc: 'CharEnc',
file: 'File',
format: 'Format',
};
}
static types(): { [key: string]: any } {
return {
charEnc: 'string',
file: SubmitTranscodeJobRequestOutputGroupProcessConfigSubtitlesOverwriteParamsFile,
format: 'string',
};
}
validate() {
if(this.file && typeof (this.file as any).validate === 'function') {
(this.file as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigSubtitles extends $dara.Model {
/**
* @remarks
* Parameters to overwrite. If you specify these, they replace the corresponding parameters in the template.
*/
overwriteParams?: SubmitTranscodeJobRequestOutputGroupProcessConfigSubtitlesOverwriteParams;
/**
* @remarks
* The template ID.
*
* This parameter is required.
*
* @example
* 9547c6ad97cb4f2aaa29683ebd18d410
*/
templateId?: string;
static names(): { [key: string]: string } {
return {
overwriteParams: 'OverwriteParams',
templateId: 'TemplateId',
};
}
static types(): { [key: string]: any } {
return {
overwriteParams: SubmitTranscodeJobRequestOutputGroupProcessConfigSubtitlesOverwriteParams,
templateId: 'string',
};
}
validate() {
if(this.overwriteParams && typeof (this.overwriteParams as any).validate === 'function') {
(this.overwriteParams as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTextWatermarksOverwriteParams extends $dara.Model {
/**
* @remarks
* Adjusts the font size based on the output video size. Valid values: true or false. Default: false.
*
* @example
* false
*/
adaptive?: string;
/**
* @remarks
* The outline color. Default: Black. For more values, see BorderColor.
*
* @example
* #006400
*/
borderColor?: string;
/**
* @remarks
* The outline width.
*
* - Default: 0
*
* - Valid values: (0, 4096]
*
* @example
* 0
*/
borderWidth?: number;
/**
* @remarks
* The watermark text. It does not need to be Base64 encoded. The string must be UTF-8 encoded.
*
* @example
* Test watermark
*/
content?: string;
/**
* @remarks
* The font transparency.
*
* - Valid values: (0, 1]
*
* - Default: 1.0
*
* @example
* 1.0
*/
fontAlpha?: string;
/**
* @remarks
* The color.
*
* @example
* #006400
*/
fontColor?: string;
/**
* @remarks
* The font. Default: SimSun.
*
* @example
* SimSun
*/
fontName?: string;
/**
* @remarks
* The font size.
*
* - Default value: 16
*
* - Valid values: (4, 120)
*
* @example
* 16
*/
fontSize?: number;
/**
* @remarks
* The left margin of the text.
*
* - Default: 0
*
* - Valid values: [0, 4096]
*
* @example
* 10
*/
left?: string;
/**
* @remarks
* The top margin of the text.
*
* - Default: 0
*
* - Valid values: [0, 4096]
*
* @example
* 10
*/
top?: string;
static names(): { [key: string]: string } {
return {
adaptive: 'Adaptive',
borderColor: 'BorderColor',
borderWidth: 'BorderWidth',
content: 'Content',
fontAlpha: 'FontAlpha',
fontColor: 'FontColor',
fontName: 'FontName',
fontSize: 'FontSize',
left: 'Left',
top: 'Top',
};
}
static types(): { [key: string]: any } {
return {
adaptive: 'string',
borderColor: 'string',
borderWidth: 'number',
content: 'string',
fontAlpha: 'string',
fontColor: 'string',
fontName: 'string',
fontSize: 'number',
left: 'string',
top: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTextWatermarks extends $dara.Model {
/**
* @remarks
* Parameters to overwrite. If you specify these, they replace the corresponding parameters in the template.
*/
overwriteParams?: SubmitTranscodeJobRequestOutputGroupProcessConfigTextWatermarksOverwriteParams;
/**
* @remarks
* The template ID.
*
* This parameter is required.
*
* @example
* 9547c6ad97cb4f2aaa29683ebd18d410
*/
templateId?: string;
static names(): { [key: string]: string } {
return {
overwriteParams: 'OverwriteParams',
templateId: 'TemplateId',
};
}
static types(): { [key: string]: any } {
return {
overwriteParams: SubmitTranscodeJobRequestOutputGroupProcessConfigTextWatermarksOverwriteParams,
templateId: 'string',
};
}
validate() {
if(this.overwriteParams && typeof (this.overwriteParams as any).validate === 'function') {
(this.overwriteParams as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsAudioVolume extends $dara.Model {
/**
* @remarks
* The target loudness level.
*
* @example
* -6
*/
integratedLoudnessTarget?: string;
/**
* @remarks
* The loudness range.
*
* @example
* 8
*/
loudnessRangeTarget?: string;
/**
* @remarks
* The volume adjustment method.
*
* @example
* auto
*/
method?: string;
/**
* @remarks
* The true peak volume.
*
* @example
* -1
*/
truePeak?: string;
static names(): { [key: string]: string } {
return {
integratedLoudnessTarget: 'IntegratedLoudnessTarget',
loudnessRangeTarget: 'LoudnessRangeTarget',
method: 'Method',
truePeak: 'TruePeak',
};
}
static types(): { [key: string]: any } {
return {
integratedLoudnessTarget: 'string',
loudnessRangeTarget: 'string',
method: 'string',
truePeak: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsAudio extends $dara.Model {
/**
* @remarks
* The audio bitrate of the output file. Valid values: [8, 1000]. Unit: Kbps. Default value: 128.
*
* @example
* 128
*/
bitrate?: string;
/**
* @remarks
* The number of sound channels. Default value: 2.
*
* @example
* 2
*/
channels?: string;
/**
* @remarks
* The audio codec. Valid values: AAC, MP3, VORBIS, and FLAC. Default value: AAC.
*
* @example
* AAC
*/
codec?: string;
/**
* @remarks
* The audio encoding profile. When Codec is AAC, valid values are aac_low, aac_he, aac_he_v2, aac_ld, and aac_eld.
*
* @example
* aac_low
*/
profile?: string;
/**
* @remarks
* Specifies whether to delete the audio stream.
*
* @example
* false
*/
remove?: string;
/**
* @remarks
* The sample rate. Default value: 44100. Valid values: 22050, 32000, 44100, 48000, and 96000. Unit: Hz.
*
* @example
* 44100
*/
samplerate?: string;
/**
* @remarks
* The volume control.
*/
volume?: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsAudioVolume;
static names(): { [key: string]: string } {
return {
bitrate: 'Bitrate',
channels: 'Channels',
codec: 'Codec',
profile: 'Profile',
remove: 'Remove',
samplerate: 'Samplerate',
volume: 'Volume',
};
}
static types(): { [key: string]: any } {
return {
bitrate: 'string',
channels: 'string',
codec: 'string',
profile: 'string',
remove: 'string',
samplerate: 'string',
volume: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsAudioVolume,
};
}
validate() {
if(this.volume && typeof (this.volume as any).validate === 'function') {
(this.volume as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsContainer extends $dara.Model {
/**
* @remarks
* The container format.
*
* @example
* mp4
*/
format?: string;
static names(): { [key: string]: string } {
return {
format: 'Format',
};
}
static types(): { [key: string]: any } {
return {
format: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsMuxConfigSegment extends $dara.Model {
/**
* @remarks
* The segment duration.
*
* @example
* 10
*/
duration?: string;
/**
* @remarks
* The forced segment time points.
*
* @example
* 2,3
*/
forceSegTime?: string;
static names(): { [key: string]: string } {
return {
duration: 'Duration',
forceSegTime: 'ForceSegTime',
};
}
static types(): { [key: string]: any } {
return {
duration: 'string',
forceSegTime: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsMuxConfig extends $dara.Model {
/**
* @remarks
* The segment settings.
*/
segment?: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsMuxConfigSegment;
static names(): { [key: string]: string } {
return {
segment: 'Segment',
};
}
static types(): { [key: string]: any } {
return {
segment: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsMuxConfigSegment,
};
}
validate() {
if(this.segment && typeof (this.segment as any).validate === 'function') {
(this.segment as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsTransConfig extends $dara.Model {
/**
* @remarks
* The method used to adjust the display aspect ratio. This parameter takes effect only when both Width and Height are specified. You can use it with LongShortMode.
*
* Valid values: rescale, crop, pad, and none.
*
* Default value: none.
*
* @example
* none
*/
adjDarMethod?: string;
/**
* @remarks
* Specifies whether to check the audio bitrate. IsCheckAudioBitrate and IsCheckAudioBitrateFail are mutually exclusive. IsCheckAudioBitrateFail has higher priority.
*
* - true: Check the bitrate. If the input audio bitrate is lower than the output setting, transcode at the input bitrate.
*
* - false: Do not check the bitrate.
*
* Default value:
*
* - Empty and the codec differs from the input source: false.
*
* - Empty and the codec matches the input source: true.
*
* @example
* true
*/
isCheckAudioBitrate?: string;
/**
* @remarks
* Specifies whether to check the audio bitrate. IsCheckAudioBitrate and IsCheckAudioBitrateFail are mutually exclusive. IsCheckAudioBitrateFail has higher priority.
*
* - true: Check the bitrate. If the input audio bitrate is lower than the output setting, return a failure.
*
* - false: Do not check the bitrate.
*
* Default value: false.
*
* @example
* true
*/
isCheckAudioBitrateFail?: string;
/**
* @remarks
* Specifies whether to check the video resolution. IsCheckReso and IsCheckResoFail are mutually exclusive. IsCheckResoFail has higher priority.
*
* - true: Check the resolution. If the input video resolution (width or height) is smaller than the output setting, transcode at the input resolution.
*
* - false: Do not check the resolution.
*
* Default value: false.
*
* @example
* true
*/
isCheckReso?: string;
/**
* @remarks
* Specifies whether to check the video resolution. IsCheckReso and IsCheckResoFail are mutually exclusive. IsCheckResoFail has higher priority.
*
* - true: Check the resolution. If the input video resolution (width or height) is smaller than the output setting, return a failure.
*
* - false: Do not check the resolution.
*
* Default value: false.
*
* @example
* true
*/
isCheckResoFail?: string;
/**
* @remarks
* Specifies whether to check the video bitrate. IsCheckVideoBitrate and IsCheckVideoBitrateFail are mutually exclusive. IsCheckVideoBitrateFail has higher priority.
*
* - true: Check the bitrate. If the input video bitrate is lower than the output setting, transcode at the input bitrate.
*
* - false: Do not check the bitrate.
*
* Default value: false.
*
* @example
* true
*/
isCheckVideoBitrate?: string;
/**
* @remarks
* Specifies whether to check the video bitrate. IsCheckVideoBitrate and IsCheckVideoBitrateFail are mutually exclusive. IsCheckVideoBitrateFail has higher priority.
*
* - true: Check the bitrate. If the input video bitrate is lower than the output setting, return a failure.
*
* - false: Do not check the bitrate.
*
* Default value: false.
*
* @example
* true
*/
isCheckVideoBitrateFail?: string;
/**
* @remarks
* The video transcoding mode. Valid values:
*
* - onepass: Used for adaptive bitrate (ABR) streaming. Encoding is faster than twopass.
*
* - twopass: Used for variable bitrate (VBR) streaming. Encoding is slower than onepass.
*
* - CBR: Constant bitrate mode.
*
* Default value: onepass.
*
* @example
* onepass
*/
transMode?: string;
static names(): { [key: string]: string } {
return {
adjDarMethod: 'AdjDarMethod',
isCheckAudioBitrate: 'IsCheckAudioBitrate',
isCheckAudioBitrateFail: 'IsCheckAudioBitrateFail',
isCheckReso: 'IsCheckReso',
isCheckResoFail: 'IsCheckResoFail',
isCheckVideoBitrate: 'IsCheckVideoBitrate',
isCheckVideoBitrateFail: 'IsCheckVideoBitrateFail',
transMode: 'TransMode',
};
}
static types(): { [key: string]: any } {
return {
adjDarMethod: 'string',
isCheckAudioBitrate: 'string',
isCheckAudioBitrateFail: 'string',
isCheckReso: 'string',
isCheckResoFail: 'string',
isCheckVideoBitrate: 'string',
isCheckVideoBitrateFail: 'string',
transMode: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsVideo extends $dara.Model {
/**
* @remarks
* The maximum bitrate for adaptive bitrate streaming (ABR). This applies only to narrow-high 1. Valid values: [10, 50000]. Unit: Kbps.
*
* @example
* 6000
*/
abrMax?: string;
/**
* @remarks
* The average video bitrate. Valid values: [10, 50000]. Unit: Kbps.
*
* @example
* 3000
*/
bitrate?: string;
/**
* @remarks
* The buffer size. Valid values: [1000, 128000]. Default value: 6000. Unit: Kb.
*
* @example
* 6000
*/
bufsize?: string;
/**
* @remarks
* The encoding format.
*
* @example
* H.264
*/
codec?: string;
/**
* @remarks
* The constant rate factor (CRF), which controls the trade-off between quality and bitrate. Valid values: [0, 51]. Default values: 23 for H.264 and 26 for H.265.
*
* > If you set Crf, the Bitrate setting is ignored.
*
* @example
* 23
*/
crf?: string;
/**
* @remarks
* The video cropping method. Two options are available:
*
* - Automatically detect and crop black bars. Set this to border.
*
* - Custom cropping. Format: width:height:left:top. Example: 1280:800:0:140
*
* @example
* 1280:800:0:140
*/
crop?: string;
/**
* @remarks
* The frame rate. Valid values: (0, 60]. Default value: The frame rate of the input file.
*
* > If the frame rate of the input file exceeds 60, the system uses 60.
*
* @example
* 25
*/
fps?: string;
/**
* @remarks
* The maximum number of frames between keyframes. Valid values: [1, 1080000]. Default value: 250.
*
* @example
* 250
*/
gop?: string;
/**
* @remarks
* The height. Valid values: [128, 4096]. Unit: px. Default value: The original video height.
*
* @example
* 1080
*/
height?: string;
/**
* @remarks
* Specifies whether to enable automatic rotation for portrait or landscape videos (also known as long-side/short-side mode).
*
* @example
* false
*/
longShortMode?: string;
/**
* @remarks
* The peak video bitrate. Valid values: [10, 50000]. Unit: Kbps.
*
* @example
* 9000
*/
maxrate?: string;
/**
* @remarks
* The padding configuration for black bars. Format: width:height:left:top. Example: 1280:800:0:140
*
* @example
* 1280:800:0:140
*/
pad?: string;
/**
* @remarks
* The video color format. Valid values include yuv420p and yuvj420p.
*
* @example
* yuv420p
*/
pixFmt?: string;
/**
* @remarks
* The video encoder preset. Only H.264 supports this parameter. Valid values: veryfast, fast, medium, slow, and slower. Default value: medium.
*
* @example
* medium
*/
preset?: string;
/**
* @remarks
* The encoding profile. Valid values: baseline, main, and high.
*
* - baseline: For mobile devices.
*
* - main: For standard-resolution devices.
*
* - high: For high-resolution devices.
*
* Default value: high.
*
* @example
* Main
*/
profile?: string;
/**
* @remarks
* Specifies whether to remove the video.
*
* @example
* false
*/
remove?: string;
/**
* @remarks
* The scan mode. Valid values: interlaced and progressive.
*
* @example
* progressive
*/
scanMode?: string;
/**
* @remarks
* The width. Valid values: [128, 4096]. Unit: px. Default value: The original video width.
*
* @example
* 1920
*/
width?: string;
static names(): { [key: string]: string } {
return {
abrMax: 'AbrMax',
bitrate: 'Bitrate',
bufsize: 'Bufsize',
codec: 'Codec',
crf: 'Crf',
crop: 'Crop',
fps: 'Fps',
gop: 'Gop',
height: 'Height',
longShortMode: 'LongShortMode',
maxrate: 'Maxrate',
pad: 'Pad',
pixFmt: 'PixFmt',
preset: 'Preset',
profile: 'Profile',
remove: 'Remove',
scanMode: 'ScanMode',
width: 'Width',
};
}
static types(): { [key: string]: any } {
return {
abrMax: 'string',
bitrate: 'string',
bufsize: 'string',
codec: 'string',
crf: 'string',
crop: 'string',
fps: 'string',
gop: 'string',
height: 'string',
longShortMode: 'string',
maxrate: 'string',
pad: 'string',
pixFmt: 'string',
preset: 'string',
profile: 'string',
remove: 'string',
scanMode: 'string',
width: 'string',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParams extends $dara.Model {
/**
* @remarks
* The audio settings.
*/
audio?: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsAudio;
/**
* @remarks
* The container format settings.
*/
container?: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsContainer;
/**
* @remarks
* The multiplexing settings.
*/
muxConfig?: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsMuxConfig;
/**
* @remarks
* The conditional transcoding parameters.
*/
transConfig?: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsTransConfig;
/**
* @remarks
* The video settings.
*/
video?: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsVideo;
static names(): { [key: string]: string } {
return {
audio: 'Audio',
container: 'Container',
muxConfig: 'MuxConfig',
transConfig: 'TransConfig',
video: 'Video',
};
}
static types(): { [key: string]: any } {
return {
audio: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsAudio,
container: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsContainer,
muxConfig: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsMuxConfig,
transConfig: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsTransConfig,
video: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParamsVideo,
};
}
validate() {
if(this.audio && typeof (this.audio as any).validate === 'function') {
(this.audio as any).validate();
}
if(this.container && typeof (this.container as any).validate === 'function') {
(this.container as any).validate();
}
if(this.muxConfig && typeof (this.muxConfig as any).validate === 'function') {
(this.muxConfig as any).validate();
}
if(this.transConfig && typeof (this.transConfig as any).validate === 'function') {
(this.transConfig as any).validate();
}
if(this.video && typeof (this.video as any).validate === 'function') {
(this.video as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfigTranscode extends $dara.Model {
/**
* @remarks
* Parameters to overwrite. If you specify these, they replace the corresponding parameters in the template.
*/
overwriteParams?: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParams;
/**
* @remarks
* The template ID.
*
* This parameter is required.
*
* @example
* 9547c6ad97cb4f2aaa29683ebd18d410
*/
templateId?: string;
static names(): { [key: string]: string } {
return {
overwriteParams: 'OverwriteParams',
templateId: 'TemplateId',
};
}
static types(): { [key: string]: any } {
return {
overwriteParams: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscodeOverwriteParams,
templateId: 'string',
};
}
validate() {
if(this.overwriteParams && typeof (this.overwriteParams as any).validate === 'function') {
(this.overwriteParams as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroupProcessConfig extends $dara.Model {
/**
* @remarks
* The configuration for merging multiple inputs.
*/
combineConfigs?: SubmitTranscodeJobRequestOutputGroupProcessConfigCombineConfigs[];
/**
* @remarks
* The encryption configuration.
*/
encryption?: SubmitTranscodeJobRequestOutputGroupProcessConfigEncryption;
/**
* @remarks
* The image watermark configuration.
*/
imageWatermarks?: SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarks[];
/**
* @remarks
* The subtitle burn-in configuration.
*/
subtitles?: SubmitTranscodeJobRequestOutputGroupProcessConfigSubtitles[];
/**
* @remarks
* The text watermark configuration.
*/
textWatermarks?: SubmitTranscodeJobRequestOutputGroupProcessConfigTextWatermarks[];
/**
* @remarks
* The transcoding configuration.
*
* This parameter is required.
*/
transcode?: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscode;
static names(): { [key: string]: string } {
return {
combineConfigs: 'CombineConfigs',
encryption: 'Encryption',
imageWatermarks: 'ImageWatermarks',
subtitles: 'Subtitles',
textWatermarks: 'TextWatermarks',
transcode: 'Transcode',
};
}
static types(): { [key: string]: any } {
return {
combineConfigs: { 'type': 'array', 'itemType': SubmitTranscodeJobRequestOutputGroupProcessConfigCombineConfigs },
encryption: SubmitTranscodeJobRequestOutputGroupProcessConfigEncryption,
imageWatermarks: { 'type': 'array', 'itemType': SubmitTranscodeJobRequestOutputGroupProcessConfigImageWatermarks },
subtitles: { 'type': 'array', 'itemType': SubmitTranscodeJobRequestOutputGroupProcessConfigSubtitles },
textWatermarks: { 'type': 'array', 'itemType': SubmitTranscodeJobRequestOutputGroupProcessConfigTextWatermarks },
transcode: SubmitTranscodeJobRequestOutputGroupProcessConfigTranscode,
};
}
validate() {
if(Array.isArray(this.combineConfigs)) {
$dara.Model.validateArray(this.combineConfigs);
}
if(this.encryption && typeof (this.encryption as any).validate === 'function') {
(this.encryption as any).validate();
}
if(Array.isArray(this.imageWatermarks)) {
$dara.Model.validateArray(this.imageWatermarks);
}
if(Array.isArray(this.subtitles)) {
$dara.Model.validateArray(this.subtitles);
}
if(Array.isArray(this.textWatermarks)) {
$dara.Model.validateArray(this.textWatermarks);
}
if(this.transcode && typeof (this.transcode as any).validate === 'function') {
(this.transcode as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestOutputGroup extends $dara.Model {
/**
* @remarks
* The output media configuration.
*
* This parameter is required.
*/
output?: SubmitTranscodeJobRequestOutputGroupOutput;
/**
* @remarks
* The job processing configuration.
*
* This parameter is required.
*/
processConfig?: SubmitTranscodeJobRequestOutputGroupProcessConfig;
static names(): { [key: string]: string } {
return {
output: 'Output',
processConfig: 'ProcessConfig',
};
}
static types(): { [key: string]: any } {
return {
output: SubmitTranscodeJobRequestOutputGroupOutput,
processConfig: SubmitTranscodeJobRequestOutputGroupProcessConfig,
};
}
validate() {
if(this.output && typeof (this.output as any).validate === 'function') {
(this.output as any).validate();
}
if(this.processConfig && typeof (this.processConfig as any).validate === 'function') {
(this.processConfig as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequestScheduleConfig extends $dara.Model {
/**
* @remarks
* The MPS queue ID.
*
* @example
* e37ebee5d98b4781897f6086e89f9c56
*/
pipelineId?: string;
/**
* @remarks
* The job priority. A larger number indicates a higher priority. Valid values: 1 to 10.
*
* @example
* 5
*/
priority?: number;
static names(): { [key: string]: string } {
return {
pipelineId: 'PipelineId',
priority: 'Priority',
};
}
static types(): { [key: string]: any } {
return {
pipelineId: 'string',
priority: 'number',
};
}
validate() {
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}
export class SubmitTranscodeJobRequest extends $dara.Model {
/**
* @remarks
* The idempotence key. Ensures request idempotence.
*
* @example
* ****12e8864746a0a398****
*/
clientToken?: string;
/**
* @remarks
* The input group for the job. A single input creates a transcoding job. Multiple inputs create a media merging job.
*
* This parameter is required.
*
* @example
* job-name
*/
inputGroup?: SubmitTranscodeJobRequestInputGroup[];
/**
* @remarks
* The job name.
*
* @example
* job-name
*/
name?: string;
/**
* @remarks
* The output group for the job.
*
* This parameter is required.
*
* @example
* user-data
*/
outputGroup?: SubmitTranscodeJobRequestOutputGroup[];
/**
* @remarks
* The job scheduling information.
*
* @example
* job-name
*/
scheduleConfig?: SubmitTranscodeJobRequestScheduleConfig;
/**
* @remarks
* Custom settings in JSON format. The length is limited to 512 bytes. Supports [custom webhook address configuration](https://help.aliyun.com/document_detail/451631.html).
*
* @example
* user-data
*/
userData?: string;
static names(): { [key: string]: string } {
return {
clientToken: 'ClientToken',
inputGroup: 'InputGroup',
name: 'Name',
outputGroup: 'OutputGroup',
scheduleConfig: 'ScheduleConfig',
userData: 'UserData',
};
}
static types(): { [key: string]: any } {
return {
clientToken: 'string',
inputGroup: { 'type': 'array', 'itemType': SubmitTranscodeJobRequestInputGroup },
name: 'string',
outputGroup: { 'type': 'array', 'itemType': SubmitTranscodeJobRequestOutputGroup },
scheduleConfig: SubmitTranscodeJobRequestScheduleConfig,
userData: 'string',
};
}
validate() {
if(Array.isArray(this.inputGroup)) {
$dara.Model.validateArray(this.inputGroup);
}
if(Array.isArray(this.outputGroup)) {
$dara.Model.validateArray(this.outputGroup);
}
if(this.scheduleConfig && typeof (this.scheduleConfig as any).validate === 'function') {
(this.scheduleConfig as any).validate();
}
super.validate();
}
constructor(map?: { [key: string]: any }) {
super(map);
}
}