tencentcloud-sdk-nodejs-intl-en
Version:
1,839 lines (1,548 loc) • 230 kB
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");
/**
* 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;
}
}
/**
*
* @class
*/
class VideoEnhanceSetting extends AbstractModel {
constructor(){
super();
/**
*
* @type {string || null}
*/
this.Type = null;
/**
*
* @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 is limited to letters and numbers, the length should not exceed 20, and should not be repeated in the same channel.
* @type {string || null}
*/
this.TrackName = null;
/**
* Audio encoding format, only `AAC` and `PASSTHROUGH` are available, with `AAC` as the default.
* @type {string || null}
*/
this.AudioCodec = null;
/**
* Audio bitrate.
* @type {number || null}
*/
this.AudioBitrate = null;
/**
* Audio sample rate.
* @type {number || null}
*/
this.AudioSampleRate = null;
/**
* Only values defined by AttachedInputs.$.AudioSelectors.$.audioPidSelection.pid can be entered.
* @type {string || null}
*/
this.AudioSelectorName = null;
/**
* Audio loudness configuration.
* @type {AudioNormalizationSettings || null}
*/
this.AudioNormalization = null;
/**
* Audio encoding 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;
}
}
/**
* Complement the last video frame related settings.
* @class
*/
class InputLossBehaviorInfo extends AbstractModel {
constructor(){
super();
/**
* The time to fill in the last video frame, unit ms, range 0-1000000, 1000000 means always inserting, default 0 means filling in black screen frame.
* @type {number || null}
*/
this.RepeatLastFrameMs = null;
/**
* Fill frame type, COLOR means solid color filling, IMAGE means picture filling, the default is COLOR.
* @type {string || null}
*/
this.InputLossImageType = null;
/**
* When the type is COLOR, the corresponding rgb value
* @type {string || null}
*/
this.ColorRGB = null;
/**
* When the type is IMAGE, the corresponding image url value
* @type {string || null}
*/
this.ImageUrl = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.RepeatLastFrameMs = 'RepeatLastFrameMs' in params ? params.RepeatLastFrameMs : null;
this.InputLossImageType = 'InputLossImageType' in params ? params.InputLossImageType : null;
this.ColorRGB = 'ColorRGB' in params ? params.ColorRGB : null;
this.ImageUrl = 'ImageUrl' in params ? params.ImageUrl : null;
}
}
/**
* 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();
/**
* Channel configuration, optional values: MONO (mono), STEREO (two-channel), 5.1 (surround).
* @type {string || null}
*/
this.ChannelMode = null;
/**
* Level in aac case, optional 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;
/**
* Margins.
* @type {number || null}
*/
this.Margins = null;
/**
* Rows.
* @type {number || null}
*/
this.Lines = null;
/**
* Number of characters per line.
* @type {number || null}
*/
this.CharactersPerLine = null;
/**
* Original font Helvetica: simhei.ttf Song Dynasty: simsun.ttc Dynacw Diamond Black: hkjgh.ttf Helvetica font: helvetica.ttf; Need to be set in Source or Source+Target mode
* @type {string || null}
*/
this.SourceTextFont = null;
/**
* Font color is represented by 6 RGB hexadecimal characters.
* @type {string || null}
*/
this.TextColor = null;
/**
* The background color is represented by 6 RGB hexadecimal characters.
* @type {string || null}
*/
this.BackgroundColor = null;
/**
* Background transparency, a number from 0-100.
* @type {number || null}
*/
this.BackgroundAlpha = null;
/**
* Preview copy.
* @type {string || null}
*/
this.PreviewContent = null;
/**
* Preview window height.
* @type {number || null}
*/
this.PreviewWindowHeight = null;
/**
* Preview window width.
* @type {number || null}
*/
this.PreviewWindowWidth = null;
/**
* Translation language font, the enumeration value is the same as Font, the fonts supported by the language need to be distinguished; 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;
}
}
/**
* Frame capture template.
* @class
*/
class FrameCaptureTemplate extends AbstractModel {
constructor(){
super();
/**
* Name of frame capture template, limited to uppercase and lowercase letters and numbers, with a length between 1 and 20 characters.
* @type {string || null}
*/
this.Name = null;
/**
* Width of frame capture, optional, input range is from 0 to 3000, must be a multiple of 2.
* @type {number || null}
*/
this.Width = null;
/**
* Height of frame capture, optional, input range is from 0 to 3000, must be a multiple of 2.
* @type {number || null}
*/
this.Height = null;
/**
* Interval of frame capture, an integer between 1 and 3600.
* @type {number || null}
*/
this.CaptureInterval = null;
/**
* Interval units of frame capture, only supports SECONDS.
* @type {string || null}
*/
this.CaptureIntervalUnits = null;
/**
* Scaling behavior of frame capture, supports DEFAULT or STRETCH_TO_OUTPUT, with DEFAULT being the default option.
* @type {string || null}
*/
this.ScalingBehavior = null;
/**
* Sharpness, 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 failover configuration, the valid value is: 1.PIPELINE_FAILOVER (channels are mutually failover); 2.PIPELINE_FILLING (channels fill in themselves). Default value: PIPELINE_FILLING. The specific content is specified by FaultBehavior.
* @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;
}
}
/**
* 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);
}
}
}
}
/**
* Recognition configuration for input content.
* @class
*/
class InputAnalysisInfo extends AbstractModel {
constructor(){
super();
/**
* Highlight 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. Value range: (0, 4096]. The value must be an integer multiple of 2. If this parameter is left empty, the original video width will be used.
* @type {number || null}
*/
this.Width = null;
/**
* Video height. Value range: (0, 4096]. The value must be an integer multiple of 2. If this parameter is left empty, the original video height will be used.
* @type {number || null}
*/
this.Height = null;
/**
* Video frame rate. Value range: [1, 240]. If this parameter is left empty, the original frame rate will be used.
* @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, only `AAC` and `PASSTHROUGH` are available, with `AAC` as the default.
* @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. Valid values: `CBR`, `ABR` (default), `VBR`.
* @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 will be set equal to the input video frame rate of the first input. 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 determined by the HZ you enter.
* @type {string || null}
*/
this.FrameRateType = null;
/**
* Valid when the FrameRateType type you select is SPECIFIED_FRACTION, the output frame rate numerator setting.
* @type {number || null}
*/
this.FrameRateNumerator = null;
/**
* Valid when the FrameRateType type you select is SPECIFIED_FRACTION, the output frame rate denominator setting.
* @type {number || null}
*/
this.FrameRateDenominator = null;
/**
* The number of B frames can be selected from 1 to 3.
* @type {number || null}
*/
this.BFramesNum = null;
/**
* The number of reference frames can be selected from 1 to 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;
/**
* Quantity limit 0-20 Valid when MultiAudioTrackEnabled is turned on.
* @type {Array.<AudioTrackInfo> || null}
*/
this.AudioTracks = null;
/**
*
* @type {number || null}
*/
this.VideoEnhanceEnabled = null;
/**
*
* @type {Array.<VideoEnhanceSetting> || null}
*/
this.VideoEnhanceSettings = null;
/**
* Key frame interval, 300-10000, optional.
* @type {number || null}
*/
this.GopSize = null;
/**
* Keyframe units, only support MILLISECONDS (milliseconds).
* @type {string || null}
*/
this.GopSizeUnits = null;
/**
* Color space setting.
* @type {ColorSpaceSetting || null}
*/
this.ColorSpaceSettings = 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;
}
}
}
/**
* 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 limit: [1,128].
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.AuthKey = null;
/**
* Authentication username. Length limit: [1,128].
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Username = null;
/**
* Authentication password. Length limit: [1,128].
Note: this field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.Password = null;
/**
* The destination type of the retweet. Currently available values are: Standard, AWS_MediaPackageV1, AWS_MediaPackageV2. The default is: Standard. When the output group type is FRAME_CAPTURE, valid values are: AWS_AmazonS3, COS.
* @type {string || null}
*/
this.DestinationType = null;
/**
* Aws S3 destination setting.
* @type {AmazonS3Settings || null}
*/
this.AmazonS3Settings = null;
/**
* Cos destination setting.
* @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;
}
}
}
/**
* 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;
}
}
/**
* ModifyStreamLiveInputSecurityGroup response structure.
* @class
*/
class ModifyStreamLiveInputSecurityGroupResponse 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;
}
}
/**
* Amazon S3 destination setting.
* @class
*/
class AmazonS3Settings extends AbstractModel {
constructor(){
super();
/**
* Access key ID of the S3 sub-account.
* @type {string || null}
*/
this.AccessKeyID = null;
/**
* Secret access key of the S3 sub-account.
* @type {string || null}
*/
this.SecretAccessKey = null;
/**
* Region of S3.
* @type {string || null}
*/
this.Region = null;
/**
* Bucket name of S3.
* @type {string || null}
*/
this.Bucket = null;
/**
* File output path, which can be empty. If it is not empty, it starts with / and ends with /.
* @type {string || null}
*/
this.FilePath = null;
/**
* User-defined name, supports alphanumeric characters, underscores, and hyphens, with a length between 1 and 32 characters.
* @type {string || null}
*/
this.FileName = null;
/**
* File suffix, only supports `jpg`.
* @type {string || null}
*/
this.FileExt = null;
/**
* Support `unix` or `utc0`, default unix.
* @type {string || null}
*/
this.TimeFormat = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AccessKeyID = 'AccessKeyID' in params ? params.AccessKeyID : null;
this.SecretAccessKey = 'SecretAccessKey' in params ? params.SecretAccessKey : null;
this.Region = 'Region' in params ? params.Region : null;
this.Bucket = 'Bucket' in params ? params.Bucket : null;
this.FilePath = 'FilePath' in params ? params.FilePath : null;
this.FileName = 'FileName' in params ? params.FileName : null;
this.FileExt = 'FileExt' in params ? params.FileExt : null;
this.TimeFormat = 'TimeFormat' in params ? params.TimeFormat : null;
}
}
/**
* ModifyStreamLiveInput request structure.
* @class
*/
class ModifyStreamLiveInputRequest extends AbstractModel {
constructor(){
super();
/**
* Input ID
* @type {string || null}
*/
this.Id = null;
/**
* 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;
/**
* List of the IDs of the security groups to attach
* @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.
This parameter can be left empty for RTP_PUSH and UDP_PUSH inputs.
Note: If this parameter is not specified or empty, the original input settings will be used.
* @type {Array.<InputSettingInfo> || null}
*/
this.InputSettings = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Id = 'Id' in params ? params.Id : null;
this.Name = 'Name' in params ? params.Name : 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);
}
}
}
}
/**
* DescribeStreamLiveChannel response structure.
* @class
*/
class DescribeStreamLiveChannelResponse extends AbstractModel {
constructor(){
super();
/**
* Channel information
* @type {StreamLiveChannelInfo || null}
*/
this.Info = 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.Info) {
let obj = new StreamLiveChannelInfo();
obj.deserialize(params.Info)
this.Info = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeStreamLiveRegions request structure.
* @class
*/
class DescribeStreamLiveRegionsRequest extends AbstractModel {
constructor(){
super();
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
}
}
/**
* DescribeStreamLiveChannelAlerts request structure.
* @class
*/
class DescribeStreamLiveChannelAlertsRequest extends AbstractModel {
constructor(){
super();
/**
* Channel ID
* @type {string || null}
*/
this.ChannelId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.ChannelId = 'ChannelId' in params ? params.ChannelId : null;
}
}
/**
* Audio selector.
* @class
*/
class AudioSelectorInfo extends AbstractModel {
constructor(){
super();
/**
* Audio name, which can contain 1-32 letters, digits, and underscores.
* @type {string || null}
*/
this