tencentcloud-sdk-nodejs-intl-en
Version:
1,590 lines (1,355 loc) ⢠1.02 MB
JavaScript
/*
* 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");
/**
* Intelligent landscape-to-portrait task input type.
* @class
*/
class AiAnalysisTaskHorizontalToVerticalInput extends AbstractModel {
constructor(){
super();
/**
* Intelligent landscape-to-portrait template ID.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Definition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Definition = 'Definition' in params ? params.Definition : null;
}
}
/**
* ModifySnapshotByTimeOffsetTemplate response structure.
* @class
*/
class ModifySnapshotByTimeOffsetTemplateResponse 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;
}
}
/**
* 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;
}
}
/**
* Container format diagnostic result.
* @class
*/
class ContainerDiagnoseResultItem extends AbstractModel {
constructor(){
super();
/**
* Diagnosed exception category. Valid values:
DecodeParamException: decoding parameter exception.
TimeStampException: timestamp exception.
FrameException: frame rate exception.
StreamStatusException: stream status exception.
StreamInfo: stream information exception.
StreamAbnormalCharacteristics: stream characteristics exception.
DecodeException: decoding exception.
HLSRequirements: HLS format exception.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Category = null;
/**
* Diagnosed specific exception type. Valid values:
VideoResolutionChanged: video resolution change.
AudioSampleRateChanged: audio sample rate change.
AudioChannelsChanged: audio channel quantity change.
ParameterSetsChanged: stream parameter set information change.
DarOrSarInvalid: video aspect ratio exception.
TimestampFallback: DTS timestamp rollback.
DtsJitter: DTS jitter too high.
PtsJitter: PTS jitter too high.
AACDurationDeviation: improper AAC frame timestamp interval.
AudioDroppingFrames: audio frame dropping.
VideoDroppingFrames: video frame dropping.
AVTimestampInterleave: improper audio-video interleaving.
PtsLessThanDts: PTS less than DTS for media streams.
ReceiveFpsJitter: significant jitter in the network receive frame rate.
ReceiveFpsTooSmall: network receive video frame rate too low.
FpsJitter: significant jitter in the stream frame rate calculated via PTS.
StreamOpenFailed: stream open failure.
StreamEnd: stream end.
StreamParseFailed: stream parsing failure.
VideoFirstFrameNotIdr: first frame not an IDR frame.
StreamNALUError: NALU start code error.
TsStreamNoAud: no AUD NALU in the H26x stream of MPEG-TS.
AudioStreamLack: no audio stream.
VideoStreamLack: no video stream.
LackAudioRecover: missing audio stream recovery.
LackVideoRecover: missing video stream recovery.
VideoBitrateOutofRange: video stream bitrate (kbps) out of range.
AudioBitrateOutofRange: audio stream bitrate (kbps) out of range.
VideoDecodeFailed: video decoding error.
AudioDecodeFailed: audio decoding error.
AudioOutOfPhase: opposite phase in dual-channel audio.
VideoDuplicatedFrame: duplicate frames in video streams.
AudioDuplicatedFrame: duplicate frames in audio streams.
VideoRotation: video rotation.
TsMultiPrograms: multiple programs in MPEG2-TS streams
Mp4InvalidCodecFourcc: codec FourCC in MP4 not meeting Apple HLS requirements.
HLSBadM3u8Format: invalid M3U8 file.
HLSInvalidMasterM3u8: invalid main M3U8 file.
HLSInvalidMediaM3u8: invalid media M3U8 file.
HLSMasterM3u8Recommended: parameters recommended by standards missing in main M3U8.
HLSMediaM3u8Recommended: parameters recommended by standards missing in media M3U8.
HLSMediaM3u8DiscontinuityExist: EXT-X-DISCONTINUITY in media M3U8.
HLSMediaSegmentsStreamNumChange: changed number of streams in segments.
HLSMediaSegmentsPTSJitterDeviation: PTS jumps between segments without EXT-X-DISCONTINUITY.
HLSMediaSegmentsDTSJitterDeviation: DTS jumps between segments without EXT-X-DISCONTINUITY.
TimecodeTrackExist: TMCD track in MP4.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Type = null;
/**
* Diagnosed exception level. Valid values:
Fatal: affecting subsequent playback and parsing.
Error: may affect playback.
Warning: potential risk, which may not necessarily affect playback.
Notice: important stream information.
Info: general stream information.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.SeverityLevel = null;
/**
* Timestamp of warning, in the format of 2022-12-25T13:14:16Z.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.DateTimeSet = null;
/**
* Timestamp.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<number> || null}
*/
this.TimestampSet = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Category = 'Category' in params ? params.Category : null;
this.Type = 'Type' in params ? params.Type : null;
this.SeverityLevel = 'SeverityLevel' in params ? params.SeverityLevel : null;
this.DateTimeSet = 'DateTimeSet' in params ? params.DateTimeSet : null;
this.TimestampSet = 'TimestampSet' in params ? params.TimestampSet : null;
}
}
/**
* ModifyWatermarkTemplate request structure.
* @class
*/
class ModifyWatermarkTemplateRequest extends AbstractModel {
constructor(){
super();
/**
* Unique ID of a watermarking template.
* @type {number || null}
*/
this.Definition = 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 required when `Type` is `svg` and is invalid when `Type` is `image` or `text`.
* @type {SvgWatermarkInputForUpdate || null}
*/
this.SvgTemplate = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Definition = 'Definition' in params ? params.Definition : 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;
}
}
}
/**
* Full speech recognition segment.
* @class
*/
class AiRecognitionTaskAsrFullTextSegmentItem extends AbstractModel {
constructor(){
super();
/**
* Confidence of a recognition segment. Value range: 0-100.
* @type {number || null}
*/
this.Confidence = null;
/**
* Start time offset of a recognition segment in seconds.
* @type {number || null}
*/
this.StartTimeOffset = null;
/**
* End time offset of a recognition segment in seconds.
* @type {number || null}
*/
this.EndTimeOffset = null;
/**
* Recognized text.
* @type {string || null}
*/
this.Text = null;
/**
* Word timestamp information.
* @type {Array.<WordResult> || null}
*/
this.Wordlist = 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;
if (params.Wordlist) {
this.Wordlist = new Array();
for (let z in params.Wordlist) {
let obj = new WordResult();
obj.deserialize(params.Wordlist[z]);
this.Wordlist.push(obj);
}
}
}
}
/**
* Control parameter of a custom text audit task.
* @class
*/
class UserDefineOcrTextReviewTemplateInfoForUpdate extends AbstractModel {
constructor(){
super();
/**
* Switch of a custom text audit task. Valid values:
<li>ON: Enables a custom text audit task;</li>
<li>OFF: Disables a custom text audit task.</li>
* @type {string || null}
*/
this.Switch = null;
/**
* Custom text filter tag. If an audit result contains the selected tag, it will be returned; if the filter tag is empty, all audit results will be returned. To use the tag filtering feature, you need to add the corresponding tag when adding materials for custom text keywords.
There can be up to 10 tags, each with a length limit of 16 characters.
* @type {Array.<string> || null}
*/
this.LabelSet = null;
/**
* Threshold score for violation. If this score is reached or exceeded during intelligent audit, it will be deemed that a suspected violation has occurred. Value range: 0-100.
* @type {number || null}
*/
this.BlockConfidence = null;
/**
* Threshold score for human audit. If this score is reached or exceeded during intelligent audit, human audit will be considered necessary. Value range: 0-100.
* @type {number || null}
*/
this.ReviewConfidence = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.LabelSet = 'LabelSet' in params ? params.LabelSet : null;
this.BlockConfidence = 'BlockConfidence' in params ? params.BlockConfidence : null;
this.ReviewConfidence = 'ReviewConfidence' in params ? params.ReviewConfidence : null;
}
}
/**
* Frame interpolation configuration.
* @class
*/
class FrameRateConfig extends AbstractModel {
constructor(){
super();
/**
* Whether to enable the feature. Valid values:
<li>ON</li>
<li>OFF</li>
Default value: ON.
* @type {string || null}
*/
this.Switch = null;
/**
* The frame rate (Hz). Value range: [0, 100].
Default value: 0.
Note: For transcoding, this parameter will overwrite `Fps` of `VideoTemplate`.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.Fps = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Switch = 'Switch' in params ? params.Switch : null;
this.Fps = 'Fps' in params ? params.Fps : null;
}
}
/**
* Custom specification parameters for video processing, which are used to override corresponding parameters in templates.
* @class
*/
class OverrideTranscodeParameter extends AbstractModel {
constructor(){
super();
/**
* Container format. Valid values: mp4, flv, hls, mp3, flac, ogg, and m4a; mp3, flac, ogg, and m4a are formats of audio files.
* @type {string || null}
*/
this.Container = null;
/**
* Whether to remove video data. Valid values:
<li>0: retain</li>
<li>1: remove</li>
* @type {number || null}
*/
this.RemoveVideo = null;
/**
* Whether to remove audio data. Valid values:
<li>0: retain</li>
<li>1: remove</li>
* @type {number || null}
*/
this.RemoveAudio = null;
/**
* Video stream configuration parameter.
* @type {VideoTemplateInfoForUpdate || null}
*/
this.VideoTemplate = null;
/**
* Audio stream configuration parameter.
* @type {AudioTemplateInfoForUpdate || null}
*/
this.AudioTemplate = null;
/**
* The TSC transcoding parameters.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {TEHDConfigForUpdate || null}
*/
this.TEHDConfig = null;
/**
* The subtitle settings.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {SubtitleTemplate || null}
*/
this.SubtitleTemplate = null;
/**
* The information of the external audio track to add.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<MediaInputInfo> || null}
*/
this.AddonAudioStream = null;
/**
* An extended field for transcoding.
Note: This field may returnĀ·null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.StdExtInfo = null;
/**
* The subtitle file to add.
Note: This field may returnĀ·null, indicating that no valid values can be obtained.
* @type {Array.<AddOnSubtitle> || null}
*/
this.AddOnSubtitles = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Container = 'Container' in params ? params.Container : null;
this.RemoveVideo = 'RemoveVideo' in params ? params.RemoveVideo : null;
this.RemoveAudio = 'RemoveAudio' in params ? params.RemoveAudio : null;
if (params.VideoTemplate) {
let obj = new VideoTemplateInfoForUpdate();
obj.deserialize(params.VideoTemplate)
this.VideoTemplate = obj;
}
if (params.AudioTemplate) {
let obj = new AudioTemplateInfoForUpdate();
obj.deserialize(params.AudioTemplate)
this.AudioTemplate = obj;
}
if (params.TEHDConfig) {
let obj = new TEHDConfigForUpdate();
obj.deserialize(params.TEHDConfig)
this.TEHDConfig = obj;
}
if (params.SubtitleTemplate) {
let obj = new SubtitleTemplate();
obj.deserialize(params.SubtitleTemplate)
this.SubtitleTemplate = obj;
}
if (params.AddonAudioStream) {
this.AddonAudioStream = new Array();
for (let z in params.AddonAudioStream) {
let obj = new MediaInputInfo();
obj.deserialize(params.AddonAudioStream[z]);
this.AddonAudioStream.push(obj);
}
}
this.StdExtInfo = 'StdExtInfo' in params ? params.StdExtInfo : null;
if (params.AddOnSubtitles) {
this.AddOnSubtitles = new Array();
for (let z in params.AddOnSubtitles) {
let obj = new AddOnSubtitle();
obj.deserialize(params.AddOnSubtitles[z]);
this.AddOnSubtitles.push(obj);
}
}
}
}
/**
* 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 an 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;
}
}
/**
* Workflow information details.
* @class
*/
class WorkflowInfo extends AbstractModel {
constructor(){
super();
/**
* Workflow ID.
* @type {number || null}
*/
this.WorkflowId = null;
/**
* Workflow name.
* @type {string || null}
*/
this.WorkflowName = null;
/**
* Workflow status. Valid values:
<li>Enabled: Enabled,</li>
<li>Disabled: Disabled.</li>
* @type {string || null}
*/
this.Status = null;
/**
* Input rule bound to a workflow. If an uploaded video hits the rule for the object, the workflow will be triggered.
* @type {WorkflowTrigger || null}
*/
this.Trigger = null;
/**
* The location to save the media processing output file.
Note: This field may return null, indicating that no valid value can be obtained.
* @type {TaskOutputStorage || null}
*/
this.OutputStorage = null;
/**
* The media processing parameters to use.
Note: This field may return null, indicating that no valid value can be obtained.
* @type {MediaProcessTaskInput || null}
*/
this.MediaProcessTask = null;
/**
* Type parameter of a video content audit task.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {AiContentReviewTaskInput || null}
*/
this.AiContentReviewTask = null;
/**
* Video content analysis task parameter.
* @type {AiAnalysisTaskInput || null}
*/
this.AiAnalysisTask = null;
/**
* Type parameter of a video content recognition task.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {AiRecognitionTaskInput || null}
*/
this.AiRecognitionTask = null;
/**
* Event notification information of a task. If this parameter is left empty, no event notifications will be obtained.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {TaskNotifyConfig || null}
*/
this.TaskNotifyConfig = null;
/**
* Task flow priority. The higher the value, the higher the priority. Value range: [-10, 10]. If this parameter is left empty, 0 will be used.
* @type {number || null}
*/
this.TaskPriority = null;
/**
* The directory to save the media processing output file, such as `/movie/201907/`.
* @type {string || null}
*/
this.OutputDir = null;
/**
* Creation time of a workflow in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#iso-.E6.97.A5.E6.9C.9F.E6.A0.BC.E5.BC.8F).
* @type {string || null}
*/
this.CreateTime = null;
/**
* Last modified time of a workflow in [ISO date format](https://intl.cloud.tencent.com/document/product/266/11732?from_cn_redirect=1#iso-.E6.97.A5.E6.9C.9F.E6.A0.BC.E5.BC.8F).
* @type {string || null}
*/
this.UpdateTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.WorkflowId = 'WorkflowId' in params ? params.WorkflowId : null;
this.WorkflowName = 'WorkflowName' in params ? params.WorkflowName : null;
this.Status = 'Status' in params ? params.Status : null;
if (params.Trigger) {
let obj = new WorkflowTrigger();
obj.deserialize(params.Trigger)
this.Trigger = obj;
}
if (params.OutputStorage) {
let obj = new TaskOutputStorage();
obj.deserialize(params.OutputStorage)
this.OutputStorage = obj;
}
if (params.MediaProcessTask) {
let obj = new MediaProcessTaskInput();
obj.deserialize(params.MediaProcessTask)
this.MediaProcessTask = obj;
}
if (params.AiContentReviewTask) {
let obj = new AiContentReviewTaskInput();
obj.deserialize(params.AiContentReviewTask)
this.AiContentReviewTask = obj;
}
if (params.AiAnalysisTask) {
let obj = new AiAnalysisTaskInput();
obj.deserialize(params.AiAnalysisTask)
this.AiAnalysisTask = obj;
}
if (params.AiRecognitionTask) {
let obj = new AiRecognitionTaskInput();
obj.deserialize(params.AiRecognitionTask)
this.AiRecognitionTask = obj;
}
if (params.TaskNotifyConfig) {
let obj = new TaskNotifyConfig();
obj.deserialize(params.TaskNotifyConfig)
this.TaskNotifyConfig = obj;
}
this.TaskPriority = 'TaskPriority' in params ? params.TaskPriority : null;
this.OutputDir = 'OutputDir' in params ? params.OutputDir : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
}
}
/**
* CreateTranscodeTemplate request structure.
* @class
*/
class CreateTranscodeTemplateRequest extends AbstractModel {
constructor(){
super();
/**
* Container format. Valid values: mp4, flv, hls, ts, webm, mkv, mxf, mov, mp3, flac, ogg, and m4a. Among them, mp3, flac, ogg, and m4a are for audio-only files.
* @type {string || null}
*/
this.Container = null;
/**
* Name of a transcoding template. 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. To enable it, please contact your Tencent Cloud sales rep.
* @type {TEHDConfig || null}
*/
this.TEHDConfig = null;
/**
* Audio/Video enhancement configuration.
* @type {EnhanceConfig || null}
*/
this.EnhanceConfig = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Container = 'Container' in params ? params.Container : 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;
}
if (params.EnhanceConfig) {
let obj = new EnhanceConfig();
obj.deserialize(params.EnhanceConfig)
this.EnhanceConfig = obj;
}
}
}
/**
* ProcessLiveStream response structure.
* @class
*/
class ProcessLiveStreamResponse extends AbstractModel {
constructor(){
super();
/**
* Task ID
* @type {string || null}
*/
this.TaskId = 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.TaskId = 'TaskId' in params ? params.TaskId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeLiveRecordTemplates response structure.
* @class
*/
class DescribeLiveRecordTemplatesResponse extends AbstractModel {
constructor(){
super();
/**
* Total number of records that meet filter conditions.
* @type {number || null}
*/
this.TotalCount = null;
/**
* Recording template details list.
* @type {Array.<LiveRecordTemplate> || null}
*/
this.LiveRecordTemplateSet = 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.TotalCount = 'TotalCount' in params ? params.TotalCount : null;
if (params.LiveRecordTemplateSet) {
this.LiveRecordTemplateSet = new Array();
for (let z in params.LiveRecordTemplateSet) {
let obj = new LiveRecordTemplate();
obj.deserialize(params.LiveRecordTemplateSet[z]);
this.LiveRecordTemplateSet.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* The information of intelligently generated highlight segments.
* @class
*/
class MediaAiAnalysisHighlightItem extends AbstractModel {
constructor(){
super();
/**
* The URL of the highlight segments.
* @type {string || null}
*/
this.HighlightPath = null;
/**
* The URL of the thumbnail.
* @type {string || null}
*/
this.CovImgPath = null;
/**
* The confidence score. Value range: 0-100.
* @type {number || null}
*/
this.Confidence = null;
/**
* The duration of the highlights.
* @type {number || null}
*/
this.Duration = null;
/**
* A list of the highlight segments.
* @type {Array.<HighlightSegmentItem> || null}
*/
this.SegmentSet = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.HighlightPath = 'HighlightPath' in params ? params.HighlightPath : null;
this.CovImgPath = 'CovImgPath' in params ? params.CovImgPath : 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);
}
}
}
}
/**
* DeleteLiveRecordTemplate request structure.
* @class
*/
class DeleteLiveRecordTemplateRequest extends AbstractModel {
constructor(){
super();
/**
* Unique identifier of the recording template.
* @type {number || null}
*/
this.Definition = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Definition = 'Definition' in params ? params.Definition : null;
}
}
/**
* DescribeAnimatedGraphicsTemplates request structure.
* @class
*/
class DescribeAnimatedGraphicsTemplatesRequest extends AbstractModel {
constructor(){
super();
/**
* Unique ID filter of animated image generating templates. Array length limit: 100.
* @type {Array.<number> || null}
*/
this.Definitions = null;
/**
* Paging 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;
/**
* Filter condition for animated image generating template identifiers, with a length limit of 64 characters.
* @type {string || null}
*/
this.Name = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
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;
this.Name = 'Name' in params ? params.Name : null;
}
}
/**
* Result type of ASR-based prohibited information detection in speech task in content audit
* @class
*/
class AiReviewTaskProhibitedAsrResult extends AbstractModel {
constructor(){
super();
/**
* Task status. Valid values: PROCESSING, SUCCESS, FAIL.
* @type {string || null}
*/
this.Status = null;
/**
* The error code. An empty string indicates the task is successful; any other value returned indicates the task failed. For details, see [Error Codes](https://intl.cloud.tencent.com/document/product/1041/40249).
* @type {string || null}
*/
this.ErrCodeExt = null;
/**
* Error code. 0: success; other values: failure.
<li>40000: invalid input parameter. Please check it;</li>
<li>60000: invalid source file (e.g., video data is corrupted). Please check whether the source file is normal;</li>
<li>70000: internal service error. Please try again.</li>
* @type {number || null}
*/
this.ErrCode = null;
/**
* Error message.
* @type {string || null}
*/
this.Message = null;
/**
* Input of ASR-based prohibited information detection in speech task in content audit
* @type {AiReviewProhibitedAsrTaskInput || null}
*/
this.Input = null;
/**
* Output of ASR-based prohibited information detection in speech task in content audit
* @type {AiReviewProhibitedAsrTaskOutput || null}
*/
this.Output = 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;
}
}
}
/**
* Details of an adaptive bitrate streaming template
* @class
*/
class AdaptiveDynamicStreamingTemplate extends AbstractModel {
constructor(){
super();
/**
* Unique ID of an 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 an adaptive bitrate streaming template.
* @type {string || null}
*/
this.Name = null;
/**
* Description of an adaptive bitrate streaming template.
* @type {string || null}
*/
this.Comment = null;
/**
* Adaptive bitrate streaming format. Valid values:
<li>HLS;</li>
<li>MPEG-DASH.</li>
* @type {string || null}
*/
this.Format = null;
/**
* Parameter information of input streams for transcoding to 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;
/**
* Whether it is an audio-only template. 0: video template. 1: audio-only template.Note: This field may return null, indicating that no valid values can be obtained.
* @type {number || null}
*/
this.PureAudio = null;
/**
* HLS segment type. Valid values:
<li>ts-segment: HLS+TS segment.</li>
<li>ts-byterange: HLS+TS byte range.</li>
<li>mp4-segment: HLS+MP4 segment.</li>
<li>mp4-byterange: HLS+MP4 byte range.</li>
<li>ts-packed-audio: TS+Packed audio.</li>
<li>mp4-packed-audio: MP4+Packed audio.</li>
Default value: ts-segment.
Note: The HLS segment format for adaptive bitrate streaming is based on this field.Note: This field may return null, indicating that no valid values can be obtained.
* @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;
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.PureAudio = 'PureAudio' in params ? params.PureAudio : null;
this.SegmentType = 'SegmentType' in params ? params.SegmentType : null;
}
}
/**
* Intelligent description information.
* @class
*/
class MediaAiAnalysisDescriptionItem extends AbstractModel {
constructor(){
super();
/**
* Intelligent description.
* @type {string || null}
*/
this.Description = null;
/**
* Confidence of the intelligent description, with a value range from 0 to 100.
* @type {number || null}
*/
this.Confidence = null;
/**
* Intelligent description title.
* @type {string || null}
*/
this.Title = null;
/**
* Intelligent description keywords.
* @type {Array.<string> || null}
*/
this.Keywords = null;
/**
* Segmentation result.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {Array.<AiParagraphInfo> || null}
*/
this.Paragraphs = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Description = 'Description' in params ? params.Description : null;
this.Confidence = 'Confidence' in params ? params.Confidence : null;
this.Title = 'Title' in params ? params.Title : null;
this.Keywords = 'Keywords' in params ? params.Keywords : null;
if (params.Paragraphs) {
this.Paragraphs = new Array();
for (let z in params.Paragraphs) {
let obj = new AiParagraphInfo();
obj.deserialize(params.Paragraphs[z]);
this.Paragraphs.push(obj);
}
}
}
}
/**
* 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 type of OCR-based prohibited information detection in text task in content audit
* @class
*/
class AiReviewTaskProhibitedOcrResult extends AbstractModel {
constructor(){
super();
/**
* Task status. Valid values: PROCESSING, SUCCESS, FAIL.
* @type {string || null}
*/
this.Status = null;
/**
* The error code. An empty string indicates the task is successful; any other value returned indicates the task failed. For details, see [Error Codes](https://intl.cloud.tencent.com/document/product/1041/40249).
* @type {string || null}
*/
this.ErrCodeExt = null;
/**
* Error code. 0: success; other values: failure.
<li>40000: invalid input parameter. Please check it;</li>
<li>60000: invalid source file (e.g., video data is corrupted). Please check whether the source file is normal;</li>
<li>70000: internal service error. Please try again.</li>
* @type {number || null}
*/
this.ErrCode = null;
/**
* Error message.
* @type {string || null}
*/
this.Message = null;
/**
* Input of OCR-based prohibited information detection in text task in content audit
* @type {AiReviewProhibitedOcrTaskInput || null}
*/
this.Input = null;
/**
* Output of OCR-based prohibited information detection in text task in content audit
* @type {AiReviewProhibitedOcrTaskOutput || null}
*/
this.Output = 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 AiReviewProhibitedOcrTaskInput();
obj.deserialize(params.Input)
this.Input = obj;
}
if (params.Output) {
let obj = new AiReviewProhibitedOcrTaskOutput();
obj.deserialize(params.Output)
this.Output = obj;
}
}
}
/**
* Full speech recognition result.
* @class
*/
class AiRe