tencentcloud-sdk-nodejs-intl-en
Version:
1,868 lines (1,581 loc) • 442 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");
/**
* CreateLiveSnapshotRule request structure.
* @class
*/
class CreateLiveSnapshotRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Push domain name.
* @type {string || null}
*/
this.DomainName = null;
/**
* Template ID.
* @type {number || null}
*/
this.TemplateId = null;
/**
* Push path, which is the same as the `AppName` in push and playback addresses and is `live` by default.
* @type {string || null}
*/
this.AppName = null;
/**
* Stream name.
Note: if this parameter is a non-empty string, the rule will take effect only for the particular stream.
* @type {string || null}
*/
this.StreamName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.TemplateId = 'TemplateId' in params ? params.TemplateId : null;
this.AppName = 'AppName' in params ? params.AppName : null;
this.StreamName = 'StreamName' in params ? params.StreamName : null;
}
}
/**
* Bandwidth and traffic information.
* @class
*/
class BillDataInfo extends AbstractModel {
constructor(){
super();
/**
* Time point in the format of `yyyy-mm-dd HH:MM:SS`.
* @type {string || null}
*/
this.Time = null;
/**
* Bandwidth in Mbps.
* @type {number || null}
*/
this.Bandwidth = null;
/**
* Traffic in MB.
* @type {number || null}
*/
this.Flux = null;
/**
* Time point of peak value in the format of `yyyy-mm-dd HH:MM:SS`. As raw data is at a 5-minute granularity, if data at a 1-hour or 1-day granularity is queried, the time point of peak bandwidth value at the corresponding granularity will be returned.
* @type {string || null}
*/
this.PeakTime = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Time = 'Time' in params ? params.Time : null;
this.Bandwidth = 'Bandwidth' in params ? params.Bandwidth : null;
this.Flux = 'Flux' in params ? params.Flux : null;
this.PeakTime = 'PeakTime' in params ? params.PeakTime : null;
}
}
/**
* EnableLiveDomain response structure.
* @class
*/
class EnableLiveDomainResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DescribeUploadStreamNums response structure.
* @class
*/
class DescribeUploadStreamNumsResponse extends AbstractModel {
constructor(){
super();
/**
* Detailed data.
* @type {Array.<ConcurrentRecordStreamNum> || null}
*/
this.DataInfoList = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.DataInfoList) {
this.DataInfoList = new Array();
for (let z in params.DataInfoList) {
let obj = new ConcurrentRecordStreamNum();
obj.deserialize(params.DataInfoList[z]);
this.DataInfoList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* HLS-specific recording parameter
* @class
*/
class HlsSpecialParam extends AbstractModel {
constructor(){
super();
/**
* Timeout period for restarting an interrupted HLS push.
Value range: [0, 1,800].
* @type {number || null}
*/
this.FlowContinueDuration = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.FlowContinueDuration = 'FlowContinueDuration' in params ? params.FlowContinueDuration : null;
}
}
/**
* Total usage of the transcoding service
* @class
*/
class TranscodeTotalInfo extends AbstractModel {
constructor(){
super();
/**
* Usage time (Beijing time)
Example: 2019-03-01 00:00:00
* @type {string || null}
*/
this.Time = null;
/**
* Transcoding duration in minutes
* @type {number || null}
*/
this.Duration = null;
/**
* Codec, with modules
Examples:
`liveprocessor_H264`: live transcoding-H264
`liveprocessor_H265`: live transcoding-H265
`topspeed_H264`: top speed codec-H264
`topspeed_H265`: top speed codec-H265
* @type {string || null}
*/
this.ModuleCodec = null;
/**
* Resolution
Example: 540*480
* @type {string || null}
*/
this.Resolution = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Time = 'Time' in params ? params.Time : null;
this.Duration = 'Duration' in params ? params.Duration : null;
this.ModuleCodec = 'ModuleCodec' in params ? params.ModuleCodec : null;
this.Resolution = 'Resolution' in params ? params.Resolution : null;
}
}
/**
* StopRecordTask response structure.
* @class
*/
class StopRecordTaskResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DescribeDeliverBandwidthList response structure.
* @class
*/
class DescribeDeliverBandwidthListResponse extends AbstractModel {
constructor(){
super();
/**
* Billable bandwidth of live stream relaying.
* @type {Array.<BandwidthInfo> || null}
*/
this.DataInfoList = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.DataInfoList) {
this.DataInfoList = new Array();
for (let z in params.DataInfoList) {
let obj = new BandwidthInfo();
obj.deserialize(params.DataInfoList[z]);
this.DataInfoList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteLiveRecordRule request structure.
* @class
*/
class DeleteLiveRecordRuleRequest extends AbstractModel {
constructor(){
super();
/**
* Push domain name.
Domain name+AppName+StreamName uniquely identifies a single transcoding rule. If you need to delete it, strong match is required. For example, even if AppName is blank, you need to pass in a blank string to make a strong match.
* @type {string || null}
*/
this.DomainName = null;
/**
* Push path, which is the same as the AppName in push and playback addresses and is "live" by default.
Domain name+AppName+StreamName uniquely identifies a single transcoding rule. If you need to delete it, strong match is required. For example, even if AppName is blank, you need to pass in a blank string to make a strong match.
* @type {string || null}
*/
this.AppName = null;
/**
* Stream name.
Domain name+AppName+StreamName uniquely identifies a single transcoding rule. If you need to delete it, strong match is required. For example, even if AppName is blank, you need to pass in a blank string to make a strong match.
* @type {string || null}
*/
this.StreamName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.AppName = 'AppName' in params ? params.AppName : null;
this.StreamName = 'StreamName' in params ? params.StreamName : null;
}
}
/**
* ResumeLiveStream request structure.
* @class
*/
class ResumeLiveStreamRequest extends AbstractModel {
constructor(){
super();
/**
* Push path, which is the same as the AppName in push and playback addresses and is "live" by default.
* @type {string || null}
*/
this.AppName = null;
/**
* Your push domain name.
* @type {string || null}
*/
this.DomainName = null;
/**
* Stream name.
* @type {string || null}
*/
this.StreamName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AppName = 'AppName' in params ? params.AppName : null;
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.StreamName = 'StreamName' in params ? params.StreamName : null;
}
}
/**
* DeleteLiveTranscodeTemplate response structure.
* @class
*/
class DeleteLiveTranscodeTemplateResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* Special FLV recording setting.
* @class
*/
class FlvSpecialParam extends AbstractModel {
constructor(){
super();
/**
* Whether to enable upload while recording. This parameter is only valid for FLV recording.
* @type {boolean || null}
*/
this.UploadInRecording = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.UploadInRecording = 'UploadInRecording' in params ? params.UploadInRecording : null;
}
}
/**
* DescribeBillBandwidthAndFluxList response structure.
* @class
*/
class DescribeBillBandwidthAndFluxListResponse extends AbstractModel {
constructor(){
super();
/**
* Time point of peak bandwidth value in the format of `yyyy-mm-dd HH:MM:SS`.
* @type {string || null}
*/
this.PeakBandwidthTime = null;
/**
* Peak bandwidth in Mbps.
* @type {number || null}
*/
this.PeakBandwidth = null;
/**
* Time point of 95th percentile bandwidth value in the format of `yyyy-mm-dd HH:MM:SS`.
* @type {string || null}
*/
this.P95PeakBandwidthTime = null;
/**
* 95th percentile bandwidth in Mbps.
* @type {number || null}
*/
this.P95PeakBandwidth = null;
/**
* Total traffic in MB.
* @type {number || null}
*/
this.SumFlux = null;
/**
* Detailed data information.
* @type {Array.<BillDataInfo> || null}
*/
this.DataInfoList = 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.PeakBandwidthTime = 'PeakBandwidthTime' in params ? params.PeakBandwidthTime : null;
this.PeakBandwidth = 'PeakBandwidth' in params ? params.PeakBandwidth : null;
this.P95PeakBandwidthTime = 'P95PeakBandwidthTime' in params ? params.P95PeakBandwidthTime : null;
this.P95PeakBandwidth = 'P95PeakBandwidth' in params ? params.P95PeakBandwidth : null;
this.SumFlux = 'SumFlux' in params ? params.SumFlux : null;
if (params.DataInfoList) {
this.DataInfoList = new Array();
for (let z in params.DataInfoList) {
let obj = new BillDataInfo();
obj.deserialize(params.DataInfoList[z]);
this.DataInfoList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreateScreenshotTask response structure.
* @class
*/
class CreateScreenshotTaskResponse extends AbstractModel {
constructor(){
super();
/**
* A unique task ID. If this parameter is returned, the screencapturing task is created successfully.
* @type {string || null}
*/
this.TaskId = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TaskId = 'TaskId' in params ? params.TaskId : null;
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DeleteLiveCallbackRule response structure.
* @class
*/
class DeleteLiveCallbackRuleResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* ResumeDelayLiveStream request structure.
* @class
*/
class ResumeDelayLiveStreamRequest extends AbstractModel {
constructor(){
super();
/**
* Push path, which is the same as the AppName in push and playback addresses and is "live" by default.
* @type {string || null}
*/
this.AppName = null;
/**
* Push domain name.
* @type {string || null}
*/
this.DomainName = null;
/**
* Stream name.
* @type {string || null}
*/
this.StreamName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.AppName = 'AppName' in params ? params.AppName : null;
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.StreamName = 'StreamName' in params ? params.StreamName : null;
}
}
/**
* DescribeLiveStreamPublishedList request structure.
* @class
*/
class DescribeLiveStreamPublishedListRequest extends AbstractModel {
constructor(){
super();
/**
* Your push domain name.
* @type {string || null}
*/
this.DomainName = null;
/**
* End time.
In UTC format, such as 2016-06-30T19:00:00Z.
This cannot be after the current time.
Note: The difference between EndTime and StartTime cannot be greater than 30 days.
* @type {string || null}
*/
this.EndTime = null;
/**
* Start time.
In UTC format, such as 2016-06-29T19:00:00Z.
This supports querying data in the past 60 days.
* @type {string || null}
*/
this.StartTime = null;
/**
* Push path, which is the same as the `AppName` in push and playback addresses and is `live` by default. Fuzzy match is not supported.
* @type {string || null}
*/
this.AppName = null;
/**
* Page number to get.
Default value: 1.
* @type {number || null}
*/
this.PageNum = null;
/**
* Number of entries per page.
Maximum value: 100
Valid values: integers between 10 and 100
Default value: 10
* @type {number || null}
*/
this.PageSize = null;
/**
* Stream name, which supports fuzzy match.
* @type {string || null}
*/
this.StreamName = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.AppName = 'AppName' in params ? params.AppName : null;
this.PageNum = 'PageNum' in params ? params.PageNum : null;
this.PageSize = 'PageSize' in params ? params.PageSize : null;
this.StreamName = 'StreamName' in params ? params.StreamName : null;
}
}
/**
* DescribeLiveCallbackTemplate response structure.
* @class
*/
class DescribeLiveCallbackTemplateResponse extends AbstractModel {
constructor(){
super();
/**
* Callback template information.
* @type {CallBackTemplateInfo || null}
*/
this.Template = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.Template) {
let obj = new CallBackTemplateInfo();
obj.deserialize(params.Template)
this.Template = obj;
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* CreateLivePullStreamTask request structure.
* @class
*/
class CreateLivePullStreamTaskRequest extends AbstractModel {
constructor(){
super();
/**
* The source type. Valid values:
PullLivePushLive: Live streaming
PullVodPushLive: Video files
PullPicPushLive: Images
* @type {string || null}
*/
this.SourceType = null;
/**
* The source URL(s).
If `SourceType` is `PullLivePushLive`, you can specify only one source URL.
If `SourceType` is `PullVodPushLive`, you can specify at most 30 source URLs.
Supported file formats: FLV, MP4, HLS.
Supported protocols: HTTP, HTTPS, RTMP, RTMPS, RTSP, SRT.
Notes:
1. We recommend you use FLV files as the source. Poorly interleaved MP4 files may result in playback stuttering. You can also re-interleave your MP4 files before adding them as the source.
2. Do not use private network domains or malicious URLs. CSS will block accounts that do.
3. To avoid push and playback issues, make sure the source files are properly interleaved.
4. Supported video coding formats: H.264, H.265.
5. Supported audio coding format: AAC.
6. Use small video files, preferably not longer than one hour. Large files may take a long time to load or resume after pause. Relay may fail if the time consumed exceeds 15 seconds.
* @type {Array.<string> || null}
*/
this.SourceUrls = null;
/**
* The push domain name.
The pulled stream is pushed to this domain.
Note: If the destination is not a CSS address and its format is different from that of CSS addresses, pass the full address to `ToUrl`. For details, see the description of the `ToUrl` parameter.
* @type {string || null}
*/
this.DomainName = null;
/**
* The application to push to.
The pulled stream is pushed to this application.
* @type {string || null}
*/
this.AppName = null;
/**
* The stream name.
The pulled stream is pushed under this name.
* @type {string || null}
*/
this.StreamName = null;
/**
* The start time.
It must be in UTC format.
Example: 2019-01-08T10:00:00Z.
Note: Beijing time is 8 hours ahead of UTC. The [ISO 8601 format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format) is used.
* @type {string || null}
*/
this.StartTime = null;
/**
* The end time. Notes:
1. The end time must be later than the start time.
2. The end time and start time must be later than the current time.
3. The end time and start time must be less than seven days apart.
It must be in UTC format.
Example: 2019-01-08T10:00:00Z.
Note: Beijing time is 8 hours ahead of UTC. The [ISO 8601 format](https://intl.cloud.tencent.com/document/product/266/11732#iso-date-format) is used.
* @type {string || null}
*/
this.EndTime = null;
/**
* The operator.
* @type {string || null}
*/
this.Operator = null;
/**
* The push parameter.
This is a custom parameter carried during push.
Example:
bak=1&test=2
* @type {string || null}
*/
this.PushArgs = null;
/**
* The events to listen for. If you do not pass this parameter, all events will be listened for.
TaskStart: Callback for starting a task
TaskExit: Callback for ending a task
VodSourceFileStart: Callback for starting to pull from video files
VodSourceFileFinish: Callback for stopping pulling from video files
ResetTaskConfig: Callback for modifying a task
`TaskAlarm` indicates a warning event. `AlarmType` examples:
PullFileUnstable: Pull from video files is unstable.
PushStreamUnstable: Push is unstable.
PullFileFailed: Error pulling from video files.
PushStreamFailed: Push error.
FileEndEarly: The video file ended prematurely.
* @type {Array.<string> || null}
*/
this.CallbackEvents = null;
/**
* The number of times to loop video files. Default value: -1.
-1: Loop indefinitely
0: Do not loop
> 0: The number of loop times. A task will end either when the videos are looped for the specified number of times or at the specified task end time, whichever is earlier.
This parameter is valid only when the source is video files.
* @type {string || null}
*/
this.VodLoopTimes = null;
/**
* The behavior after the source video files (`SourceUrls`) are changed.
ImmediateNewSource: Play the new videos immediately
ContinueBreakPoint: Play the new videos after the current video is finished playing (the remaining videos in the old playlist will not be played).
This parameter is valid only if the source before the change is video files.
* @type {string || null}
*/
this.VodRefreshType = null;
/**
* A custom callback URL.
Callbacks about pull and relay events will be sent to this URL.
* @type {string || null}
*/
this.CallbackUrl = null;
/**
* Other parameters.
For example, you can use `ignore_region` to ignore the region passed in and assign a region based on load distribution.
* @type {string || null}
*/
this.ExtraCmd = null;
/**
* The remarks for a task, not longer than 512 bytes.
* @type {string || null}
*/
this.Comment = null;
/**
* The complete destination URL.
If you specify this parameter, make sure you pass in an empty string for `DomainName`, `AppName`, and `StreamName`.
Note: Make sure that the expiration time of the signature is later than the task end time.
* @type {string || null}
*/
this.ToUrl = null;
/**
* The backup source type.
PullLivePushLive: Live streaming
PullVodPushLive: Video files
Notes:
1. Backup sources are supported only if the primary source type is live streaming.
2. When pull from the primary source is interrupted, the system will pull from the backup source.
3. If the backup source is a video file, each time the video is finished, the system will check if the primary source is recovered and will switch back if it is.
* @type {string || null}
*/
this.BackupSourceType = null;
/**
* The URL of the backup source.
You can specify only one backup source URL.
* @type {string || null}
*/
this.BackupSourceUrl = null;
/**
* The information of watermarks to add.
Notes:
1. You can add up to four watermarks to different locations of the video.
2. Make sure you use publicly accessible URLs for the watermark images.
3. Supported image formats include PNG, JPG, and GIF.
* @type {Array.<PullPushWatermarkInfo> || null}
*/
this.WatermarkList = null;
/**
* Whether to use local mode when the source type is video files. The default is `0`.
0: Do not use local mode
1: Use local mode
Note: If you enable local mode, MP4 files will be downloaded to local storage, and the local files will be used for push. This ensures more reliable push. Pushing a local file will incur additional fees.
* @type {number || null}
*/
this.VodLocalMode = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.SourceType = 'SourceType' in params ? params.SourceType : null;
this.SourceUrls = 'SourceUrls' in params ? params.SourceUrls : null;
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.AppName = 'AppName' in params ? params.AppName : null;
this.StreamName = 'StreamName' in params ? params.StreamName : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.Operator = 'Operator' in params ? params.Operator : null;
this.PushArgs = 'PushArgs' in params ? params.PushArgs : null;
this.CallbackEvents = 'CallbackEvents' in params ? params.CallbackEvents : null;
this.VodLoopTimes = 'VodLoopTimes' in params ? params.VodLoopTimes : null;
this.VodRefreshType = 'VodRefreshType' in params ? params.VodRefreshType : null;
this.CallbackUrl = 'CallbackUrl' in params ? params.CallbackUrl : null;
this.ExtraCmd = 'ExtraCmd' in params ? params.ExtraCmd : null;
this.Comment = 'Comment' in params ? params.Comment : null;
this.ToUrl = 'ToUrl' in params ? params.ToUrl : null;
this.BackupSourceType = 'BackupSourceType' in params ? params.BackupSourceType : null;
this.BackupSourceUrl = 'BackupSourceUrl' in params ? params.BackupSourceUrl : null;
if (params.WatermarkList) {
this.WatermarkList = new Array();
for (let z in params.WatermarkList) {
let obj = new PullPushWatermarkInfo();
obj.deserialize(params.WatermarkList[z]);
this.WatermarkList.push(obj);
}
}
this.VodLocalMode = 'VodLocalMode' in params ? params.VodLocalMode : null;
}
}
/**
* DeleteLiveSnapshotTemplate request structure.
* @class
*/
class DeleteLiveSnapshotTemplateRequest extends AbstractModel {
constructor(){
super();
/**
* Template ID.
1. Get from the returned value of the [CreateLiveSnapshotTemplate](https://intl.cloud.tencent.com/document/product/267/32624?from_cn_redirect=1) API call.
2. You can query the list of created screencapturing templates through the [DescribeLiveSnapshotTemplates](https://intl.cloud.tencent.com/document/product/267/32619?from_cn_redirect=1) API.
* @type {number || null}
*/
this.TemplateId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TemplateId = 'TemplateId' in params ? params.TemplateId : null;
}
}
/**
* DescribeGroupProIspPlayInfoList response structure.
* @class
*/
class DescribeGroupProIspPlayInfoListResponse extends AbstractModel {
constructor(){
super();
/**
* Data content.
* @type {Array.<GroupProIspDataInfo> || null}
*/
this.DataInfoList = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.DataInfoList) {
this.DataInfoList = new Array();
for (let z in params.DataInfoList) {
let obj = new GroupProIspDataInfo();
obj.deserialize(params.DataInfoList[z]);
this.DataInfoList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* Push authentication key information.
* @class
*/
class PushAuthKeyInfo extends AbstractModel {
constructor(){
super();
/**
* Domain name.
* @type {string || null}
*/
this.DomainName = null;
/**
* Whether to enable. 0: disabled; 1: enabled.
* @type {number || null}
*/
this.Enable = null;
/**
* Master authentication key.
* @type {string || null}
*/
this.MasterAuthKey = null;
/**
* Standby authentication key.
* @type {string || null}
*/
this.BackupAuthKey = null;
/**
* Validity period in seconds.
* @type {number || null}
*/
this.AuthDelta = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.Enable = 'Enable' in params ? params.Enable : null;
this.MasterAuthKey = 'MasterAuthKey' in params ? params.MasterAuthKey : null;
this.BackupAuthKey = 'BackupAuthKey' in params ? params.BackupAuthKey : null;
this.AuthDelta = 'AuthDelta' in params ? params.AuthDelta : null;
}
}
/**
* DeleteLiveRecordTemplate request structure.
* @class
*/
class DeleteLiveRecordTemplateRequest extends AbstractModel {
constructor(){
super();
/**
* Template ID obtained through the `DescribeRecordTemplates` API.
* @type {number || null}
*/
this.TemplateId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.TemplateId = 'TemplateId' in params ? params.TemplateId : null;
}
}
/**
* DeleteLiveCallbackTemplate response structure.
* @class
*/
class DeleteLiveCallbackTemplateResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* CreateScreenshotTask request structure.
* @class
*/
class CreateScreenshotTaskRequest extends AbstractModel {
constructor(){
super();
/**
* The stream name.
* @type {string || null}
*/
this.StreamName = null;
/**
* The push domain.
* @type {string || null}
*/
this.DomainName = null;
/**
* The push path.
* @type {string || null}
*/
this.AppName = null;
/**
* The task end time, which must be a Unix timestamp and later than `StartTime` and the current time. The end time and start time cannot be more than 24 hours apart.
* @type {number || null}
*/
this.EndTime = null;
/**
* The ID of the screencapturing template, which is returned by `CreateLiveSnapshotTemplate`. If an incorrect template ID is passed in, the screencapturing task will fail.
* @type {number || null}
*/
this.TemplateId = null;
/**
* The task start time, which must be a Unix timestamp and cannot be later than six days from the current time. If you do not specify this parameter, the task will start immediately.
* @type {number || null}
*/
this.StartTime = null;
/**
* The publishing type. Valid values:
`0` (default): Live stream
`1`: Mixed stream
* @type {number || null}
*/
this.StreamType = null;
/**
* An extension field, which is not defined currently and is empty by default.
* @type {string || null}
*/
this.Extension = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.StreamName = 'StreamName' in params ? params.StreamName : null;
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.AppName = 'AppName' in params ? params.AppName : null;
this.EndTime = 'EndTime' in params ? params.EndTime : null;
this.TemplateId = 'TemplateId' in params ? params.TemplateId : null;
this.StartTime = 'StartTime' in params ? params.StartTime : null;
this.StreamType = 'StreamType' in params ? params.StreamType : null;
this.Extension = 'Extension' in params ? params.Extension : null;
}
}
/**
* The push data of a stream.
* @class
*/
class PushQualityData extends AbstractModel {
constructor(){
super();
/**
* The time of the data in the format of “%Y-%m-%d %H:%M:%S.%ms” (accurate to the millisecond).
* @type {string || null}
*/
this.Time = null;
/**
* The push domain.
* @type {string || null}
*/
this.PushDomain = null;
/**
* The push path.
* @type {string || null}
*/
this.AppName = null;
/**
* The IP address of the push client.
* @type {string || null}
*/
this.ClientIp = null;
/**
* The push start time in the format of “%Y-%m-%d %H:%M:%S.%ms” (accurate to the millisecond).
* @type {string || null}
*/
this.BeginPushTime = null;
/**
* The resolution.
* @type {string || null}
*/
this.Resolution = null;
/**
* The video codec.
* @type {string || null}
*/
this.VCodec = null;
/**
* The audio codec.
* @type {string || null}
*/
this.ACodec = null;
/**
* The push sequence number, which uniquely identifies a push.
* @type {string || null}
*/
this.Sequence = null;
/**
* The video frame rate.
* @type {number || null}
*/
this.VideoFps = null;
/**
* The video bitrate (bps).
* @type {number || null}
*/
this.VideoRate = null;
/**
* The audio frame rate.
* @type {number || null}
*/
this.AudioFps = null;
/**
* The audio bitrate (bps).
* @type {number || null}
*/
this.AudioRate = null;
/**
* The local elapsed time (milliseconds). The greater the difference between the local elapsed time and audio/video elapsed time, the poorer the push quality and the more severe the upstream lag.
* @type {number || null}
*/
this.LocalTs = null;
/**
* The video elapsed time (milliseconds).
* @type {number || null}
*/
this.VideoTs = null;
/**
* The audio elapsed time (milliseconds).
* @type {number || null}
*/
this.AudioTs = null;
/**
* The video bitrate (Kbps) in the metadata.
* @type {number || null}
*/
this.MetaVideoRate = null;
/**
* The audio bitrate (Kbps) in the metadata.
* @type {number || null}
*/
this.MetaAudioRate = null;
/**
* The frame rate in the metadata.
* @type {number || null}
*/
this.MateFps = null;
/**
* The push parameter.
* @type {string || null}
*/
this.StreamParam = null;
/**
* The bandwidth (Mbps).
* @type {number || null}
*/
this.Bandwidth = null;
/**
* The traffic (MB).
* @type {number || null}
*/
this.Flux = null;
/**
* The IP address of the push client.
Note: This field may return null, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.ServerIp = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Time = 'Time' in params ? params.Time : null;
this.PushDomain = 'PushDomain' in params ? params.PushDomain : null;
this.AppName = 'AppName' in params ? params.AppName : null;
this.ClientIp = 'ClientIp' in params ? params.ClientIp : null;
this.BeginPushTime = 'BeginPushTime' in params ? params.BeginPushTime : null;
this.Resolution = 'Resolution' in params ? params.Resolution : null;
this.VCodec = 'VCodec' in params ? params.VCodec : null;
this.ACodec = 'ACodec' in params ? params.ACodec : null;
this.Sequence = 'Sequence' in params ? params.Sequence : null;
this.VideoFps = 'VideoFps' in params ? params.VideoFps : null;
this.VideoRate = 'VideoRate' in params ? params.VideoRate : null;
this.AudioFps = 'AudioFps' in params ? params.AudioFps : null;
this.AudioRate = 'AudioRate' in params ? params.AudioRate : null;
this.LocalTs = 'LocalTs' in params ? params.LocalTs : null;
this.VideoTs = 'VideoTs' in params ? params.VideoTs : null;
this.AudioTs = 'AudioTs' in params ? params.AudioTs : null;
this.MetaVideoRate = 'MetaVideoRate' in params ? params.MetaVideoRate : null;
this.MetaAudioRate = 'MetaAudioRate' in params ? params.MetaAudioRate : null;
this.MateFps = 'MateFps' in params ? params.MateFps : null;
this.StreamParam = 'StreamParam' in params ? params.StreamParam : null;
this.Bandwidth = 'Bandwidth' in params ? params.Bandwidth : null;
this.Flux = 'Flux' in params ? params.Flux : null;
this.ServerIp = 'ServerIp' in params ? params.ServerIp : null;
}
}
/**
* ModifyLivePlayAuthKey request structure.
* @class
*/
class ModifyLivePlayAuthKeyRequest extends AbstractModel {
constructor(){
super();
/**
* Playback domain name.
* @type {string || null}
*/
this.DomainName = null;
/**
* Whether to enable. 0: disabled; 1: enabled.
If this parameter is left empty, the current value will not be modified.
* @type {number || null}
*/
this.Enable = null;
/**
* Authentication key.
If this parameter is left empty, the current value will not be modified.
* @type {string || null}
*/
this.AuthKey = null;
/**
* Validity period in seconds.
If this parameter is left empty, the current value will not be modified.
* @type {number || null}
*/
this.AuthDelta = null;
/**
* Backup authentication key.
If this parameter is left empty, the current value will not be modified.
* @type {string || null}
*/
this.AuthBackKey = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.Enable = 'Enable' in params ? params.Enable : null;
this.AuthKey = 'AuthKey' in params ? params.AuthKey : null;
this.AuthDelta = 'AuthDelta' in params ? params.AuthDelta : null;
this.AuthBackKey = 'AuthBackKey' in params ? params.AuthBackKey : null;
}
}
/**
* DescribeLiveDelayInfoList request structure.
* @class
*/
class DescribeLiveDelayInfoListRequest extends AbstractModel {
constructor(){
super();
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
}
}
/**
* HTTP return code data
* @class
*/
class HttpCodeValue extends AbstractModel {
constructor(){
super();
/**
* Time in the format of `yyyy-mm-dd HH:MM:SS`.
* @type {string || null}
*/
this.Time = null;
/**
* Occurrences.
* @type {number || null}
*/
this.Numbers = null;
/**
* Proportion.
* @type {number || null}
*/
this.Percentage = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Time = 'Time' in params ? params.Time : null;
this.Numbers = 'Numbers' in params ? params.Numbers : null;
this.Percentage = 'Percentage' in params ? params.Percentage : null;
}
}
/**
* Domain name certificate information
* @class
*/
class DomainCertInfo extends AbstractModel {
constructor(){
super();
/**
* Certificate ID.
* @type {number || null}
*/
this.CertId = null;
/**
* Certificate name.
* @type {string || null}
*/
this.CertName = null;
/**
* Description.
* @type {string || null}
*/
this.Description = null;
/**
* The creation time in UTC format.
Note: Beijing time (UTC+8) is used.
* @type {string || null}
*/
this.CreateTime = null;
/**
* Certificate content.
* @type {string || null}
*/
this.HttpsCrt = null;
/**
* Certificate type.
0: user-added certificate
1: Tencent Cloud-hosted certificate.
* @type {number || null}
*/
this.CertType = null;
/**
* The certificate expiration time in UTC format.
Note: Beijing time (UTC+8) is used.
* @type {string || null}
*/
this.CertExpireTime = null;
/**
* Domain name that uses this certificate.
* @type {string || null}
*/
this.DomainName = null;
/**
* Certificate status.
* @type {number || null}
*/
this.Status = null;
/**
* List of domain names in the certificate.
["*.x.com"] for example.
Note: this field may return `null`, indicating that no valid values can be obtained.
* @type {Array.<string> || null}
*/
this.CertDomains = null;
/**
* Tencent Cloud SSL certificate ID.
Note: this field may return `null`, indicating that no valid values can be obtained.
* @type {string || null}
*/
this.CloudCertId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.CertId = 'CertId' in params ? params.CertId : null;
this.CertName = 'CertName' in params ? params.CertName : null;
this.Description = 'Description' in params ? params.Description : null;
this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
this.HttpsCrt = 'HttpsCrt' in params ? params.HttpsCrt : null;
this.CertType = 'CertType' in params ? params.CertType : null;
this.CertExpireTime = 'CertExpireTime' in params ? params.CertExpireTime : null;
this.DomainName = 'DomainName' in params ? params.DomainName : null;
this.Status = 'Status' in params ? params.Status : null;
this.CertDomains = 'CertDomains' in params ? params.CertDomains : null;
this.CloudCertId = 'CloudCertId' in params ? params.CloudCertId : null;
}
}
/**
* CreateLiveTimeShiftRule response structure.
* @class
*/
class CreateLiveTimeShiftRuleResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* DeleteLiveTranscodeRule response structure.
* @class
*/
class DeleteLiveTranscodeRuleResponse extends AbstractModel {
constructor(){
super();
/**
* The unique request ID, which is returned for each request. 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;
}
}
/**
* Number of concurrent recording channels
* @class
*/
class ConcurrentRecordStreamNum extends AbstractModel {
constructor(){
super();
/**
* Time point.
* @type {string || null}
*/
this.Time = null;
/**
* Number of channels.
* @type {number || null}
*/
this.Num = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
this.Time = 'Time' in params ? params.Time : null;
this.Num = 'Num' in params ? params.Num : null;
}
}
/**
* DescribeStreamPlayInfoList response structure.
* @class
*/
class DescribeStreamPlayInfoListResponse extends AbstractModel {
constructor(){
super();
/**
* Statistics list at a 1-minute granularity.
* @type {Array.<DayStreamPlayInfo> || null}
*/
this.DataInfoList = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.DataInfoList) {
this.DataInfoList = new Array();
for (let z in params.DataInfoList) {
let obj = new DayStreamPlayInfo();
obj.deserialize(params.DataInfoList[z]);
this.DataInfoList.push(obj);
}
}
this.RequestId = 'RequestId' in params ? params.RequestId : null;
}
}
/**
* DescribeScreenShotSheetNumList response structure.
* @class
*/
class DescribeScreenShotSheetNumListResponse extends AbstractModel {
constructor(){
super();
/**
* Data information list.
* @type {Array.<TimeValue> || null}
*/
this.DataInfoList = null;
/**
* The unique request ID, which is returned for each request. RequestId is required for locating a problem.
* @type {string || null}
*/
this.RequestId = null;
}
/**
* @private
*/
deserialize(params) {
if (!params) {
return;
}
if (params.DataInfoList) {
this.DataInfoLis