import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface VodTranscodeTemplateConfig extends cdktf.TerraformMetaArguments { /** * Template description. Length limit: 256 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#comment VodTranscodeTemplate#comment} */ readonly comment?: string; /** * The container format. Valid values: `mp4`, `flv`, `hls`, `mp3`, `flac`, `ogg`, `m4a`, `wav` ( `mp3`, `flac`, `ogg`, `m4a`, and `wav` are audio file formats). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#container VodTranscodeTemplate#container} */ readonly container: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#id VodTranscodeTemplate#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * Transcoding template name. Length limit: 64 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#name VodTranscodeTemplate#name} */ readonly name?: string; /** * Whether to remove audio data. Valid values:0: retain 1: remove Default value: 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#remove_audio VodTranscodeTemplate#remove_audio} */ readonly removeAudio?: number; /** * Whether to remove video data. Valid values: * - 0: retain * - 1: remove * Default value: 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#remove_video VodTranscodeTemplate#remove_video} */ readonly removeVideo?: number; /** * The segment type. This parameter is valid only if `Container` is `hls`. Valid values: `ts`: TS segment; `fmp4`: fMP4 segment Default: `ts`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#segment_type VodTranscodeTemplate#segment_type} */ readonly segmentType?: string; /** * The VOD [application](https://intl.cloud.tencent.com/document/product/266/14574) ID. For customers who activate VOD service from December 25, 2023, if they want to access resources in a VOD application (whether it's the default application or a newly created one), they must fill in this field with the application ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#sub_app_id VodTranscodeTemplate#sub_app_id} */ readonly subAppId?: number; /** * audio_template block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#audio_template VodTranscodeTemplate#audio_template} */ readonly audioTemplate?: VodTranscodeTemplateAudioTemplate; /** * tehd_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#tehd_config VodTranscodeTemplate#tehd_config} */ readonly tehdConfig?: VodTranscodeTemplateTehdConfig; /** * video_template block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#video_template VodTranscodeTemplate#video_template} */ readonly videoTemplate?: VodTranscodeTemplateVideoTemplate; } export interface VodTranscodeTemplateAudioTemplate { /** * Audio channel system. Valid values:1: mono-channel2: dual-channel6: stereoYou cannot set the sound channel as stereo for media files in container formats for audios (FLAC, OGG, MP3, M4A).Default value: 2. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#audio_channel VodTranscodeTemplate#audio_channel} */ readonly audioChannel?: number; /** * Audio stream bitrate in Kbps. Value range: 0 and [26, 256].If the value is 0, the bitrate of the audio stream will be the same as that of the original audio. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#bitrate VodTranscodeTemplate#bitrate} */ readonly bitrate: number; /** * The audio codec.If `Container` is `mp3`, the valid value is:`libmp3lame`If `Container` is `ogg` or `flac`, the valid value is:`flac`If `Container` is `m4a`, the valid values are:`libfdk_aac``libmp3lame``ac3`If `Container` is `mp4` or `flv`, the valid values are:`libfdk_aac` (Recommended for MP4)`libmp3lame` (Recommended for FLV)`mp2`If `Container` is `hls`, the valid value is:`libfdk_aac`If `Format` is `HLS` or `MPEG-DASH`, the valid value is:`libfdk_aac`If `Container` is `wav`, the valid value is:`pcm16`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#codec VodTranscodeTemplate#codec} */ readonly codec: string; /** * The audio sample rate. Valid values:`16000` (valid only if `Codec` is `pcm16`)`32000``44100``48000`Unit: Hz. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#sample_rate VodTranscodeTemplate#sample_rate} */ readonly sampleRate: number; } export declare function vodTranscodeTemplateAudioTemplateToTerraform(struct?: VodTranscodeTemplateAudioTemplateOutputReference | VodTranscodeTemplateAudioTemplate): any; export declare function vodTranscodeTemplateAudioTemplateToHclTerraform(struct?: VodTranscodeTemplateAudioTemplateOutputReference | VodTranscodeTemplateAudioTemplate): any; export declare class VodTranscodeTemplateAudioTemplateOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VodTranscodeTemplateAudioTemplate | undefined; set internalValue(value: VodTranscodeTemplateAudioTemplate | undefined); private _audioChannel?; get audioChannel(): number; set audioChannel(value: number); resetAudioChannel(): void; get audioChannelInput(): number; private _bitrate?; get bitrate(): number; set bitrate(value: number); get bitrateInput(): number; private _codec?; get codec(): string; set codec(value: string); get codecInput(): string; private _sampleRate?; get sampleRate(): number; set sampleRate(value: number); get sampleRateInput(): number; } export interface VodTranscodeTemplateTehdConfig { /** * Maximum bitrate, which is valid when `Type` is `TESHD`.If this parameter is left blank or 0 is entered, there will be no upper limit for bitrate. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#max_video_bitrate VodTranscodeTemplate#max_video_bitrate} */ readonly maxVideoBitrate?: number; /** * TESHD transcoding type. Valid values: TEHD-100, OFF (default). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#type VodTranscodeTemplate#type} */ readonly type: string; } export declare function vodTranscodeTemplateTehdConfigToTerraform(struct?: VodTranscodeTemplateTehdConfigOutputReference | VodTranscodeTemplateTehdConfig): any; export declare function vodTranscodeTemplateTehdConfigToHclTerraform(struct?: VodTranscodeTemplateTehdConfigOutputReference | VodTranscodeTemplateTehdConfig): any; export declare class VodTranscodeTemplateTehdConfigOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VodTranscodeTemplateTehdConfig | undefined; set internalValue(value: VodTranscodeTemplateTehdConfig | undefined); private _maxVideoBitrate?; get maxVideoBitrate(): number; set maxVideoBitrate(value: number); resetMaxVideoBitrate(): void; get maxVideoBitrateInput(): number; private _type?; get type(): string; set type(value: string); get typeInput(): string; } export interface VodTranscodeTemplateVideoTemplate { /** * Bitrate of video stream in Kbps. Value range: 0 and [128, 35,000].If the value is 0, the bitrate of the video will be the same as that of the source video. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#bitrate VodTranscodeTemplate#bitrate} */ readonly bitrate: number; /** * The video codec. Valid values:libx264: H.264; libx265: H.265; av1: AOMedia Video 1; H.266: H.266. The AOMedia Video 1 and H.266 codecs can only be used for MP4 files. Only CRF is supported for H.266 currently. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#codec VodTranscodeTemplate#codec} */ readonly codec: string; /** * The codec tag. This parameter is valid only if the H.265 codec is used. Valid values:hvc1hev1Default value: hvc1. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#codec_tag VodTranscodeTemplate#codec_tag} */ readonly codecTag?: string; /** * Fill type, the way of processing a screenshot when the configured aspect ratio is different from that of the source video. Valid values:stretch: stretches the video image frame by frame to fill the screen. The video image may become squashed or stretched after transcoding.black: fills the uncovered area with black color, without changing the image's aspect ratio.white: fills the uncovered area with white color, without changing the image's aspect ratio.gauss: applies Gaussian blur to the uncovered area, without changing the image's aspect ratio.Default value: black. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#fill_type VodTranscodeTemplate#fill_type} */ readonly fillType?: string; /** * Video frame rate in Hz. Value range: [0,100].If the value is 0, the frame rate will be the same as that of the source video. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#fps VodTranscodeTemplate#fps} */ readonly fps: number; /** * I-frame interval in frames. Valid values: 0 and 1-100000.When this parameter is set to 0 or left empty, `Gop` will be automatically set. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#gop VodTranscodeTemplate#gop} */ readonly gop?: number; /** * The maximum video height (or short side) in pixels. Value range: 0 and [128, 8192].If both `Width` and `Height` are 0, the output resolution will be the same as that of the source video.If `Width` is 0 and `Height` is not, the video width will be proportionally scaled.If `Width` is not 0 and `Height` is, the video height will be proportionally scaled.If neither `Width` nor `Height` is 0, the specified width and height will be used.Default value: 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#height VodTranscodeTemplate#height} */ readonly height?: number; /** * Whether to output an HDR (high dynamic range) video if the source video is HDR. Valid values:ON: If the source video is HDR, output an HDR video; if not, output an SDR (standard dynamic range) video.OFF: Output an SDR video regardless of whether the source video is HDR.Default value: OFF. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#preserve_hdr_switch VodTranscodeTemplate#preserve_hdr_switch} */ readonly preserveHdrSwitch?: string; /** * Resolution adaption. Valid values:open: enabled. In this case, `Width` represents the long side of a video, while `Height` the short side;close: disabled. In this case, `Width` represents the width of a video, while `Height` the height.Default value: open.Note: this field may return null, indicating that no valid values can be obtained. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#resolution_adaptive VodTranscodeTemplate#resolution_adaptive} */ readonly resolutionAdaptive?: string; /** * The video constant rate factor (CRF). Value range: 1-51.If this parameter is specified, CRF encoding will be used and the bitrate parameter will be ignored.If `Codec` is `H.266`, this parameter is required (`28` is recommended).We don't recommend using this parameter unless you have special requirements. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#vcrf VodTranscodeTemplate#vcrf} */ readonly vcrf?: number; /** * The maximum video width (or long side) in pixels. Value range: 0 and [128, 8192].If both `Width` and `Height` are 0, the output resolution will be the same as that of the source video.If `Width` is 0 and `Height` is not, the video width will be proportionally scaled.If `Width` is not 0 and `Height` is, the video height will be proportionally scaled.If neither `Width` nor `Height` is 0, the specified width and height will be used.Default value: 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#width VodTranscodeTemplate#width} */ readonly width?: number; } export declare function vodTranscodeTemplateVideoTemplateToTerraform(struct?: VodTranscodeTemplateVideoTemplateOutputReference | VodTranscodeTemplateVideoTemplate): any; export declare function vodTranscodeTemplateVideoTemplateToHclTerraform(struct?: VodTranscodeTemplateVideoTemplateOutputReference | VodTranscodeTemplateVideoTemplate): any; export declare class VodTranscodeTemplateVideoTemplateOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): VodTranscodeTemplateVideoTemplate | undefined; set internalValue(value: VodTranscodeTemplateVideoTemplate | undefined); private _bitrate?; get bitrate(): number; set bitrate(value: number); get bitrateInput(): number; private _codec?; get codec(): string; set codec(value: string); get codecInput(): string; private _codecTag?; get codecTag(): string; set codecTag(value: string); resetCodecTag(): void; get codecTagInput(): string; private _fillType?; get fillType(): string; set fillType(value: string); resetFillType(): void; get fillTypeInput(): string; private _fps?; get fps(): number; set fps(value: number); get fpsInput(): number; private _gop?; get gop(): number; set gop(value: number); resetGop(): void; get gopInput(): number; private _height?; get height(): number; set height(value: number); resetHeight(): void; get heightInput(): number; private _preserveHdrSwitch?; get preserveHdrSwitch(): string; set preserveHdrSwitch(value: string); resetPreserveHdrSwitch(): void; get preserveHdrSwitchInput(): string; private _resolutionAdaptive?; get resolutionAdaptive(): string; set resolutionAdaptive(value: string); resetResolutionAdaptive(): void; get resolutionAdaptiveInput(): string; private _vcrf?; get vcrf(): number; set vcrf(value: number); resetVcrf(): void; get vcrfInput(): number; private _width?; get width(): number; set width(value: number); resetWidth(): void; get widthInput(): number; } /** * Represents a {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template tencentcloud_vod_transcode_template} */ export declare class VodTranscodeTemplate extends cdktf.TerraformResource { static readonly tfResourceType = "tencentcloud_vod_transcode_template"; /** * Generates CDKTF code for importing a VodTranscodeTemplate resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the VodTranscodeTemplate to import * @param importFromId The id of the existing VodTranscodeTemplate that should be imported. Refer to the {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the VodTranscodeTemplate to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/tencentcloudstack/tencentcloud/1.82.49/docs/resources/vod_transcode_template tencentcloud_vod_transcode_template} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options VodTranscodeTemplateConfig */ constructor(scope: Construct, id: string, config: VodTranscodeTemplateConfig); private _comment?; get comment(): string; set comment(value: string); resetComment(): void; get commentInput(): string; private _container?; get container(): string; set container(value: string); get containerInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _removeAudio?; get removeAudio(): number; set removeAudio(value: number); resetRemoveAudio(): void; get removeAudioInput(): number; private _removeVideo?; get removeVideo(): number; set removeVideo(value: number); resetRemoveVideo(): void; get removeVideoInput(): number; private _segmentType?; get segmentType(): string; set segmentType(value: string); resetSegmentType(): void; get segmentTypeInput(): string; private _subAppId?; get subAppId(): number; set subAppId(value: number); resetSubAppId(): void; get subAppIdInput(): number; private _audioTemplate; get audioTemplate(): VodTranscodeTemplateAudioTemplateOutputReference; putAudioTemplate(value: VodTranscodeTemplateAudioTemplate): void; resetAudioTemplate(): void; get audioTemplateInput(): VodTranscodeTemplateAudioTemplate; private _tehdConfig; get tehdConfig(): VodTranscodeTemplateTehdConfigOutputReference; putTehdConfig(value: VodTranscodeTemplateTehdConfig): void; resetTehdConfig(): void; get tehdConfigInput(): VodTranscodeTemplateTehdConfig; private _videoTemplate; get videoTemplate(): VodTranscodeTemplateVideoTemplateOutputReference; putVideoTemplate(value: VodTranscodeTemplateVideoTemplate): void; resetVideoTemplate(): void; get videoTemplateInput(): VodTranscodeTemplateVideoTemplate; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }