UNPKG

tencentcloud-sdk-nodejs-intl-en

Version:
1,870 lines (1,574 loc) • 271 kB
/* * Copyright (c) 2018 Tencent. 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"); /** * DeleteStreamLiveChannel response structure. * @class */ class DeleteStreamLiveChannelResponse 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; } } /** * Video enhancement configuration * @class */ class VideoEnhanceSetting extends AbstractModel { constructor(){ super(); /** * Video enhancement type. Option: "GameEnhance", "ColorEnhance", "Debur", "Comprehensive", "Denoising", "SR", "OutdoorSportsCompetitions", "IndoorSportsCompetitions", "ShowEnhance". * @type {string || null} */ this.Type = null; /** * Video enhancement intensity, 0-1.0, granularity 0.1 * @type {number || null} */ this.Strength = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Type = 'Type' in params ? params.Type : null; this.Strength = 'Strength' in params ? params.Strength : null; } } /** * Audio track configuration. * @class */ class AudioTrackInfo extends AbstractModel { constructor(){ super(); /** * User input, limited to letters and digits, length not exceeding 20, non-repeating in the same channel. * @type {string || null} */ this.TrackName = null; /** * Audio encoding format, can only be `AAC` or `PASSTHROUGH`. Default is AAC. * @type {string || null} */ this.AudioCodec = null; /** * Audio bitrate. * @type {number || null} */ this.AudioBitrate = null; /** * Audio sample rate. * @type {number || null} */ this.AudioSampleRate = null; /** * Input Only the value defined in AttachedInputs.$.AudioSelectors.$.audioPidSelection.pid. * @type {string || null} */ this.AudioSelectorName = null; /** * Audio loudness configuration. * @type {AudioNormalizationSettings || null} */ this.AudioNormalization = null; /** * Additional audio mode and sound channel configuration. * @type {AudioCodecDetail || null} */ this.AudioCodecDetails = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.TrackName = 'TrackName' in params ? params.TrackName : null; this.AudioCodec = 'AudioCodec' in params ? params.AudioCodec : null; this.AudioBitrate = 'AudioBitrate' in params ? params.AudioBitrate : null; this.AudioSampleRate = 'AudioSampleRate' in params ? params.AudioSampleRate : null; this.AudioSelectorName = 'AudioSelectorName' in params ? params.AudioSelectorName : null; if (params.AudioNormalization) { let obj = new AudioNormalizationSettings(); obj.deserialize(params.AudioNormalization) this.AudioNormalization = obj; } if (params.AudioCodecDetails) { let obj = new AudioCodecDetail(); obj.deserialize(params.AudioCodecDetails) this.AudioCodecDetails = obj; } } } /** * CreateStreamLiveInputSecurityGroup response structure. * @class */ class CreateStreamLiveInputSecurityGroupResponse extends AbstractModel { constructor(){ super(); /** * Security group ID * @type {string || null} */ this.Id = 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.Id = 'Id' in params ? params.Id : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * * @class */ class PipSetting extends AbstractModel { constructor(){ super(); /** * * @type {string || null} */ this.AudioSelection = null; /** * * @type {SourceLayout || null} */ this.LiveSourceLayout = null; /** * * @type {SourceLayout || null} */ this.AdSourceLayout = null; /** * * @type {string || null} */ this.BackgroundImgUrl = null; /** * * @type {string || null} */ this.AdSourceUrl = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.AudioSelection = 'AudioSelection' in params ? params.AudioSelection : null; if (params.LiveSourceLayout) { let obj = new SourceLayout(); obj.deserialize(params.LiveSourceLayout) this.LiveSourceLayout = obj; } if (params.AdSourceLayout) { let obj = new SourceLayout(); obj.deserialize(params.AdSourceLayout) this.AdSourceLayout = obj; } this.BackgroundImgUrl = 'BackgroundImgUrl' in params ? params.BackgroundImgUrl : null; this.AdSourceUrl = 'AdSourceUrl' in params ? params.AdSourceUrl : null; } } /** * CreateWatermarkDetection request structure. * @class */ class CreateWatermarkDetectionRequest extends AbstractModel { constructor(){ super(); /** * Task type, currently supports ExtractVideoABWatermarkId * @type {string || null} */ this.Type = null; /** * Input information * @type {AbWatermarkInputInfo || null} */ this.InputInfo = null; /** * Input file information * @type {InputFileInfo || null} */ this.InputFileInfo = null; /** * Input notification configuration * @type {TaskNotifyConfig || null} */ this.TaskNotifyConfig = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Type = 'Type' in params ? params.Type : null; if (params.InputInfo) { let obj = new AbWatermarkInputInfo(); obj.deserialize(params.InputInfo) this.InputInfo = obj; } if (params.InputFileInfo) { let obj = new InputFileInfo(); obj.deserialize(params.InputFileInfo) this.InputFileInfo = obj; } if (params.TaskNotifyConfig) { let obj = new TaskNotifyConfig(); obj.deserialize(params.TaskNotifyConfig) this.TaskNotifyConfig = obj; } } } /** * Push information. * @class */ class StreamInfo extends AbstractModel { constructor(){ super(); /** * Client IP. * @type {string || null} */ this.ClientIp = null; /** * Video information of pushed streams. * @type {Array.<StreamVideoInfo> || null} */ this.Video = null; /** * Audio information of pushed streams. * @type {Array.<StreamAudioInfo> || null} */ this.Audio = null; /** * SCTE-35 information of pushed streams. * @type {Array.<StreamScte35Info> || null} */ this.Scte35 = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.ClientIp = 'ClientIp' in params ? params.ClientIp : null; if (params.Video) { this.Video = new Array(); for (let z in params.Video) { let obj = new StreamVideoInfo(); obj.deserialize(params.Video[z]); this.Video.push(obj); } } if (params.Audio) { this.Audio = new Array(); for (let z in params.Audio) { let obj = new StreamAudioInfo(); obj.deserialize(params.Audio[z]); this.Audio.push(obj); } } if (params.Scte35) { this.Scte35 = new Array(); for (let z in params.Scte35) { let obj = new StreamScte35Info(); obj.deserialize(params.Scte35[z]); this.Scte35.push(obj); } } } } /** * Video information of pushed streams. * @class */ class StreamVideoInfo extends AbstractModel { constructor(){ super(); /** * Video `Pid`. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.Pid = null; /** * Video codec. Note: this field may return null, indicating that no valid values can be obtained. * @type {string || null} */ this.Codec = null; /** * Video frame rate. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.Fps = null; /** * Video bitrate. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.Rate = null; /** * Video width. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.Width = null; /** * Video height. Note: this field may return null, indicating that no valid values can be obtained. * @type {number || null} */ this.Height = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Pid = 'Pid' in params ? params.Pid : null; this.Codec = 'Codec' in params ? params.Codec : null; this.Fps = 'Fps' in params ? params.Fps : null; this.Rate = 'Rate' in params ? params.Rate : null; this.Width = 'Width' in params ? params.Width : null; this.Height = 'Height' in params ? params.Height : null; } } /** * CreateStreamLivePlan request structure. * @class */ class CreateStreamLivePlanRequest extends AbstractModel { constructor(){ super(); /** * ID of the channel for which you want to configure an event. * @type {string || null} */ this.ChannelId = null; /** * Event configuration. * @type {PlanReq || null} */ this.Plan = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.ChannelId = 'ChannelId' in params ? params.ChannelId : null; if (params.Plan) { let obj = new PlanReq(); obj.deserialize(params.Plan) this.Plan = obj; } } } /** * DescribeStreamLiveWatermarks response structure. * @class */ class DescribeStreamLiveWatermarksResponse extends AbstractModel { constructor(){ super(); /** * List of watermark information * @type {Array.<DescribeWatermarkInfo> || null} */ this.Infos = 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; } if (params.Infos) { this.Infos = new Array(); for (let z in params.Infos) { let obj = new DescribeWatermarkInfo(); obj.deserialize(params.Infos[z]); this.Infos.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * DescribeStreamLiveInput request structure. * @class */ class DescribeStreamLiveInputRequest extends AbstractModel { constructor(){ super(); /** * Input ID * @type {string || null} */ this.Id = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Id = 'Id' in params ? params.Id : null; } } /** * Audio codec configuration. * @class */ class AudioCodecDetail extends AbstractModel { constructor(){ super(); /** * Sound track configuration. Available values: MONO, STEREO, 5.1. * @type {string || null} */ this.ChannelMode = null; /** * Level in aac, available values: "LC", "HE-aac", "HE-AACV2". * @type {string || null} */ this.Profile = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.ChannelMode = 'ChannelMode' in params ? params.ChannelMode : null; this.Profile = 'Profile' in params ? params.Profile : null; } } /** * The stream status of the queried input. * @class */ class QueryDispatchInputInfo extends AbstractModel { constructor(){ super(); /** * The input ID. * @type {string || null} */ this.InputID = null; /** * The input name. * @type {string || null} */ this.InputName = null; /** * The input protocol. * @type {string || null} */ this.Protocol = null; /** * The stream status of the input. * @type {Array.<InputStreamInfo> || null} */ this.InputStreamInfoList = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.InputID = 'InputID' in params ? params.InputID : null; this.InputName = 'InputName' in params ? params.InputName : null; this.Protocol = 'Protocol' in params ? params.Protocol : null; if (params.InputStreamInfoList) { this.InputStreamInfoList = new Array(); for (let z in params.InputStreamInfoList) { let obj = new InputStreamInfo(); obj.deserialize(params.InputStreamInfoList[z]); this.InputStreamInfoList.push(obj); } } } } /** * CreateStreamLiveInput request structure. * @class */ class CreateStreamLiveInputRequest extends AbstractModel { constructor(){ super(); /** * Input name, which can contain 1-32 case-sensitive letters, digits, and underscores and must be unique at the region level * @type {string || null} */ this.Name = null; /** * Input type Valid values: `RTMP_PUSH`, `RTP_PUSH`, `UDP_PUSH`, `RTMP_PULL`, `HLS_PULL`, `MP4_PULL`,`RTP-FEC_PUSH`,`RTSP_PULL`,`SRT_PUSH `,`SRT_PULL ` * @type {string || null} */ this.Type = null; /** * ID of the input security group to attach You can attach only one security group to an input. * @type {Array.<string> || null} */ this.SecurityGroupIds = null; /** * Input settings. For the type: `RTMP_PUSH`, `RTMP_PULL`, `HLS_PULL`,`RTSP_PULL`,`SRT_PULL` or `MP4_PULL`, 1 or 2 inputs of the corresponding type can be configured. For the type: `SRT_PUSH`, 0 or 2 inputs of the corresponding type can be configured. * @type {Array.<InputSettingInfo> || null} */ this.InputSettings = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Name = 'Name' in params ? params.Name : null; this.Type = 'Type' in params ? params.Type : null; this.SecurityGroupIds = 'SecurityGroupIds' in params ? params.SecurityGroupIds : null; if (params.InputSettings) { this.InputSettings = new Array(); for (let z in params.InputSettings) { let obj = new InputSettingInfo(); obj.deserialize(params.InputSettings[z]); this.InputSettings.push(obj); } } } } /** * Audio `Pid` selection. * @class */ class AudioPidSelectionInfo extends AbstractModel { constructor(){ super(); /** * Audio `Pid`. Default value: 0. * @type {number || null} */ this.Pid = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Pid = 'Pid' in params ? params.Pid : null; } } /** * Subtitle style configuration. * @class */ class SubtitleFontConf extends AbstractModel { constructor(){ super(); /** * Line spacing. * @type {number || null} */ this.LineSpacing = null; /** * Margin. * @type {number || null} */ this.Margins = null; /** * Number of rows. * @type {number || null} */ this.Lines = null; /** * Number of characters per line. * @type {number || null} */ this.CharactersPerLine = null; /** * Original font Heiti: simhei.ttf Song Typeface: simsun.ttc Huakang Diamond Black (Dynacw Diamond Black): hkjgh.ttf Helvetica: helvetica.ttf; Needs to be set in Source or Source+Target mode. * @type {string || null} */ this.SourceTextFont = null; /** * Font color, represented by 6 characters in hexadecimal RGB. * @type {string || null} */ this.TextColor = null; /** * Background color, represented by 6 characters in hexadecimal RGB. * @type {string || null} */ this.BackgroundColor = null; /** * Background opacity. A number from 0 to 100. * @type {number || null} */ this.BackgroundAlpha = null; /** * Preview the copywriting. * @type {string || null} */ this.PreviewContent = null; /** * Preview window height. * @type {number || null} */ this.PreviewWindowHeight = null; /** * Preview window width. * @type {number || null} */ this.PreviewWindowWidth = null; /** * Font for the target language. The enumeration value is the same as SourceTextFont. Case-sensitive language support for fonts. TextColor needs to be set in Target or Source+Target mode. * @type {string || null} */ this.TranslatedTextFont = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.LineSpacing = 'LineSpacing' in params ? params.LineSpacing : null; this.Margins = 'Margins' in params ? params.Margins : null; this.Lines = 'Lines' in params ? params.Lines : null; this.CharactersPerLine = 'CharactersPerLine' in params ? params.CharactersPerLine : null; this.SourceTextFont = 'SourceTextFont' in params ? params.SourceTextFont : null; this.TextColor = 'TextColor' in params ? params.TextColor : null; this.BackgroundColor = 'BackgroundColor' in params ? params.BackgroundColor : null; this.BackgroundAlpha = 'BackgroundAlpha' in params ? params.BackgroundAlpha : null; this.PreviewContent = 'PreviewContent' in params ? params.PreviewContent : null; this.PreviewWindowHeight = 'PreviewWindowHeight' in params ? params.PreviewWindowHeight : null; this.PreviewWindowWidth = 'PreviewWindowWidth' in params ? params.PreviewWindowWidth : null; this.TranslatedTextFont = 'TranslatedTextFont' in params ? params.TranslatedTextFont : null; } } /** * Pipeline input audio statistics. * @class */ class AudioPipelineInputStatistics extends AbstractModel { constructor(){ super(); /** * Audio FPS. * @type {number || null} */ this.Fps = null; /** * Audio bitrate in bps. * @type {number || null} */ this.Rate = null; /** * Audio `Pid`, which is available only if the input is `rtp/udp`. * @type {number || null} */ this.Pid = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Fps = 'Fps' in params ? params.Fps : null; this.Rate = 'Rate' in params ? params.Rate : null; this.Pid = 'Pid' in params ? params.Pid : null; } } /** * CreateStreamLivePlan response structure. * @class */ class CreateStreamLivePlanResponse 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; } } /** * The input stream information. * @class */ class InputStreamInfo extends AbstractModel { constructor(){ super(); /** * The input stream address. * @type {string || null} */ this.InputAddress = null; /** * The input stream path. * @type {string || null} */ this.AppName = null; /** * The input stream name. * @type {string || null} */ this.StreamName = null; /** * The input stream status. `1` indicates the stream is active. * @type {number || null} */ this.Status = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.InputAddress = 'InputAddress' in params ? params.InputAddress : null; this.AppName = 'AppName' in params ? params.AppName : null; this.StreamName = 'StreamName' in params ? params.StreamName : null; this.Status = 'Status' in params ? params.Status : null; } } /** * Chart template. * @class */ class FrameCaptureTemplate extends AbstractModel { constructor(){ super(); /** * Screenshot template name. Limited to uppercase and lowercase letters and digits. Length [1, 20]. * @type {string || null} */ this.Name = null; /** * Screenshot width. Optional. The input range is [0, 3000] and must be a multiple of 2. * @type {number || null} */ this.Width = null; /** * Screenshot height, optional, input range [0, 3000], must be a multiple of 2 * @type {number || null} */ this.Height = null; /** * Screenshot interval, an integer between 1 and 3600. * @type {number || null} */ this.CaptureInterval = null; /** * Screenshot measurement unit, supports only SECONDS. * @type {string || null} */ this.CaptureIntervalUnits = null; /** * Stretch behavior, supports [DEFAULT|STRETCH_TO_OUTPUT], default is DEFAULT. * @type {string || null} */ this.ScalingBehavior = null; /** * Sharpening degree, an integer between 0 and 100. * @type {number || null} */ this.Sharpness = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Name = 'Name' in params ? params.Name : null; this.Width = 'Width' in params ? params.Width : null; this.Height = 'Height' in params ? params.Height : null; this.CaptureInterval = 'CaptureInterval' in params ? params.CaptureInterval : null; this.CaptureIntervalUnits = 'CaptureIntervalUnits' in params ? params.CaptureIntervalUnits : null; this.ScalingBehavior = 'ScalingBehavior' in params ? params.ScalingBehavior : null; this.Sharpness = 'Sharpness' in params ? params.Sharpness : null; } } /** * Pipeline failover information. * @class */ class PipelineInputSettingsInfo extends AbstractModel { constructor(){ super(); /** * Pipeline disaster recovery configuration. Value: PIPELINE_FAILOVER (mutual disaster recovery for channels if unable), PIPELINE_FILLING (channel fill automatically). Default value: PIPELINE_FAILOVER. If failover between channels fails, auto-execute PIPELINE_FILLING. Specific content is specified by InputLossBehavior. * @type {string || null} */ this.FaultBehavior = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.FaultBehavior = 'FaultBehavior' in params ? params.FaultBehavior : null; } } /** * DescribeStreamLiveChannelOutputStatistics request structure. * @class */ class DescribeStreamLiveChannelOutputStatisticsRequest extends AbstractModel { constructor(){ super(); /** * Channel ID * @type {string || null} */ this.ChannelId = null; /** * Start time for query, which is 1 hour ago by default. You can query statistics in the last 7 days. UTC time, such as `2020-01-01T12:00:00Z` * @type {string || null} */ this.StartTime = null; /** * End time for query, which is 1 hour after `StartTime` by default UTC time, such as `2020-01-01T12:00:00Z` * @type {string || null} */ this.EndTime = null; /** * Data collection interval. Valid values: `5s`, `1min` (default), `5min`, `15min` * @type {string || null} */ this.Period = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.ChannelId = 'ChannelId' in params ? params.ChannelId : null; this.StartTime = 'StartTime' in params ? params.StartTime : null; this.EndTime = 'EndTime' in params ? params.EndTime : null; this.Period = 'Period' in params ? params.Period : null; } } /** * Timed recording settings * @class */ class TimedRecordSettings extends AbstractModel { constructor(){ super(); /** * Whether to automatically clear ended recording tasks. Options: [CLOSE|OPEN]. Default is CLOSE. If enabled, the task will be cleared 7 days after completion. * @type {string || null} */ this.AutoClear = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.AutoClear = 'AutoClear' in params ? params.AutoClear : null; } } /** * GetAbWatermarkPlayUrl response structure. * @class */ class GetAbWatermarkPlayUrlResponse extends AbstractModel { constructor(){ super(); /** * The play URL after adding token. * @type {string || null} */ this.Url = 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.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** * Channel alarm details. * @class */ class ChannelPipelineAlerts extends AbstractModel { constructor(){ super(); /** * Alarm start time in UTC time. * @type {string || null} */ this.SetTime = null; /** * Alarm end time in UTC time. This time is available only after the alarm ends. * @type {string || null} */ this.ClearTime = null; /** * Alarm type. * @type {string || null} */ this.Type = null; /** * Alarm details. * @type {string || null} */ this.Message = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.SetTime = 'SetTime' in params ? params.SetTime : null; this.ClearTime = 'ClearTime' in params ? params.ClearTime : null; this.Type = 'Type' in params ? params.Type : null; this.Message = 'Message' in params ? params.Message : null; } } /** * Input information. * @class */ class InputInfo extends AbstractModel { constructor(){ super(); /** * Input region. * @type {string || null} */ this.Region = null; /** * Input ID. * @type {string || null} */ this.Id = null; /** * Input name. * @type {string || null} */ this.Name = null; /** * Input type. * @type {string || null} */ this.Type = null; /** * Array of security groups associated with input. * @type {Array.<string> || null} */ this.SecurityGroupIds = null; /** * Array of channels associated with input. Note: this field may return null, indicating that no valid values can be obtained. * @type {Array.<string> || null} */ this.AttachedChannels = null; /** * Input configuration array. * @type {Array.<InputSettingInfo> || null} */ this.InputSettings = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Region = 'Region' in params ? params.Region : null; this.Id = 'Id' in params ? params.Id : null; this.Name = 'Name' in params ? params.Name : null; this.Type = 'Type' in params ? params.Type : null; this.SecurityGroupIds = 'SecurityGroupIds' in params ? params.SecurityGroupIds : null; this.AttachedChannels = 'AttachedChannels' in params ? params.AttachedChannels : null; if (params.InputSettings) { this.InputSettings = new Array(); for (let z in params.InputSettings) { let obj = new InputSettingInfo(); obj.deserialize(params.InputSettings[z]); this.InputSettings.push(obj); } } } } /** * Input content identification configuration. * @class */ class InputAnalysisInfo extends AbstractModel { constructor(){ super(); /** * Highlights configuration. * @type {HighlightInfo || null} */ this.HighlightSetting = null; } /** * @private */ deserialize(params) { if (!params) { return; } if (params.HighlightSetting) { let obj = new HighlightInfo(); obj.deserialize(params.HighlightSetting) this.HighlightSetting = obj; } } } /** * Audio/Video transcoding template * @class */ class AVTemplate extends AbstractModel { constructor(){ super(); /** * Name of an audio/video transcoding template, which can contain 1-20 case-sensitive letters and digits * @type {string || null} */ this.Name = null; /** * Whether video is needed. `0`: not needed; `1`: needed * @type {number || null} */ this.NeedVideo = null; /** * Video codec. Valid values: `H264`, `H265`. If this parameter is left empty, the original video codec will be used. * @type {string || null} */ this.Vcodec = null; /** * Video width. The input range is (0, 4096] and must be a multiple of 2. If left blank, it represents passthrough. * @type {number || null} */ this.Width = null; /** * Video height. Input range is (0, 4096] and must be a multiple of 2. Leave empty to represent passthrough. * @type {number || null} */ this.Height = null; /** * Video frame rate. Valid when you select SPECIFIED_HZ for FrameRateType. Input range is [1, 240]. Leave blank to represent passthrough. * @type {number || null} */ this.Fps = null; /** * Whether to enable top speed codec transcoding. Valid values: `CLOSE` (disable), `OPEN` (enable). Default value: `CLOSE` * @type {string || null} */ this.TopSpeed = null; /** * Compression ratio for top speed codec transcoding. Value range: [0, 50]. The lower the compression ratio, the higher the image quality. * @type {number || null} */ this.BitrateCompressionRatio = null; /** * Whether audio is needed. `0`: not needed; `1`: needed * @type {number || null} */ this.NeedAudio = null; /** * Audio encoding format, can only be `AAC` or `PASSTHROUGH`. Default is AAC. * @type {string || null} */ this.Acodec = null; /** * Audio bitrate. If this parameter is left empty, the original bitrate will be used. Valid values: `6000`, `7000`, `8000`, `10000`, `12000`, `14000`, `16000`, `20000`, `24000`, `28000`, `32000`, `40000`, `48000`, `56000`, `64000`, `80000`, `96000`, `112000`, `128000`, `160000`, `192000`, `224000`, `256000`, `288000`, `320000`, `384000`, `448000`, `512000`, `576000`, `640000`, `768000`, `896000`, `1024000` * @type {number || null} */ this.AudioBitrate = null; /** * Video bitrate. Value range: [50000, 40000000]. The value must be an integer multiple of 1000. If this parameter is left empty, the original bitrate will be used. * @type {number || null} */ this.VideoBitrate = null; /** * Bitrate control mode. Optional values: [CBR|ABR|VBR]. Default: ABR. * @type {string || null} */ this.RateControlMode = null; /** * Watermark ID * @type {string || null} */ this.WatermarkId = null; /** * Whether to convert audio to text. `0` (default): No; `1`: Yes. * @type {number || null} */ this.SmartSubtitles = null; /** * The subtitle settings. Currently, the following subtitles are supported: `eng2eng`: English speech to English text. `eng2chs`: English speech to Chinese text. `eng2chseng`: English speech to English and Chinese text. `chs2chs`: Chinese speech to Chinese text. `chs2eng`: Chinese speech to English text. `chs2chseng`: Chinese speech to Chinese and English text. * @type {string || null} */ this.SubtitleConfiguration = null; /** * Whether to enable the face blur function, 1 is on, 0 is off, and the default is 0. * @type {number || null} */ this.FaceBlurringEnabled = null; /** * Only AttachedInputs.AudioSelectors.Name can be selected. The following types need to be filled in: 'RTP_PUSH', 'SRT_PUSH', 'UDP_PUSH', 'RTP-FEC_PUSH'. * @type {string || null} */ this.AudioSelectorName = null; /** * Audio transcoding special configuration information. * @type {AudioNormalizationSettings || null} */ this.AudioNormalization = null; /** * Audio sampling rate, unit HZ. * @type {number || null} */ this.AudioSampleRate = null; /** * This field indicates how to specify the output video frame rate. If FOLLOW_SOURCE is selected, the output video frame rate is set to equal the frame rate of the first input video. If SPECIFIED_FRACTION is selected, the output video frame rate is determined by the fraction (frame rate numerator and frame rate denominator). If SPECIFIED_HZ is selected, the frame rate of the output video is confirmed by the HZ you input. * @type {string || null} */ this.FrameRateType = null; /** * Valid when you select SPECIFIED_FRACTION as the FrameRateType. Set the output frame rate molecular. * @type {number || null} */ this.FrameRateNumerator = null; /** * Valid when you select SPECIFIED_FRACTION for FrameRateType. Output frame rate denominator set. * @type {number || null} */ this.FrameRateDenominator = null; /** * Number of B-frames 1-3. * @type {number || null} */ this.BFramesNum = null; /** * Refer to the number of frames 1-16. * @type {number || null} */ this.RefFramesNum = null; /** * Additional video bitrate configuration. * @type {AdditionalRateSetting || null} */ this.AdditionalRateSettings = null; /** * Video encoding configuration. * @type {VideoCodecDetail || null} */ this.VideoCodecDetails = null; /** * Audio encoding configuration. * @type {AudioCodecDetail || null} */ this.AudioCodecDetails = null; /** * Whether to enable multiple audio tracks. 0: not required 1: required. Default value: 0. * @type {number || null} */ this.MultiAudioTrackEnabled = null; /** * Limit on the number 0-20. Valid when MultiAudioTrackEnabled is enabled. * @type {Array.<AudioTrackInfo> || null} */ this.AudioTracks = null; /** * Whether to enable video enhancement, 1: enable 0: disable. * @type {number || null} */ this.VideoEnhanceEnabled = null; /** * Video enhancement configuration array. * @type {Array.<VideoEnhanceSetting> || null} */ this.VideoEnhanceSettings = null; /** * Keyframe interval, 300-10000, optional. * @type {number || null} */ this.GopSize = null; /** * Key frame measurement unit currently only supports MILLISECONDS (ms). * @type {string || null} */ this.GopSizeUnits = null; /** * Colorspace configuration. * @type {ColorSpaceSetting || null} */ this.ColorSpaceSettings = null; /** * Traceable watermark. * @type {Array.<string> || null} */ this.ForensicWatermarkIds = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Name = 'Name' in params ? params.Name : null; this.NeedVideo = 'NeedVideo' in params ? params.NeedVideo : null; this.Vcodec = 'Vcodec' in params ? params.Vcodec : null; this.Width = 'Width' in params ? params.Width : null; this.Height = 'Height' in params ? params.Height : null; this.Fps = 'Fps' in params ? params.Fps : null; this.TopSpeed = 'TopSpeed' in params ? params.TopSpeed : null; this.BitrateCompressionRatio = 'BitrateCompressionRatio' in params ? params.BitrateCompressionRatio : null; this.NeedAudio = 'NeedAudio' in params ? params.NeedAudio : null; this.Acodec = 'Acodec' in params ? params.Acodec : null; this.AudioBitrate = 'AudioBitrate' in params ? params.AudioBitrate : null; this.VideoBitrate = 'VideoBitrate' in params ? params.VideoBitrate : null; this.RateControlMode = 'RateControlMode' in params ? params.RateControlMode : null; this.WatermarkId = 'WatermarkId' in params ? params.WatermarkId : null; this.SmartSubtitles = 'SmartSubtitles' in params ? params.SmartSubtitles : null; this.SubtitleConfiguration = 'SubtitleConfiguration' in params ? params.SubtitleConfiguration : null; this.FaceBlurringEnabled = 'FaceBlurringEnabled' in params ? params.FaceBlurringEnabled : null; this.AudioSelectorName = 'AudioSelectorName' in params ? params.AudioSelectorName : null; if (params.AudioNormalization) { let obj = new AudioNormalizationSettings(); obj.deserialize(params.AudioNormalization) this.AudioNormalization = obj; } this.AudioSampleRate = 'AudioSampleRate' in params ? params.AudioSampleRate : null; this.FrameRateType = 'FrameRateType' in params ? params.FrameRateType : null; this.FrameRateNumerator = 'FrameRateNumerator' in params ? params.FrameRateNumerator : null; this.FrameRateDenominator = 'FrameRateDenominator' in params ? params.FrameRateDenominator : null; this.BFramesNum = 'BFramesNum' in params ? params.BFramesNum : null; this.RefFramesNum = 'RefFramesNum' in params ? params.RefFramesNum : null; if (params.AdditionalRateSettings) { let obj = new AdditionalRateSetting(); obj.deserialize(params.AdditionalRateSettings) this.AdditionalRateSettings = obj; } if (params.VideoCodecDetails) { let obj = new VideoCodecDetail(); obj.deserialize(params.VideoCodecDetails) this.VideoCodecDetails = obj; } if (params.AudioCodecDetails) { let obj = new AudioCodecDetail(); obj.deserialize(params.AudioCodecDetails) this.AudioCodecDetails = obj; } this.MultiAudioTrackEnabled = 'MultiAudioTrackEnabled' in params ? params.MultiAudioTrackEnabled : null; if (params.AudioTracks) { this.AudioTracks = new Array(); for (let z in params.AudioTracks) { let obj = new AudioTrackInfo(); obj.deserialize(params.AudioTracks[z]); this.AudioTracks.push(obj); } } this.VideoEnhanceEnabled = 'VideoEnhanceEnabled' in params ? params.VideoEnhanceEnabled : null; if (params.VideoEnhanceSettings) { this.VideoEnhanceSettings = new Array(); for (let z in params.VideoEnhanceSettings) { let obj = new VideoEnhanceSetting(); obj.deserialize(params.VideoEnhanceSettings[z]); this.VideoEnhanceSettings.push(obj); } } this.GopSize = 'GopSize' in params ? params.GopSize : null; this.GopSizeUnits = 'GopSizeUnits' in params ? params.GopSizeUnits : null; if (params.ColorSpaceSettings) { let obj = new ColorSpaceSetting(); obj.deserialize(params.ColorSpaceSettings) this.ColorSpaceSettings = obj; } this.ForensicWatermarkIds = 'ForensicWatermarkIds' in params ? params.ForensicWatermarkIds : null; } } /** * Relay destination address. * @class */ class DestinationInfo extends AbstractModel { constructor(){ super(); /** * Relay destination address. Length limit: [1,512]. * @type {string || null} */ this.OutputUrl = null; /** * Authentication key, length limited to [1, 128]. * @type {string || null} */ this.AuthKey = null; /** * Authentication username, length limited to [1, 128]. * @type {string || null} */ this.Username = null; /** * Authentication password, length limited to [1, 128]. * @type {string || null} */ this.Password = null; /** * The destination type for relay. Available values: Standard, AWS_MediaPackageV1, AWS_MediaPackageV2. Default: Standard. AWS_AmazonS3 or COS is supported when FrameCapture group is selected. * @type {string || null} */ this.DestinationType = null; /** * Forward the Aws S3 address information. * @type {AmazonS3Settings || null} */ this.AmazonS3Settings = null; /** * Forward COS address information. * @type {CosSettings || null} */ this.CosSettings = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.OutputUrl = 'OutputUrl' in params ? params.OutputUrl : null; this.AuthKey = 'AuthKey' in params ? params.AuthKey : null; this.Username = 'Username' in params ? params.Username : null; this.Password = 'Password' in params ? params.Password : null; this.DestinationType = 'DestinationType' in params ? params.DestinationType : null; if (params.AmazonS3Settings) { let obj = new AmazonS3Settings(); obj.deserialize(params.AmazonS3Settings) this.AmazonS3Settings = obj; } if (params.CosSettings) { let obj = new CosSettings(); obj.deserialize(params.CosSettings) this.CosSettings = obj; } } } /** * Console tag, documentation link: https://www.tencentcloud.com/document/product/651.?from_cn_redirect=1 * @class */ class Tag extends AbstractModel { constructor(){ super(); /** * Tag key. Refer to the tag document (https://www.tencentcloud.com/document/product/651/13354?from_cn_redirect=1) for limits. * @type {string || null} */ this.TagKey = null; /** * Tag value. For reference, see the tag document at https://www.tencentcloud.com/document/product/651/13354.?from_cn_redirect=1 * @type {string || null} */ this.TagValue = null; /** * Tag type, optional. See the tag document for reference (https://www.tencentcloud.com/document/product/651/35327?from_cn_redirect=1#Tag). * @type {string || null} */ this.Category = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.TagKey = 'TagKey' in params ? params.TagKey : null; this.TagValue = 'TagValue' in params ? params.TagValue : null; this.Category = 'Category' in params ? params.Category : null; } } /** * DeleteStreamLiveInput request structure. * @class */ class DeleteStreamLiveInputRequest extends AbstractModel { constructor(){ super(); /** * Input ID * @type {string || null} */ this.Id = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.Id = 'Id' in params ? params.Id : null; } } /** * SourceLayout * @class */ class SourceLayout extends AbstractModel { constructor(){ super(); /** * * @type {number || null} */ this.LeftOffset = null; /** * * @type {number || null} */ this.RightOffset = null; /** * * @type {number || null} */ this.BottomOffset = null; } /** * @private */ deserialize(params) { if (!params) { return; } this.LeftOffset = 'LeftOffset' in params ? params.LeftOffset : null; this.RightOffset = 'RightOffset'