UNPKG

tencentcloud-sdk-nodejs-intl-en

Version:
1,839 lines (1,548 loc) • 230 kB
/* * 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