UNPKG

tencentcloud-sdk-nodejs-intl-en

Version:
1,550 lines (1,319 loc) • 1.58 MB
/* * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ const AbstractModel = require("../../common/abstract_model"); /** * Canvas information. When a video is composed, if the source material (video or image) cannot fill the output video window, the background will be drawn with the set canvas. * @class */ class Canvas extends AbstractModel { constructor(){ super(); /** * Background color. Valid values: <li>Black: black background</li> <li>White: white background</li> Default value: Black. * @type {string || null} */ this.Color = null; /** * Canvas width, that is, the width of the output video, value range: 0~3840, unit: px. Default value: 0, which means the video width is the same as the first video clip of the first video track. * @type {number || null} */ this.Width = null; /** * Canvas height, that is, the height (or long side) of the output video, value range: 0~3840, unit: px. Default value: 0, which means the video height is consistent with the first video clip of the first video track. * @type {number || null} */ this.Height = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Color = 'Color' in params ? params.Color : null; this.Width = 'Width' in params ? params.Width : null; this.Height = 'Height' in params ? params.Height : null; } } /** * ModifySampleSnapshotTemplate response structure. * @class */ class ModifySampleSnapshotTemplateResponse extends AbstractModel { constructor(){ super(); /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * ForbidMediaDistribution response structure. * @class */ class ForbidMediaDistributionResponse extends AbstractModel { constructor(){ super(); /** * List of IDs of files that do not exist. * @type {Array.<string> || null} */ this.NotExistFileIdSet = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.NotExistFileIdSet = 'NotExistFileIdSet' in params ? params.NotExistFileIdSet : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * ModifyWatermarkTemplate request structure. * @class */ class ModifyWatermarkTemplateRequest extends AbstractModel { constructor(){ super(); /** * Unique ID of watermarking template. * @type {number || null} */ this.Definition = null; /** * <b>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.</b> * @type {number || null} */ this.SubAppId = null; /** * Watermarking template name. Length limit: 64 characters. * @type {string || null} */ this.Name = null; /** * Template description. Length limit: 256 characters. * @type {string || null} */ this.Comment = null; /** * Origin position. Valid values: <li>TopLeft: the origin of coordinates is in the top-left corner of the video, and the origin of the watermark is in the top-left corner of the image or text;</li> <li>TopRight: the origin of coordinates is in the top-right corner of the video, and the origin of the watermark is in the top-right corner of the image or text;</li> <li>BottomLeft: the origin of coordinates is in the bottom-left corner of the video, and the origin of the watermark is in the bottom-left corner of the image or text;</li> <li>BottomRight: the origin of coordinates is in the bottom-right corner of the video, and the origin of the watermark is in the bottom-right corner of the image or text.</li> * @type {string || null} */ this.CoordinateOrigin = null; /** * The horizontal position of the origin of the watermark relative to the origin of coordinates of the video. % and px formats are supported: <li>If the string ends in %, the `XPos` of the watermark will be the specified percentage of the video width; for example, `10%` means that `XPos` is 10% of the video width;</li> <li>If the string ends in px, the `XPos` of the watermark will be the specified px; for example, `100px` means that `XPos` is 100 px.</li> * @type {string || null} */ this.XPos = null; /** * The vertical position of the origin of the watermark relative to the origin of coordinates of the video. % and px formats are supported: <li>If the string ends in %, the `YPos` of the watermark will be the specified percentage of the video height; for example, `10%` means that `YPos` is 10% of the video height;</li> <li>If the string ends in px, the `YPos` of the watermark will be the specified px; for example, `100px` means that `YPos` is 100 px.</li> * @type {string || null} */ this.YPos = null; /** * Image watermarking template. This field is valid only for image watermarking templates. * @type {ImageWatermarkInputForUpdate || null} */ this.ImageTemplate = null; /** * Text watermarking template. This field is valid only for text watermarking templates. * @type {TextWatermarkTemplateInputForUpdate || null} */ this.TextTemplate = null; /** * SVG watermarking template. This field is only valid for SVG watermarking templates. * @type {SvgWatermarkInputForUpdate || null} */ this.SvgTemplate = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Definition = 'Definition' in params ? params.Definition : null; this.SubAppId = 'SubAppId' in params ? params.SubAppId : null; this.Name = 'Name' in params ? params.Name : null; this.Comment = 'Comment' in params ? params.Comment : null; this.CoordinateOrigin = 'CoordinateOrigin' in params ? params.CoordinateOrigin : null; this.XPos = 'XPos' in params ? params.XPos : null; this.YPos = 'YPos' in params ? params.YPos : null; if (params.ImageTemplate) { let obj = new ImageWatermarkInputForUpdate(); obj.deserialize(params.ImageTemplate) this.ImageTemplate = obj; } if (params.TextTemplate) { let obj = new TextWatermarkTemplateInputForUpdate(); obj.deserialize(params.TextTemplate) this.TextTemplate = obj; } if (params.SvgTemplate) { let obj = new SvgWatermarkInputForUpdate(); obj.deserialize(params.SvgTemplate) this.SvgTemplate = obj; } } } /** * CreateStorageRegion request structure. * @class */ class CreateStorageRegionRequest extends AbstractModel { constructor(){ super(); /** * The region to enable storage in, which must be a storage region supported by VOD. * @type {string || null} */ this.StorageRegion = null; /** * <b>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.</b> * @type {number || null} */ this.SubAppId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.StorageRegion = 'StorageRegion' in params ? params.StorageRegion : null; this.SubAppId = 'SubAppId' in params ? params.SubAppId : null; } } /** * Full speech recognition segment. * @class */ class AiRecognitionTaskAsrFullTextSegmentItem extends AbstractModel { constructor(){ super(); /** * Confidence of recognized segment. Value range: 0-100. * @type {number || null} */ this.Confidence = null; /** * Start time offset of recognized segment in seconds. * @type {number || null} */ this.StartTimeOffset = null; /** * End time offset of recognition segment in seconds. * @type {number || null} */ this.EndTimeOffset = null; /** * Recognized text. * @type {string || null} */ this.Text = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Confidence = 'Confidence' in params ? params.Confidence : null; this.StartTimeOffset = 'StartTimeOffset' in params ? params.StartTimeOffset : null; this.EndTimeOffset = 'EndTimeOffset' in params ? params.EndTimeOffset : null; this.Text = 'Text' in params ? params.Text : null; } } /** * The information of a task to get file attributes. * @class */ class DescribeFileAttributesTask extends AbstractModel { constructor(){ super(); /** * The task ID. * @type {string || null} */ this.TaskId = null; /** * The task status. Valid values: PROCESSING, SUCCESS, FAIL. * @type {string || null} */ this.Status = null; /** * The error code. `0` indicates the task is successful. Other values indicate that the task failed. <li>`40000`: Invalid input parameter.</li> <li>`60000`: Source file error (e.g., video data is corrupted).</li> <li>`70000`: Internal server error. Please try again.</li> * @type {number || null} */ this.ErrCode = null; /** * The error code. An empty string indicates the task is successful; other values indicate that the task failed. For details, see [Video processing error codes](https://intl.cloud.tencent.com/document/product/266/39145?lang=en&pg=#video-processing). * @type {string || null} */ this.ErrCodeExt = null; /** * The error message. * @type {string || null} */ this.Message = null; /** * The task progress. Value range: 0-100. * @type {number || null} */ this.Progress = null; /** * The file ID * @type {string || null} */ this.FileId = null; /** * The output of the task to get file attributes. Note: This field may return null, indicating that no valid values can be obtained. * @type {DescribeFileAttributesTaskOutput || null} */ this.Output = null; /** * The session ID, which is used for de-duplication. If there was a request with the same session ID in the last seven days, an error will be returned for the current request. The session ID can contain up to 50 characters. If you do not pass this parameter or pass in an empty string, duplicate sessions will not be identified. * @type {string || null} */ this.SessionId = null; /** * The source context, which is used to pass through user request information. The `ProcedureStateChanged` callback will return the value of this parameter. It can contain up to 1,000 characters. * @type {string || null} */ this.SessionContext = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.TaskId = 'TaskId' in params ? params.TaskId : null; this.Status = 'Status' in params ? params.Status : null; this.ErrCode = 'ErrCode' in params ? params.ErrCode : null; this.ErrCodeExt = 'ErrCodeExt' in params ? params.ErrCodeExt : null; this.Message = 'Message' in params ? params.Message : null; this.Progress = 'Progress' in params ? params.Progress : null; this.FileId = 'FileId' in params ? params.FileId : null; if (params.Output) { let obj = new DescribeFileAttributesTaskOutput(); obj.deserialize(params.Output) this.Output = obj; } this.SessionId = 'SessionId' in params ? params.SessionId : null; this.SessionContext = 'SessionContext' in params ? params.SessionContext : null; } } /** * Control parameters for video quality evaluation. * @class */ class QualityEvaluationConfigureInfo extends AbstractModel { constructor(){ super(); /** * Video quality evaluation switch, optional values: <li>ON: enabled;</li> <li>OFF: disabled.</li> * @type {string || null} */ this.Switch = null; /** * Video quality evaluation filter threshold, the result only returns the time periods lower than this value, the default value is 60. * @type {number || null} */ this.Score = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Switch = 'Switch' in params ? params.Switch : null; this.Score = 'Score' in params ? params.Score : null; } } /** * The input of a moderation task. * @class */ class ReviewAudioVideoTaskInput extends AbstractModel { constructor(){ super(); /** * The ID of the media file. * @type {string || null} */ this.FileId = null; /** * The moderation template ID. * @type {number || null} */ this.Definition = null; /** * The type of moderated content. Valid values: <li>`Media`: The original audio/video.</li> <li>`Cover`: Thumbnails.</li> * @type {Array.<string> || null} */ this.ReviewContents = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.FileId = 'FileId' in params ? params.FileId : null; this.Definition = 'Definition' in params ? params.Definition : null; this.ReviewContents = 'ReviewContents' in params ? params.ReviewContents : null; } } /** * DescribeAllClass request structure. * @class */ class DescribeAllClassRequest extends AbstractModel { constructor(){ super(); /** * <b>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.</b> * @type {number || null} */ this.SubAppId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.SubAppId = 'SubAppId' in params ? params.SubAppId : null; } } /** * UserAgent blacklist/whitelist rule configuration * @class */ class UserAgentFilterRule extends AbstractModel { constructor(){ super(); /** * UA blacklist type: <li>whitelist: whitelist;</li> <li>blacklist: blacklist. </li> * @type {string || null} */ this.FilterType = null; /** * UserAgent list. * @type {Array.<string> || null} */ this.UserAgents = null; /** * Rule type: <li>all: valid for all files;</li> <li>file: valid for specified file suffix;</li> <li>directory: valid for specified path;</li> <li>path: specified absolute The path takes effect. </li> * @type {string || null} */ this.RuleType = null; /** * Matching content under the corresponding type of RuleType: <li>Fill in * when all is used;</li> <li>Fill in suffix name when file is used, such as jpg, txt;</li> <li>Fill in path when directory is used, such as /xxx/ test/;</li> <li>Fill in the absolute path when path is specified, such as /xxx/test.html. </li> * @type {Array.<string> || null} */ this.RulePaths = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.FilterType = 'FilterType' in params ? params.FilterType : null; this.UserAgents = 'UserAgents' in params ? params.UserAgents : null; this.RuleType = 'RuleType' in params ? params.RuleType : null; this.RulePaths = 'RulePaths' in params ? params.RulePaths : null; } } /** * DescribeRoundPlays request structure. * @class */ class DescribeRoundPlaysRequest extends AbstractModel { constructor(){ super(); /** * <B>VOD [subapplication](https://intl.cloud.tencent.com/document/product/266/14574?from_cn_redirect=1) id. starting from december 25, 2023, if you want to access resources in the vod application (whether it is the default application or a newly created application), you must enter the application id in this field.</b>. * @type {number || null} */ this.SubAppId = null; /** * Filter criteria: playlist identifier, array length limit: 100. * @type {Array.<string> || null} */ this.RoundPlayIds = null; /** * Filter criteria: playlist status, optional values: <li>enabled: startup status;</li> <li>disabled: stopped status.</li>. * @type {string || null} */ this.Status = null; /** * Filter criteria: playlist creation time. * @type {TimeRange || null} */ this.CreateTime = null; /** * Filter criteria: playlist update time. * @type {TimeRange || null} */ this.UpdateTime = null; /** * Scrolling identifier which is used for pulling in batches. if a single request cannot pull all the data entries, the API will return `scrolltoken`, and if the next request carries it, the next pull will start from the next entry. * @type {string || null} */ this.ScrollToken = null; /** * Pagination offset, default value: 0. this field is obsolete. please use the `scrolltoken` parameter for batch queries. * @type {number || null} */ this.Offset = null; /** * Number of returned entries. default value: 10. maximum value: 100. * @type {number || null} */ this.Limit = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.SubAppId = 'SubAppId' in params ? params.SubAppId : null; this.RoundPlayIds = 'RoundPlayIds' in params ? params.RoundPlayIds : null; this.Status = 'Status' in params ? params.Status : null; if (params.CreateTime) { let obj = new TimeRange(); obj.deserialize(params.CreateTime) this.CreateTime = obj; } if (params.UpdateTime) { let obj = new TimeRange(); obj.deserialize(params.UpdateTime) this.UpdateTime = obj; } this.ScrollToken = 'ScrollToken' in params ? params.ScrollToken : null; this.Offset = 'Offset' in params ? params.Offset : null; this.Limit = 'Limit' in params ? params.Limit : null; } } /** * Input type of intelligent categorization task * @class */ class AiAnalysisTaskClassificationInput extends AbstractModel { constructor(){ super(); /** * Intelligent video categorization template ID. * @type {number || null} */ this.Definition = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Definition = 'Definition' in params ? params.Definition : null; } } /** * Input parameter of SVG watermarking template * @class */ class SvgWatermarkInput extends AbstractModel { constructor(){ super(); /** * Watermark width, which supports six formats of px, %, W%, H%, S%, and L%: <li>If the string ends in px, the `Width` of the watermark will be in px; for example, `100px` means that `Width` is 100 px; if `0px` is entered and `Height` is not `0px`, the watermark width will be proportionally scaled based on the source SVG image; if `0px` is entered for both `Width` and `Height`, the watermark width will be the width of the source SVG image;</li> <li>If the string ends in `W%`, the `Width` of the watermark will be the specified percentage of the video width; for example, `10W%` means that `Width` is 10% of the video width;</li> <li>If the string ends in `H%`, the `Width` of the watermark will be the specified percentage of the video height; for example, `10H%` means that `Width` is 10% of the video height;</li> <li>If the string ends in `S%`, the `Width` of the watermark will be the specified percentage of the short side of the video; for example, `10S%` means that `Width` is 10% of the short side of the video;</li> <li>If the string ends in `L%`, the `Width` of the watermark will be the specified percentage of the long side of the video; for example, `10L%` means that `Width` is 10% of the long side of the video;</li> <li>If the string ends in %, the meaning is the same as `W%`.</li> Default value: 10W%. * @type {string || null} */ this.Width = null; /** * Watermark height, which supports six formats of px, %, W%, H%, S%, and L%: <li>If the string ends in px, the `Height` of the watermark will be in px; for example, `100px` means that `Height` is 100 px; if `0px` is entered and `Width` is not `0px`, the watermark height will be proportionally scaled based on the source SVG image; if `0px` is entered for both `Width` and `Height`, the watermark height will be the height of the source SVG image;</li> <li>If the string ends in `W%`, the `Height` of the watermark will be the specified percentage of the video width; for example, `10W%` means that `Height` is 10% of the video width;</li> <li>If the string ends in `H%`, the `Height` of the watermark will be the specified percentage of the video height; for example, `10H%` means that `Height` is 10% of the video height;</li> <li>If the string ends in `S%`, the `Height` of the watermark will be the specified percentage of the short side of the video; for example, `10S%` means that `Height` is 10% of the short side of the video;</li> <li>If the string ends in `L%`, the `Height` of the watermark will be the specified percentage of the long side of the video; for example, `10L%` means that `Height` is 10% of the long side of the video;</li> <li>If the string ends in %, the meaning is the same as `H%`.</li> Default value: 0 px. * @type {string || null} */ this.Height = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Width = 'Width' in params ? params.Width : null; this.Height = 'Height' in params ? params.Height : null; } } /** * CreateTranscodeTemplate request structure. * @class */ class CreateTranscodeTemplateRequest extends AbstractModel { constructor(){ super(); /** * The container format. Valid values: `mp4`, `flv`, `hls`, `mp3`, `flac`, `ogg`, `m4a`, `wav` ( `mp3`, `flac`, `ogg`, `m4a`, and `wav` are audio file formats). * @type {string || null} */ this.Container = null; /** * <b>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.</b> * @type {number || null} */ this.SubAppId = null; /** * Transcoding template name. Length limit: 64 characters. * @type {string || null} */ this.Name = null; /** * Template description. Length limit: 256 characters. * @type {string || null} */ this.Comment = null; /** * Whether to remove video data. Valid values: <li>0: retain</li> <li>1: remove</li> Default value: 0. * @type {number || null} */ this.RemoveVideo = null; /** * Whether to remove audio data. Valid values: <li>0: retain</li> <li>1: remove</li> Default value: 0. * @type {number || null} */ this.RemoveAudio = null; /** * Video stream configuration parameter. This field is required when `RemoveVideo` is 0. * @type {VideoTemplateInfo || null} */ this.VideoTemplate = null; /** * Audio stream configuration parameter. This field is required when `RemoveAudio` is 0. * @type {AudioTemplateInfo || null} */ this.AudioTemplate = null; /** * TESHD transcoding parameter. * @type {TEHDConfig || null} */ this.TEHDConfig = null; /** * The segment type. This parameter is valid only if `Container` is `hls`. Valid values: <li>ts: TS segment</li> <li>fmp4: fMP4 segment</li> Default: ts * @type {string || null} */ this.SegmentType = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Container = 'Container' in params ? params.Container : null; this.SubAppId = 'SubAppId' in params ? params.SubAppId : null; this.Name = 'Name' in params ? params.Name : null; this.Comment = 'Comment' in params ? params.Comment : null; this.RemoveVideo = 'RemoveVideo' in params ? params.RemoveVideo : null; this.RemoveAudio = 'RemoveAudio' in params ? params.RemoveAudio : null; if (params.VideoTemplate) { let obj = new VideoTemplateInfo(); obj.deserialize(params.VideoTemplate) this.VideoTemplate = obj; } if (params.AudioTemplate) { let obj = new AudioTemplateInfo(); obj.deserialize(params.AudioTemplate) this.AudioTemplate = obj; } if (params.TEHDConfig) { let obj = new TEHDConfig(); obj.deserialize(params.TEHDConfig) this.TEHDConfig = obj; } this.SegmentType = 'SegmentType' in params ? params.SegmentType : null; } } /** * Transition operation * @class */ class TransitionOpertion extends AbstractModel { constructor(){ super(); /** * Transition type. Valid values: <ul> <li>Video image transition operation, which is used for transition with video image between two video segments: <ul> <li>ImageFadeInFadeOut: video image fade-in/fade-out.</li> <li>BowTieHorizontal: horizontal bow.</li> <li>BowTieVertical: vertical bow.</li> <li>ButterflyWaveScrawler: waggling.</li> <li>Cannabisleaf: maple leaf.</li> <li> Circle: curved circling.</li> <li>CircleCrop: circle gathering.</li> <li>Circleopen: elliptic gathering.</li> <li>Crosswarp: horizontal warping.</li> <li>Cube: cube.</li> <li>DoomScreenTransition: curtain.</li> <li>Doorway: doorway.</li> <li>Dreamy: wave.</li> <li>DreamyZoom: horizontal gathering.</li> <li>FilmBurn: evening glow.</li> <li>GlitchMemories: joggling.</li> <li>Heart: heart.</li> <li>InvertedPageCurl: page turning.</li> <li>Luma: corroding.</li> <li>Mosaic: grid.</li> <li>Pinwheel: pinwheel.</li> <li>PolarFunction: elliptic diffusing.</li> <li>PolkaDotsCurtain: curved diffusing.</li> <li>Radial: radar scan.</li> <li>RotateScaleFade: vertical rotating.</li> <li>Squeeze: vertical gathering.</li> <li>Swap: zooming in.</li> <li>Swirl: swirling.</li> <li>UndulatingBurnOutSwirl: water spreading.</li> <li>Windowblinds: blinds.</li> <li>WipeDown: collapsing down.</li> <li>WipeLeft: collapsing to the left.</li> <li>WipeRight: collapsing to the right.</li> <li>WipeUp: collapsing up.</li> <li>ZoomInCircles: ripples.</li> </ul> </li> <li>Audio transition operation, which is used for transition between two audio segments: <ul> <li>AudioFadeInFadeOut: audio fade-in/fade-out.</li> </ul> </li> </ul> * @type {string || null} */ this.Type = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Type = 'Type' in params ? params.Type : null; } } /** * Audio segment information of audio track. * @class */ class AudioTrackItem extends AbstractModel { constructor(){ super(); /** * Source of media material for audio segment, which can be: <li>ID of VOD media files</li> <li>Download URL of other media files</li> Note: when a download URL of other media files is used as the material source and access control (such as hotlink protection) is enabled, the URL needs to carry access control parameters (such as hotlink protection signature). * @type {string || null} */ this.SourceMedia = null; /** * Start time of audio segment in material file in seconds. Default value: 0, which means to start capturing from the beginning position of the material. * @type {number || null} */ this.SourceMediaStartTime = null; /** * Audio segment duration in seconds. By default, the length of the material will be used, which means that the entire material will be captured. * @type {number || null} */ this.Duration = null; /** * The target audio duration, in seconds. <li>If `TargetDuration` is empty or `0`, the target duration is the same as `Duration`.</li> <li>If `TargetDuration` is a value greater than 0, the playback speed will be changed to make the final audio duration the same as the value of `TargetDuration`.</li> * @type {number || null} */ this.TargetDuration = null; /** * Operation on audio segment, such as volume adjustment. Note: this field may return null, indicating that no valid values can be obtained. * @type {Array.<AudioTransform> || null} */ this.AudioOperations = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.SourceMedia = 'SourceMedia' in params ? params.SourceMedia : null; this.SourceMediaStartTime = 'SourceMediaStartTime' in params ? params.SourceMediaStartTime : null; this.Duration = 'Duration' in params ? params.Duration : null; this.TargetDuration = 'TargetDuration' in params ? params.TargetDuration : null; if (params.AudioOperations) { this.AudioOperations = new Array(); for (let z in params.AudioOperations) { let obj = new AudioTransform(); obj.deserialize(params.AudioOperations[z]); this.AudioOperations.push(obj); } } } } /** * Information of an intelligently generated highlight * @class */ class MediaAiAnalysisHighlightItem extends AbstractModel { constructor(){ super(); /** * Address of an intelligently generated highlight. * @type {string || null} */ this.HighlightUrl = null; /** * Address of an intelligently generated highlight cover. * @type {string || null} */ this.CovImgUrl = null; /** * Confidence of an intelligently generated highlight between 0 and 100. * @type {number || null} */ this.Confidence = null; /** * Duration of an intelligently generated highlight. * @type {number || null} */ this.Duration = null; /** * List of intelligently generated highlight subsegments, which together form a highlight. * @type {Array.<HighlightSegmentItem> || null} */ this.SegmentSet = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.HighlightUrl = 'HighlightUrl' in params ? params.HighlightUrl : null; this.CovImgUrl = 'CovImgUrl' in params ? params.CovImgUrl : null; this.Confidence = 'Confidence' in params ? params.Confidence : null; this.Duration = 'Duration' in params ? params.Duration : null; if (params.SegmentSet) { this.SegmentSet = new Array(); for (let z in params.SegmentSet) { let obj = new HighlightSegmentItem(); obj.deserialize(params.SegmentSet[z]); this.SegmentSet.push(obj); } } } } /** * DescribeAnimatedGraphicsTemplates request structure. * @class */ class DescribeAnimatedGraphicsTemplatesRequest extends AbstractModel { constructor(){ super(); /** * <b>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.</b> * @type {number || null} */ this.SubAppId = null; /** * Unique ID filter of animated image generating templates. Array length limit: 100. * @type {Array.<number> || null} */ this.Definitions = null; /** * Paged offset. Default value: 0. * @type {number || null} */ this.Offset = null; /** * Number of returned entries. Default value: 10. Maximum value: 100. * @type {number || null} */ this.Limit = null; /** * Template type filter. Valid values: <li>Preset: preset template;</li> <li>Custom: custom template.</li> * @type {string || null} */ this.Type = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.SubAppId = 'SubAppId' in params ? params.SubAppId : null; this.Definitions = 'Definitions' in params ? params.Definitions : null; this.Offset = 'Offset' in params ? params.Offset : null; this.Limit = 'Limit' in params ? params.Limit : null; this.Type = 'Type' in params ? params.Type : null; } } /** * LiveRealTimeClip response structure. * @class */ class LiveRealTimeClipResponse extends AbstractModel { constructor(){ super(); /** * Playback URL of clipped video. * @type {string || null} */ this.Url = null; /** * Unique media file ID of video generated by persistent clipping. Note: this field may return null, indicating that no valid values can be obtained. * @type {string || null} */ this.FileId = null; /** * Task flow ID of video generated by persistent clipping. Note: this field may return null, indicating that no valid values can be obtained. * @type {string || null} */ this.VodTaskId = null; /** * Note: This field may return null, indicating that no valid value can be obtained. * @type {MediaMetaData || null} */ this.MetaData = null; /** * Cliped media segment info. * @type {Array.<LiveRealTimeClipMediaSegmentInfo> || null} */ this.SegmentSet = null; /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Url = 'Url' in params ? params.Url : null; this.FileId = 'FileId' in params ? params.FileId : null; this.VodTaskId = 'VodTaskId' in params ? params.VodTaskId : null; if (params.MetaData) { let obj = new MediaMetaData(); obj.deserialize(params.MetaData) this.MetaData = obj; } if (params.SegmentSet) { this.SegmentSet = new Array(); for (let z in params.SegmentSet) { let obj = new LiveRealTimeClipMediaSegmentInfo(); obj.deserialize(params.SegmentSet[z]); this.SegmentSet.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * Result for ASR-based recognition of banned content * @class */ class AiReviewTaskProhibitedAsrResult extends AbstractModel { constructor(){ super(); /** * Task status. Valid values: PROCESSING, SUCCESS, FAIL. * @type {string || null} */ this.Status = null; /** * Error code. An empty string indicates the task is successful; other values indicate failure. For details, see [Video Processing Error Codes](https://intl.cloud.tencent.com/zh/document/product/266/39145). * @type {string || null} */ this.ErrCodeExt = null; /** * Error code. 0 indicates the task is successful; other values indicate failure. You’re not recommended to use this parameter, but to use the new parameter `ErrCodeExt`. * @type {number || null} */ this.ErrCode = null; /** * Error message. * @type {string || null} */ this.Message = null; /** * Input for ASR-based recognition of banned content * @type {AiReviewProhibitedAsrTaskInput || null} */ this.Input = null; /** * Output for ASR-based recognition of banned content Note: This field may return `null`, indicating that no valid value can be found. * @type {AiReviewProhibitedAsrTaskOutput || null} */ this.Output = null; /** * The progress of an ASR-based moderation task (banned content). Value range: 0-100. * @type {number || null} */ this.Progress = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Status = 'Status' in params ? params.Status : null; this.ErrCodeExt = 'ErrCodeExt' in params ? params.ErrCodeExt : null; this.ErrCode = 'ErrCode' in params ? params.ErrCode : null; this.Message = 'Message' in params ? params.Message : null; if (params.Input) { let obj = new AiReviewProhibitedAsrTaskInput(); obj.deserialize(params.Input) this.Input = obj; } if (params.Output) { let obj = new AiReviewProhibitedAsrTaskOutput(); obj.deserialize(params.Output) this.Output = obj; } this.Progress = 'Progress' in params ? params.Progress : null; } } /** * Details of a transcoding to adaptive bitrate streaming template * @class */ class AdaptiveDynamicStreamingTemplate extends AbstractModel { constructor(){ super(); /** * Unique ID of a transcoding to adaptive bitrate streaming template. * @type {number || null} */ this.Definition = null; /** * Template type. Valid values: <li>Preset: preset template;</li> <li>Custom: custom template.</li> * @type {string || null} */ this.Type = null; /** * Name of a transcoding to adaptive bitrate streaming template. * @type {string || null} */ this.Name = null; /** * Description of a transcoding to adaptive bitrate streaming template. * @type {string || null} */ this.Comment = null; /** * Adaptive bitstream format. Valid value: <li>HLS.</li> * @type {string || null} */ this.Format = null; /** * The DRM type. Valid values: <li>SimpleAES</li> <li>Widevine</li> <li>FairPlay</li> If this parameter is an empty string, it indicates that the video is not protected by DRM. * @type {string || null} */ this.DrmType = null; /** * The provider of the DRM key. Valid values: <li>SDMC</li> <li>VOD</li> The default is `VOD`. * @type {string || null} */ this.DrmKeyProvider = null; /** * Parameter information of input stream for adaptive bitrate streaming. Up to 10 streams can be input. * @type {Array.<AdaptiveStreamTemplate> || null} */ this.StreamInfos = null; /** * Whether to prohibit transcoding from low bitrate to high bitrate. Valid values: <li>0: no,</li> <li>1: yes.</li> * @type {number || null} */ this.DisableHigherVideoBitrate = null; /** * Whether to prohibit transcoding from low resolution to high resolution. Valid values: <li>0: no,</li> <li>1: yes.</li> * @type {number || null} */ this.DisableHigherVideoResolution = null; /** * Creation time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I). * @type {string || null} */ this.CreateTime = null; /** * Last modified time of template in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#I). * @type {string || null} */ this.UpdateTime = null; /** * The segment type. This parameter is valid only if `Format` is `HLS`. * @type {string || null} */ this.SegmentType = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Definition = 'Definition' in params ? params.Definition : null; this.Type = 'Type' in params ? params.Type : null; this.Name = 'Name' in params ? params.Name : null; this.Comment = 'Comment' in params ? params.Comment : null; this.Format = 'Format' in params ? params.Format : null; this.DrmType = 'DrmType' in params ? params.DrmType : null; this.DrmKeyProvider = 'DrmKeyProvider' in params ? params.DrmKeyProvider : null; if (params.StreamInfos) { this.StreamInfos = new Array(); for (let z in params.StreamInfos) { let obj = new AdaptiveStreamTemplate(); obj.deserialize(params.StreamInfos[z]); this.StreamInfos.push(obj); } } this.DisableHigherVideoBitrate = 'DisableHigherVideoBitrate' in params ? params.DisableHigherVideoBitrate : null; this.DisableHigherVideoResolution = 'DisableHigherVideoResolution' in params ? params.DisableHigherVideoResolution : null; this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null; this.SegmentType = 'SegmentType' in params ? params.SegmentType : null; } } /** * HTTP header setting rules. Up to 100 entries can be set. * @class */ class HttpHeaderPathRule extends AbstractModel { constructor(){ super(); /** * http header setting method: <li>set: setting. Change the value of the specified header parameter to the set value; if the set header does not exist, the header will be added; if there are multiple duplicate header parameters, all will be changed and merged into one header. ;</li> <li>del: delete. Delete the specified header parameter;</li> <li>add: add. Add the specified header parameters. By default, repeated addition is allowed, that is, the same header is added repeatedly (note: repeated addition may affect the browser response, please use the set operation first). </li> * @type {string || null} */ this.HeaderMode = null; /** * HTTP header name. Up to 100 characters can be set. * @type {string || null} */ this.HeaderName = null; /** * http header value, up to 1000 characters can be set; optional when Mode is del; required when Mode is add/set. * @type {string || null} */ this.HeaderValue = null; /** * Rule type: <li>all: valid for all files;</li> <li>file: valid for specified file suffix;</li> <li>directory: valid for specified path;</li> <li>path: specified absolute The path takes effect. </li> * @type {string || null} */ this.RuleType = null; /** * Matching content under the corresponding type of RuleType: <li>Fill in * when all is used;</li> <li>Fill in suffix name when file is used, such as jpg, txt;</li> <li>Fill in path when directory is used, such as /xxx/ test/;</li> <li>Fill in the absolute path when path is specified, such as /xxx/test.html. </li> * @type {Array.<string> || null} */ this.RulePaths = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.HeaderMode = 'HeaderMode' in params ? params.HeaderMode : null; this.HeaderName = 'HeaderName' in params ? params.HeaderName : null; this.HeaderValue = 'HeaderValue' in params ? params.HeaderValue : null; this.RuleType = 'RuleType' in params ? params.RuleType : null; this.RulePaths = 'RulePaths' in params ? params.RulePaths : null; } } /** * DeleteJustInTimeTranscodeTemplate request structure. * @class */ class DeleteJustInTimeTranscodeTemplateRequest extends AbstractModel { constructor(){ super(); /** * Template name. * @type {string || null} */ this.Name = null; /** * <b>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.</b> * @type {number || null} */ this.SubAppId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Name = 'Name' in params ? params.Name : null; this.SubAppId = 'SubAppId' in params ? params.SubAppId : null; } } /** * DeleteAnimatedGraphicsTemplate response structure. * @class */ class DeleteAnimatedGraphicsTemplateResponse extends AbstractModel { constructor(){ super(); /** * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem. * @type {string || null} */ this.RequestId = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * Result for OCR-based recognition of banned content * @class */ class AiReviewTaskProhibitedOcrResult extends AbstractModel {