tencentcloud-sdk-nodejs-intl-en
Version:
1,870 lines (1,574 loc) • 271 kB
JavaScript
/*
* 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'