tencentcloud-sdk-trtc 1.0.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2042 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module TencentCloud
18
+ module Trtc
19
+ module V20190722
20
+ # 造成异常体验可能的异常事件类型
21
+ class AbnormalEvent < TencentCloud::Common::AbstractModel
22
+ # @param AbnormalEventId: 异常事件ID,具体值查看附录:异常体验ID映射表:https://cloud.tencent.com/document/product/647/44916
23
+ # @type AbnormalEventId: Integer
24
+ # @param PeerId: 远端用户ID,"":表示异常事件不是由远端用户产生
25
+ # 注意:此字段可能返回 null,表示取不到有效值。
26
+ # @type PeerId: String
27
+
28
+ attr_accessor :AbnormalEventId, :PeerId
29
+
30
+ def initialize(abnormaleventid=nil, peerid=nil)
31
+ @AbnormalEventId = abnormaleventid
32
+ @PeerId = peerid
33
+ end
34
+
35
+ def deserialize(params)
36
+ @AbnormalEventId = params['AbnormalEventId']
37
+ @PeerId = params['PeerId']
38
+ end
39
+ end
40
+
41
+ # 用户的异常体验及可能的原因
42
+ class AbnormalExperience < TencentCloud::Common::AbstractModel
43
+ # @param UserId: 用户ID
44
+ # @type UserId: String
45
+ # @param ExperienceId: 异常体验ID
46
+ # @type ExperienceId: Integer
47
+ # @param RoomId: 字符串房间号
48
+ # @type RoomId: String
49
+ # @param AbnormalEventList: 异常事件数组
50
+ # @type AbnormalEventList: Array
51
+ # @param EventTime: 异常事件的上报时间
52
+ # @type EventTime: Integer
53
+
54
+ attr_accessor :UserId, :ExperienceId, :RoomId, :AbnormalEventList, :EventTime
55
+
56
+ def initialize(userid=nil, experienceid=nil, roomid=nil, abnormaleventlist=nil, eventtime=nil)
57
+ @UserId = userid
58
+ @ExperienceId = experienceid
59
+ @RoomId = roomid
60
+ @AbnormalEventList = abnormaleventlist
61
+ @EventTime = eventtime
62
+ end
63
+
64
+ def deserialize(params)
65
+ @UserId = params['UserId']
66
+ @ExperienceId = params['ExperienceId']
67
+ @RoomId = params['RoomId']
68
+ unless params['AbnormalEventList'].nil?
69
+ @AbnormalEventList = []
70
+ params['AbnormalEventList'].each do |i|
71
+ abnormalevent_tmp = AbnormalEvent.new
72
+ abnormalevent_tmp.deserialize(i)
73
+ @AbnormalEventList << abnormalevent_tmp
74
+ end
75
+ end
76
+ @EventTime = params['EventTime']
77
+ end
78
+ end
79
+
80
+ # CreatePicture请求参数结构体
81
+ class CreatePictureRequest < TencentCloud::Common::AbstractModel
82
+ # @param SdkAppId: 应用id
83
+ # @type SdkAppId: Integer
84
+ # @param Content: 图片内容经base64编码后的string格式
85
+ # @type Content: String
86
+ # @param Suffix: 图片后缀名
87
+ # @type Suffix: String
88
+ # @param Height: 图片长度
89
+ # @type Height: Integer
90
+ # @param Width: 图片宽度
91
+ # @type Width: Integer
92
+ # @param XPosition: 显示位置x轴方向
93
+ # @type XPosition: Integer
94
+ # @param YPosition: 显示位置y轴方向
95
+ # @type YPosition: Integer
96
+
97
+ attr_accessor :SdkAppId, :Content, :Suffix, :Height, :Width, :XPosition, :YPosition
98
+
99
+ def initialize(sdkappid=nil, content=nil, suffix=nil, height=nil, width=nil, xposition=nil, yposition=nil)
100
+ @SdkAppId = sdkappid
101
+ @Content = content
102
+ @Suffix = suffix
103
+ @Height = height
104
+ @Width = width
105
+ @XPosition = xposition
106
+ @YPosition = yposition
107
+ end
108
+
109
+ def deserialize(params)
110
+ @SdkAppId = params['SdkAppId']
111
+ @Content = params['Content']
112
+ @Suffix = params['Suffix']
113
+ @Height = params['Height']
114
+ @Width = params['Width']
115
+ @XPosition = params['XPosition']
116
+ @YPosition = params['YPosition']
117
+ end
118
+ end
119
+
120
+ # CreatePicture返回参数结构体
121
+ class CreatePictureResponse < TencentCloud::Common::AbstractModel
122
+ # @param PictureId: 图片id
123
+ # @type PictureId: Integer
124
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
125
+ # @type RequestId: String
126
+
127
+ attr_accessor :PictureId, :RequestId
128
+
129
+ def initialize(pictureid=nil, requestid=nil)
130
+ @PictureId = pictureid
131
+ @RequestId = requestid
132
+ end
133
+
134
+ def deserialize(params)
135
+ @PictureId = params['PictureId']
136
+ @RequestId = params['RequestId']
137
+ end
138
+ end
139
+
140
+ # CreateTroubleInfo请求参数结构体
141
+ class CreateTroubleInfoRequest < TencentCloud::Common::AbstractModel
142
+ # @param SdkAppId: 应用的ID
143
+ # @type SdkAppId: String
144
+ # @param RoomId: 房间ID
145
+ # @type RoomId: String
146
+ # @param TeacherUserId: 老师用户ID
147
+ # @type TeacherUserId: String
148
+ # @param StudentUserId: 学生用户ID
149
+ # @type StudentUserId: String
150
+ # @param TroubleUserId: 体验异常端(老师或学生)的用户 ID。
151
+ # @type TroubleUserId: String
152
+ # @param TroubleType: 异常类型。
153
+ # 1. 仅视频异常
154
+ # 2. 仅声音异常
155
+ # 3. 音视频都异常
156
+ # 5. 进房异常
157
+ # 4. 切课
158
+ # 6. 求助
159
+ # 7. 问题反馈
160
+ # 8. 投诉
161
+ # @type TroubleType: Integer
162
+ # @param TroubleTime: 异常发生的UNIX 时间戳,单位为秒。
163
+ # @type TroubleTime: Integer
164
+ # @param TroubleMsg: 异常详情
165
+ # @type TroubleMsg: String
166
+
167
+ attr_accessor :SdkAppId, :RoomId, :TeacherUserId, :StudentUserId, :TroubleUserId, :TroubleType, :TroubleTime, :TroubleMsg
168
+
169
+ def initialize(sdkappid=nil, roomid=nil, teacheruserid=nil, studentuserid=nil, troubleuserid=nil, troubletype=nil, troubletime=nil, troublemsg=nil)
170
+ @SdkAppId = sdkappid
171
+ @RoomId = roomid
172
+ @TeacherUserId = teacheruserid
173
+ @StudentUserId = studentuserid
174
+ @TroubleUserId = troubleuserid
175
+ @TroubleType = troubletype
176
+ @TroubleTime = troubletime
177
+ @TroubleMsg = troublemsg
178
+ end
179
+
180
+ def deserialize(params)
181
+ @SdkAppId = params['SdkAppId']
182
+ @RoomId = params['RoomId']
183
+ @TeacherUserId = params['TeacherUserId']
184
+ @StudentUserId = params['StudentUserId']
185
+ @TroubleUserId = params['TroubleUserId']
186
+ @TroubleType = params['TroubleType']
187
+ @TroubleTime = params['TroubleTime']
188
+ @TroubleMsg = params['TroubleMsg']
189
+ end
190
+ end
191
+
192
+ # CreateTroubleInfo返回参数结构体
193
+ class CreateTroubleInfoResponse < TencentCloud::Common::AbstractModel
194
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
195
+ # @type RequestId: String
196
+
197
+ attr_accessor :RequestId
198
+
199
+ def initialize(requestid=nil)
200
+ @RequestId = requestid
201
+ end
202
+
203
+ def deserialize(params)
204
+ @RequestId = params['RequestId']
205
+ end
206
+ end
207
+
208
+ # DeletePicture请求参数结构体
209
+ class DeletePictureRequest < TencentCloud::Common::AbstractModel
210
+ # @param PictureId: 图片id
211
+ # @type PictureId: Integer
212
+ # @param SdkAppId: 应用id
213
+ # @type SdkAppId: Integer
214
+
215
+ attr_accessor :PictureId, :SdkAppId
216
+
217
+ def initialize(pictureid=nil, sdkappid=nil)
218
+ @PictureId = pictureid
219
+ @SdkAppId = sdkappid
220
+ end
221
+
222
+ def deserialize(params)
223
+ @PictureId = params['PictureId']
224
+ @SdkAppId = params['SdkAppId']
225
+ end
226
+ end
227
+
228
+ # DeletePicture返回参数结构体
229
+ class DeletePictureResponse < TencentCloud::Common::AbstractModel
230
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
231
+ # @type RequestId: String
232
+
233
+ attr_accessor :RequestId
234
+
235
+ def initialize(requestid=nil)
236
+ @RequestId = requestid
237
+ end
238
+
239
+ def deserialize(params)
240
+ @RequestId = params['RequestId']
241
+ end
242
+ end
243
+
244
+ # DescribeAbnormalEvent请求参数结构体
245
+ class DescribeAbnormalEventRequest < TencentCloud::Common::AbstractModel
246
+ # @param SdkAppId: 用户SDKAppID,查询SDKAppID下任意20条异常体验事件(可能不同房间)
247
+ # @type SdkAppId: String
248
+ # @param StartTime: 查询开始时间,本地unix时间戳(1592448600s)
249
+ # @type StartTime: Integer
250
+ # @param EndTime: 查询结束时间,本地unix时间戳(1592449080s)
251
+ # @type EndTime: Integer
252
+ # @param RoomId: 房间号,查询房间内任意20条以内异常体验事件
253
+ # @type RoomId: String
254
+
255
+ attr_accessor :SdkAppId, :StartTime, :EndTime, :RoomId
256
+
257
+ def initialize(sdkappid=nil, starttime=nil, endtime=nil, roomid=nil)
258
+ @SdkAppId = sdkappid
259
+ @StartTime = starttime
260
+ @EndTime = endtime
261
+ @RoomId = roomid
262
+ end
263
+
264
+ def deserialize(params)
265
+ @SdkAppId = params['SdkAppId']
266
+ @StartTime = params['StartTime']
267
+ @EndTime = params['EndTime']
268
+ @RoomId = params['RoomId']
269
+ end
270
+ end
271
+
272
+ # DescribeAbnormalEvent返回参数结构体
273
+ class DescribeAbnormalEventResponse < TencentCloud::Common::AbstractModel
274
+ # @param Total: 返回的数据总条数
275
+ # @type Total: Integer
276
+ # @param AbnormalExperienceList: 异常体验列表
277
+ # @type AbnormalExperienceList: Array
278
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
279
+ # @type RequestId: String
280
+
281
+ attr_accessor :Total, :AbnormalExperienceList, :RequestId
282
+
283
+ def initialize(total=nil, abnormalexperiencelist=nil, requestid=nil)
284
+ @Total = total
285
+ @AbnormalExperienceList = abnormalexperiencelist
286
+ @RequestId = requestid
287
+ end
288
+
289
+ def deserialize(params)
290
+ @Total = params['Total']
291
+ unless params['AbnormalExperienceList'].nil?
292
+ @AbnormalExperienceList = []
293
+ params['AbnormalExperienceList'].each do |i|
294
+ abnormalexperience_tmp = AbnormalExperience.new
295
+ abnormalexperience_tmp.deserialize(i)
296
+ @AbnormalExperienceList << abnormalexperience_tmp
297
+ end
298
+ end
299
+ @RequestId = params['RequestId']
300
+ end
301
+ end
302
+
303
+ # DescribeCallDetail请求参数结构体
304
+ class DescribeCallDetailRequest < TencentCloud::Common::AbstractModel
305
+ # @param CommId: 通话 ID(唯一标识一次通话): sdkappid_roomgString(房间号_createTime(房间创建时间,unix时间戳,单位为s)例:1400353843_218695_1590065777。通过 DescribeRoomInformation(查询房间列表)接口获取(链接:https://cloud.tencent.com/document/product/647/44050)
306
+ # @type CommId: String
307
+ # @param StartTime: 查询开始时间,14天内。本地unix时间戳(1590065777s),查询实时数据时,查询起止时间不超过1个小时。
308
+ # @type StartTime: Integer
309
+ # @param EndTime: 查询结束时间,本地unix时间戳(1590065877s)
310
+ # @type EndTime: Integer
311
+ # @param SdkAppId: 用户SDKAppID(1400353843)
312
+ # @type SdkAppId: String
313
+ # @param UserIds: 需查询的用户数组,不填默认返回6个用户,最多可填6个用户
314
+ # @type UserIds: Array
315
+ # @param DataType: 需查询的指标,不填则只返回用户列表,填all则返回所有指标。
316
+ # appCpu:APP CPU使用率;
317
+ # sysCpu:系统 CPU使用率;
318
+ # aBit:上/下行音频码率;单位:bps
319
+ # aBlock:音频卡顿时长;单位:ms
320
+ # bigvBit:上/下行视频码率;单位:bps
321
+ # bigvCapFps:视频采集帧率;
322
+ # bigvEncFps:视频发送帧率;
323
+ # bigvDecFps:渲染帧率;
324
+ # bigvBlock:视频卡顿时长;单位:ms
325
+ # aLoss:上/下行音频丢包率;
326
+ # bigvLoss:上/下行视频丢包率;
327
+ # bigvWidth:上/下行分辨率宽;
328
+ # bigvHeight:上/下行分辨率高
329
+ # @type DataType: Array
330
+ # @param PageNumber: 设置分页index,从0开始(PageNumber和PageSize 其中一个不填均默认返回6条数据)
331
+ # @type PageNumber: String
332
+ # @param PageSize: 设置分页大小(PageNumber和PageSize 其中一个不填均默认返回6条数据,DataType,UserIds不为null,PageSize最大不超过6,DataType,UserIds为null,PageSize最大不超过100)
333
+ # @type PageSize: String
334
+
335
+ attr_accessor :CommId, :StartTime, :EndTime, :SdkAppId, :UserIds, :DataType, :PageNumber, :PageSize
336
+
337
+ def initialize(commid=nil, starttime=nil, endtime=nil, sdkappid=nil, userids=nil, datatype=nil, pagenumber=nil, pagesize=nil)
338
+ @CommId = commid
339
+ @StartTime = starttime
340
+ @EndTime = endtime
341
+ @SdkAppId = sdkappid
342
+ @UserIds = userids
343
+ @DataType = datatype
344
+ @PageNumber = pagenumber
345
+ @PageSize = pagesize
346
+ end
347
+
348
+ def deserialize(params)
349
+ @CommId = params['CommId']
350
+ @StartTime = params['StartTime']
351
+ @EndTime = params['EndTime']
352
+ @SdkAppId = params['SdkAppId']
353
+ @UserIds = params['UserIds']
354
+ @DataType = params['DataType']
355
+ @PageNumber = params['PageNumber']
356
+ @PageSize = params['PageSize']
357
+ end
358
+ end
359
+
360
+ # DescribeCallDetail返回参数结构体
361
+ class DescribeCallDetailResponse < TencentCloud::Common::AbstractModel
362
+ # @param Total: 返回的用户总条数
363
+ # @type Total: Integer
364
+ # @param UserList: 用户信息列表
365
+ # 注意:此字段可能返回 null,表示取不到有效值。
366
+ # @type UserList: Array
367
+ # @param Data: 质量数据
368
+ # 注意:此字段可能返回 null,表示取不到有效值。
369
+ # @type Data: Array
370
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
371
+ # @type RequestId: String
372
+
373
+ attr_accessor :Total, :UserList, :Data, :RequestId
374
+
375
+ def initialize(total=nil, userlist=nil, data=nil, requestid=nil)
376
+ @Total = total
377
+ @UserList = userlist
378
+ @Data = data
379
+ @RequestId = requestid
380
+ end
381
+
382
+ def deserialize(params)
383
+ @Total = params['Total']
384
+ unless params['UserList'].nil?
385
+ @UserList = []
386
+ params['UserList'].each do |i|
387
+ userinformation_tmp = UserInformation.new
388
+ userinformation_tmp.deserialize(i)
389
+ @UserList << userinformation_tmp
390
+ end
391
+ end
392
+ unless params['Data'].nil?
393
+ @Data = []
394
+ params['Data'].each do |i|
395
+ qualitydata_tmp = QualityData.new
396
+ qualitydata_tmp.deserialize(i)
397
+ @Data << qualitydata_tmp
398
+ end
399
+ end
400
+ @RequestId = params['RequestId']
401
+ end
402
+ end
403
+
404
+ # DescribeDetailEvent请求参数结构体
405
+ class DescribeDetailEventRequest < TencentCloud::Common::AbstractModel
406
+ # @param CommId: 通话 ID(唯一标识一次通话): sdkappid_roomgString(房间号_createTime(房间创建时间,unix时间戳,单位s)。通过 DescribeRoomInformation(查询房间列表)接口获取。(链接:https://cloud.tencent.com/document/product/647/44050)
407
+ # @type CommId: String
408
+ # @param StartTime: 查询开始时间,14天内。本地unix时间戳(1588055615s)
409
+ # @type StartTime: Integer
410
+ # @param EndTime: 查询结束时间,本地unix时间戳(1588058615s)
411
+ # @type EndTime: Integer
412
+ # @param UserId: 用户id
413
+ # @type UserId: String
414
+ # @param RoomId: 房间号
415
+ # @type RoomId: String
416
+
417
+ attr_accessor :CommId, :StartTime, :EndTime, :UserId, :RoomId
418
+
419
+ def initialize(commid=nil, starttime=nil, endtime=nil, userid=nil, roomid=nil)
420
+ @CommId = commid
421
+ @StartTime = starttime
422
+ @EndTime = endtime
423
+ @UserId = userid
424
+ @RoomId = roomid
425
+ end
426
+
427
+ def deserialize(params)
428
+ @CommId = params['CommId']
429
+ @StartTime = params['StartTime']
430
+ @EndTime = params['EndTime']
431
+ @UserId = params['UserId']
432
+ @RoomId = params['RoomId']
433
+ end
434
+ end
435
+
436
+ # DescribeDetailEvent返回参数结构体
437
+ class DescribeDetailEventResponse < TencentCloud::Common::AbstractModel
438
+ # @param Data: 返回的事件列表,若没有数据,会返回空数组。
439
+ # @type Data: Array
440
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
441
+ # @type RequestId: String
442
+
443
+ attr_accessor :Data, :RequestId
444
+
445
+ def initialize(data=nil, requestid=nil)
446
+ @Data = data
447
+ @RequestId = requestid
448
+ end
449
+
450
+ def deserialize(params)
451
+ unless params['Data'].nil?
452
+ @Data = []
453
+ params['Data'].each do |i|
454
+ eventlist_tmp = EventList.new
455
+ eventlist_tmp.deserialize(i)
456
+ @Data << eventlist_tmp
457
+ end
458
+ end
459
+ @RequestId = params['RequestId']
460
+ end
461
+ end
462
+
463
+ # DescribeHistoryScale请求参数结构体
464
+ class DescribeHistoryScaleRequest < TencentCloud::Common::AbstractModel
465
+ # @param SdkAppId: 用户sdkappid(1400188366)
466
+ # @type SdkAppId: String
467
+ # @param StartTime: 查询开始时间,5天内。本地unix时间戳(1587571000s)
468
+ # @type StartTime: Integer
469
+ # @param EndTime: 查询结束时间,本地unix时间戳(1588034999s)
470
+ # @type EndTime: Integer
471
+
472
+ attr_accessor :SdkAppId, :StartTime, :EndTime
473
+
474
+ def initialize(sdkappid=nil, starttime=nil, endtime=nil)
475
+ @SdkAppId = sdkappid
476
+ @StartTime = starttime
477
+ @EndTime = endtime
478
+ end
479
+
480
+ def deserialize(params)
481
+ @SdkAppId = params['SdkAppId']
482
+ @StartTime = params['StartTime']
483
+ @EndTime = params['EndTime']
484
+ end
485
+ end
486
+
487
+ # DescribeHistoryScale返回参数结构体
488
+ class DescribeHistoryScaleResponse < TencentCloud::Common::AbstractModel
489
+ # @param Total: 返回的数据条数
490
+ # @type Total: Integer
491
+ # @param ScaleList: 返回的数据
492
+ # 注意:此字段可能返回 null,表示取不到有效值。
493
+ # @type ScaleList: Array
494
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
495
+ # @type RequestId: String
496
+
497
+ attr_accessor :Total, :ScaleList, :RequestId
498
+
499
+ def initialize(total=nil, scalelist=nil, requestid=nil)
500
+ @Total = total
501
+ @ScaleList = scalelist
502
+ @RequestId = requestid
503
+ end
504
+
505
+ def deserialize(params)
506
+ @Total = params['Total']
507
+ unless params['ScaleList'].nil?
508
+ @ScaleList = []
509
+ params['ScaleList'].each do |i|
510
+ scaleinfomation_tmp = ScaleInfomation.new
511
+ scaleinfomation_tmp.deserialize(i)
512
+ @ScaleList << scaleinfomation_tmp
513
+ end
514
+ end
515
+ @RequestId = params['RequestId']
516
+ end
517
+ end
518
+
519
+ # DescribePicture请求参数结构体
520
+ class DescribePictureRequest < TencentCloud::Common::AbstractModel
521
+ # @param SdkAppId: 应用ID
522
+ # @type SdkAppId: Integer
523
+ # @param PictureId: 图片ID,不填时返回该应用下所有图片
524
+ # @type PictureId: Integer
525
+ # @param PageSize: 每页数量,不填时默认为10
526
+ # @type PageSize: Integer
527
+ # @param PageNo: 页码,不填时默认为1
528
+ # @type PageNo: Integer
529
+
530
+ attr_accessor :SdkAppId, :PictureId, :PageSize, :PageNo
531
+
532
+ def initialize(sdkappid=nil, pictureid=nil, pagesize=nil, pageno=nil)
533
+ @SdkAppId = sdkappid
534
+ @PictureId = pictureid
535
+ @PageSize = pagesize
536
+ @PageNo = pageno
537
+ end
538
+
539
+ def deserialize(params)
540
+ @SdkAppId = params['SdkAppId']
541
+ @PictureId = params['PictureId']
542
+ @PageSize = params['PageSize']
543
+ @PageNo = params['PageNo']
544
+ end
545
+ end
546
+
547
+ # DescribePicture返回参数结构体
548
+ class DescribePictureResponse < TencentCloud::Common::AbstractModel
549
+ # @param Total: 返回的图片记录数
550
+ # @type Total: Integer
551
+ # @param PictureInfo: 图片信息列表
552
+ # @type PictureInfo: Array
553
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
554
+ # @type RequestId: String
555
+
556
+ attr_accessor :Total, :PictureInfo, :RequestId
557
+
558
+ def initialize(total=nil, pictureinfo=nil, requestid=nil)
559
+ @Total = total
560
+ @PictureInfo = pictureinfo
561
+ @RequestId = requestid
562
+ end
563
+
564
+ def deserialize(params)
565
+ @Total = params['Total']
566
+ unless params['PictureInfo'].nil?
567
+ @PictureInfo = []
568
+ params['PictureInfo'].each do |i|
569
+ pictureinfo_tmp = PictureInfo.new
570
+ pictureinfo_tmp.deserialize(i)
571
+ @PictureInfo << pictureinfo_tmp
572
+ end
573
+ end
574
+ @RequestId = params['RequestId']
575
+ end
576
+ end
577
+
578
+ # DescribeRecordStatistic请求参数结构体
579
+ class DescribeRecordStatisticRequest < TencentCloud::Common::AbstractModel
580
+ # @param StartTime: 查询开始日期,格式为YYYY-MM-DD。
581
+ # @type StartTime: String
582
+ # @param EndTime: 查询结束日期,格式为YYYY-MM-DD。
583
+ # 单次查询统计区间最多不能超过31天。
584
+ # @type EndTime: String
585
+ # @param SdkAppId: 应用ID,可不传。传应用ID时返回的是该应用的用量,不传时返回多个应用的合计值。
586
+ # @type SdkAppId: Integer
587
+
588
+ attr_accessor :StartTime, :EndTime, :SdkAppId
589
+
590
+ def initialize(starttime=nil, endtime=nil, sdkappid=nil)
591
+ @StartTime = starttime
592
+ @EndTime = endtime
593
+ @SdkAppId = sdkappid
594
+ end
595
+
596
+ def deserialize(params)
597
+ @StartTime = params['StartTime']
598
+ @EndTime = params['EndTime']
599
+ @SdkAppId = params['SdkAppId']
600
+ end
601
+ end
602
+
603
+ # DescribeRecordStatistic返回参数结构体
604
+ class DescribeRecordStatisticResponse < TencentCloud::Common::AbstractModel
605
+ # @param SdkAppIdUsages: 应用的用量信息数组。
606
+ # @type SdkAppIdUsages: Array
607
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
608
+ # @type RequestId: String
609
+
610
+ attr_accessor :SdkAppIdUsages, :RequestId
611
+
612
+ def initialize(sdkappidusages=nil, requestid=nil)
613
+ @SdkAppIdUsages = sdkappidusages
614
+ @RequestId = requestid
615
+ end
616
+
617
+ def deserialize(params)
618
+ unless params['SdkAppIdUsages'].nil?
619
+ @SdkAppIdUsages = []
620
+ params['SdkAppIdUsages'].each do |i|
621
+ sdkappidrecordusage_tmp = SdkAppIdRecordUsage.new
622
+ sdkappidrecordusage_tmp.deserialize(i)
623
+ @SdkAppIdUsages << sdkappidrecordusage_tmp
624
+ end
625
+ end
626
+ @RequestId = params['RequestId']
627
+ end
628
+ end
629
+
630
+ # DescribeRoomInformation请求参数结构体
631
+ class DescribeRoomInformationRequest < TencentCloud::Common::AbstractModel
632
+ # @param SdkAppId: 用户sdkappid
633
+ # @type SdkAppId: String
634
+ # @param StartTime: 查询开始时间,14天内。本地unix时间戳(1588031999)
635
+ # @type StartTime: Integer
636
+ # @param EndTime: 查询结束时间,本地unix时间戳(1588034999)
637
+ # @type EndTime: Integer
638
+ # @param RoomId: 字符串房间号
639
+ # @type RoomId: String
640
+ # @param PageNumber: 分页index,从0开始(PageNumber和PageSize 其中一个不填均默认返回10条数据)
641
+ # @type PageNumber: String
642
+ # @param PageSize: 分页大小(PageNumber和PageSize 其中一个不填均默认返回10条数据,最大不超过100)
643
+ # @type PageSize: String
644
+
645
+ attr_accessor :SdkAppId, :StartTime, :EndTime, :RoomId, :PageNumber, :PageSize
646
+
647
+ def initialize(sdkappid=nil, starttime=nil, endtime=nil, roomid=nil, pagenumber=nil, pagesize=nil)
648
+ @SdkAppId = sdkappid
649
+ @StartTime = starttime
650
+ @EndTime = endtime
651
+ @RoomId = roomid
652
+ @PageNumber = pagenumber
653
+ @PageSize = pagesize
654
+ end
655
+
656
+ def deserialize(params)
657
+ @SdkAppId = params['SdkAppId']
658
+ @StartTime = params['StartTime']
659
+ @EndTime = params['EndTime']
660
+ @RoomId = params['RoomId']
661
+ @PageNumber = params['PageNumber']
662
+ @PageSize = params['PageSize']
663
+ end
664
+ end
665
+
666
+ # DescribeRoomInformation返回参数结构体
667
+ class DescribeRoomInformationResponse < TencentCloud::Common::AbstractModel
668
+ # @param Total: 返回当页数据总数
669
+ # @type Total: Integer
670
+ # @param RoomList: 房间信息列表
671
+ # @type RoomList: Array
672
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
673
+ # @type RequestId: String
674
+
675
+ attr_accessor :Total, :RoomList, :RequestId
676
+
677
+ def initialize(total=nil, roomlist=nil, requestid=nil)
678
+ @Total = total
679
+ @RoomList = roomlist
680
+ @RequestId = requestid
681
+ end
682
+
683
+ def deserialize(params)
684
+ @Total = params['Total']
685
+ unless params['RoomList'].nil?
686
+ @RoomList = []
687
+ params['RoomList'].each do |i|
688
+ roomstate_tmp = RoomState.new
689
+ roomstate_tmp.deserialize(i)
690
+ @RoomList << roomstate_tmp
691
+ end
692
+ end
693
+ @RequestId = params['RequestId']
694
+ end
695
+ end
696
+
697
+ # DescribeTrtcInteractiveTime请求参数结构体
698
+ class DescribeTrtcInteractiveTimeRequest < TencentCloud::Common::AbstractModel
699
+ # @param StartTime: 查询开始时间,格式为YYYY-MM-DD。
700
+ # @type StartTime: String
701
+ # @param EndTime: 查询结束时间,格式为YYYY-MM-DD。
702
+ # 单次查询统计区间最多不能超过31天。
703
+ # @type EndTime: String
704
+ # @param SdkAppId: 应用ID,可不传。传应用ID时返回的是该应用的用量,不传时返回所有应用的合计值。
705
+ # @type SdkAppId: Integer
706
+
707
+ attr_accessor :StartTime, :EndTime, :SdkAppId
708
+
709
+ def initialize(starttime=nil, endtime=nil, sdkappid=nil)
710
+ @StartTime = starttime
711
+ @EndTime = endtime
712
+ @SdkAppId = sdkappid
713
+ end
714
+
715
+ def deserialize(params)
716
+ @StartTime = params['StartTime']
717
+ @EndTime = params['EndTime']
718
+ @SdkAppId = params['SdkAppId']
719
+ end
720
+ end
721
+
722
+ # DescribeTrtcInteractiveTime返回参数结构体
723
+ class DescribeTrtcInteractiveTimeResponse < TencentCloud::Common::AbstractModel
724
+ # @param Usages: 应用的用量信息数组。
725
+ # @type Usages: Array
726
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
727
+ # @type RequestId: String
728
+
729
+ attr_accessor :Usages, :RequestId
730
+
731
+ def initialize(usages=nil, requestid=nil)
732
+ @Usages = usages
733
+ @RequestId = requestid
734
+ end
735
+
736
+ def deserialize(params)
737
+ unless params['Usages'].nil?
738
+ @Usages = []
739
+ params['Usages'].each do |i|
740
+ onesdkappidusagesinfo_tmp = OneSdkAppIdUsagesInfo.new
741
+ onesdkappidusagesinfo_tmp.deserialize(i)
742
+ @Usages << onesdkappidusagesinfo_tmp
743
+ end
744
+ end
745
+ @RequestId = params['RequestId']
746
+ end
747
+ end
748
+
749
+ # DescribeTrtcMcuTranscodeTime请求参数结构体
750
+ class DescribeTrtcMcuTranscodeTimeRequest < TencentCloud::Common::AbstractModel
751
+ # @param StartTime: 查询开始时间,格式为YYYY-MM-DD。
752
+ # @type StartTime: String
753
+ # @param EndTime: 查询结束时间,格式为YYYY-MM-DD。
754
+ # 单次查询统计区间最多不能超过31天。
755
+ # @type EndTime: String
756
+ # @param SdkAppId: 应用ID,可不传。传应用ID时返回的是该应用的用量,不传时返回多个应用的合计值。
757
+ # @type SdkAppId: Integer
758
+
759
+ attr_accessor :StartTime, :EndTime, :SdkAppId
760
+
761
+ def initialize(starttime=nil, endtime=nil, sdkappid=nil)
762
+ @StartTime = starttime
763
+ @EndTime = endtime
764
+ @SdkAppId = sdkappid
765
+ end
766
+
767
+ def deserialize(params)
768
+ @StartTime = params['StartTime']
769
+ @EndTime = params['EndTime']
770
+ @SdkAppId = params['SdkAppId']
771
+ end
772
+ end
773
+
774
+ # DescribeTrtcMcuTranscodeTime返回参数结构体
775
+ class DescribeTrtcMcuTranscodeTimeResponse < TencentCloud::Common::AbstractModel
776
+ # @param Usages: 应用的用量信息数组。
777
+ # @type Usages: Array
778
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
779
+ # @type RequestId: String
780
+
781
+ attr_accessor :Usages, :RequestId
782
+
783
+ def initialize(usages=nil, requestid=nil)
784
+ @Usages = usages
785
+ @RequestId = requestid
786
+ end
787
+
788
+ def deserialize(params)
789
+ unless params['Usages'].nil?
790
+ @Usages = []
791
+ params['Usages'].each do |i|
792
+ onesdkappidtranscodetimeusagesinfo_tmp = OneSdkAppIdTranscodeTimeUsagesInfo.new
793
+ onesdkappidtranscodetimeusagesinfo_tmp.deserialize(i)
794
+ @Usages << onesdkappidtranscodetimeusagesinfo_tmp
795
+ end
796
+ end
797
+ @RequestId = params['RequestId']
798
+ end
799
+ end
800
+
801
+ # DescribeUserInformation请求参数结构体
802
+ class DescribeUserInformationRequest < TencentCloud::Common::AbstractModel
803
+ # @param CommId: 通话 ID(唯一标识一次通话): sdkappid_roomgString(房间号_createTime(房间创建时间,unix时间戳,单位为s)例:1400353843_218695_1590065777。通过 DescribeRoomInformation(查询房间列表)接口获取(链接:https://cloud.tencent.com/document/product/647/44050)
804
+ # @type CommId: String
805
+ # @param StartTime: 查询开始时间,14天内。本地unix时间戳(1590065777)
806
+ # @type StartTime: Integer
807
+ # @param EndTime: 查询结束时间,本地unix时间戳(1590065877)
808
+ # @type EndTime: Integer
809
+ # @param SdkAppId: 用户SDKAppID(1400353843)
810
+ # @type SdkAppId: String
811
+ # @param UserIds: 需查询的用户数组,不填默认返回6个用户,最多可填6个用户
812
+ # @type UserIds: Array
813
+ # @param PageNumber: 设置分页index,从0开始(PageNumber和PageSize 其中一个不填均默认返回6条数据)
814
+ # @type PageNumber: String
815
+ # @param PageSize: 设置分页大小(PageNumber和PageSize 其中一个不填均默认返回6条数据,PageSize最大不超过100)
816
+ # @type PageSize: String
817
+
818
+ attr_accessor :CommId, :StartTime, :EndTime, :SdkAppId, :UserIds, :PageNumber, :PageSize
819
+
820
+ def initialize(commid=nil, starttime=nil, endtime=nil, sdkappid=nil, userids=nil, pagenumber=nil, pagesize=nil)
821
+ @CommId = commid
822
+ @StartTime = starttime
823
+ @EndTime = endtime
824
+ @SdkAppId = sdkappid
825
+ @UserIds = userids
826
+ @PageNumber = pagenumber
827
+ @PageSize = pagesize
828
+ end
829
+
830
+ def deserialize(params)
831
+ @CommId = params['CommId']
832
+ @StartTime = params['StartTime']
833
+ @EndTime = params['EndTime']
834
+ @SdkAppId = params['SdkAppId']
835
+ @UserIds = params['UserIds']
836
+ @PageNumber = params['PageNumber']
837
+ @PageSize = params['PageSize']
838
+ end
839
+ end
840
+
841
+ # DescribeUserInformation返回参数结构体
842
+ class DescribeUserInformationResponse < TencentCloud::Common::AbstractModel
843
+ # @param Total: 返回的用户总条数
844
+ # @type Total: Integer
845
+ # @param UserList: 用户信息列表
846
+ # 注意:此字段可能返回 null,表示取不到有效值。
847
+ # @type UserList: Array
848
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
849
+ # @type RequestId: String
850
+
851
+ attr_accessor :Total, :UserList, :RequestId
852
+
853
+ def initialize(total=nil, userlist=nil, requestid=nil)
854
+ @Total = total
855
+ @UserList = userlist
856
+ @RequestId = requestid
857
+ end
858
+
859
+ def deserialize(params)
860
+ @Total = params['Total']
861
+ unless params['UserList'].nil?
862
+ @UserList = []
863
+ params['UserList'].each do |i|
864
+ userinformation_tmp = UserInformation.new
865
+ userinformation_tmp.deserialize(i)
866
+ @UserList << userinformation_tmp
867
+ end
868
+ end
869
+ @RequestId = params['RequestId']
870
+ end
871
+ end
872
+
873
+ # DismissRoomByStrRoomId请求参数结构体
874
+ class DismissRoomByStrRoomIdRequest < TencentCloud::Common::AbstractModel
875
+ # @param SdkAppId: TRTC的SDKAppId。
876
+ # @type SdkAppId: Integer
877
+ # @param RoomId: 房间号。
878
+ # @type RoomId: String
879
+
880
+ attr_accessor :SdkAppId, :RoomId
881
+
882
+ def initialize(sdkappid=nil, roomid=nil)
883
+ @SdkAppId = sdkappid
884
+ @RoomId = roomid
885
+ end
886
+
887
+ def deserialize(params)
888
+ @SdkAppId = params['SdkAppId']
889
+ @RoomId = params['RoomId']
890
+ end
891
+ end
892
+
893
+ # DismissRoomByStrRoomId返回参数结构体
894
+ class DismissRoomByStrRoomIdResponse < TencentCloud::Common::AbstractModel
895
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
896
+ # @type RequestId: String
897
+
898
+ attr_accessor :RequestId
899
+
900
+ def initialize(requestid=nil)
901
+ @RequestId = requestid
902
+ end
903
+
904
+ def deserialize(params)
905
+ @RequestId = params['RequestId']
906
+ end
907
+ end
908
+
909
+ # DismissRoom请求参数结构体
910
+ class DismissRoomRequest < TencentCloud::Common::AbstractModel
911
+ # @param SdkAppId: TRTC的SDKAppId。
912
+ # @type SdkAppId: Integer
913
+ # @param RoomId: 房间号。
914
+ # @type RoomId: Integer
915
+
916
+ attr_accessor :SdkAppId, :RoomId
917
+
918
+ def initialize(sdkappid=nil, roomid=nil)
919
+ @SdkAppId = sdkappid
920
+ @RoomId = roomid
921
+ end
922
+
923
+ def deserialize(params)
924
+ @SdkAppId = params['SdkAppId']
925
+ @RoomId = params['RoomId']
926
+ end
927
+ end
928
+
929
+ # DismissRoom返回参数结构体
930
+ class DismissRoomResponse < TencentCloud::Common::AbstractModel
931
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
932
+ # @type RequestId: String
933
+
934
+ attr_accessor :RequestId
935
+
936
+ def initialize(requestid=nil)
937
+ @RequestId = requestid
938
+ end
939
+
940
+ def deserialize(params)
941
+ @RequestId = params['RequestId']
942
+ end
943
+ end
944
+
945
+ # MCU混流输出流编码参数
946
+ class EncodeParams < TencentCloud::Common::AbstractModel
947
+ # @param AudioSampleRate: 混流-输出流音频采样率。取值为[48000, 44100, 32000, 24000, 16000, 8000],单位是Hz。
948
+ # @type AudioSampleRate: Integer
949
+ # @param AudioBitrate: 混流-输出流音频码率。取值范围[8,500],单位为kbps。
950
+ # @type AudioBitrate: Integer
951
+ # @param AudioChannels: 混流-输出流音频声道数,取值范围[1,2],1表示混流输出音频为单声道,2表示混流输出音频为双声道。
952
+ # @type AudioChannels: Integer
953
+ # @param VideoWidth: 混流-输出流宽,音视频输出时必填。取值范围[0,1920],单位为像素值。
954
+ # @type VideoWidth: Integer
955
+ # @param VideoHeight: 混流-输出流高,音视频输出时必填。取值范围[0,1080],单位为像素值。
956
+ # @type VideoHeight: Integer
957
+ # @param VideoBitrate: 混流-输出流码率,音视频输出时必填。取值范围[1,10000],单位为kbps。
958
+ # @type VideoBitrate: Integer
959
+ # @param VideoFramerate: 混流-输出流帧率,音视频输出时必填。取值范围[1,60],表示混流的输出帧率可选范围为1到60fps。
960
+ # @type VideoFramerate: Integer
961
+ # @param VideoGop: 混流-输出流gop,音视频输出时必填。取值范围[1,5],单位为秒。
962
+ # @type VideoGop: Integer
963
+ # @param BackgroundColor: 混流-输出流背景色,取值是十进制整数。常用的颜色有:
964
+ # 红色:0xff0000,对应的十进制整数是16724736。
965
+ # 黄色:0xffff00。对应的十进制整数是16776960。
966
+ # 绿色:0x33cc00。对应的十进制整数是3394560。
967
+ # 蓝色:0x0066ff。对应的十进制整数是26367。
968
+ # 黑色:0x000000。对应的十进制整数是0。
969
+ # 白色:0xFFFFFF。对应的十进制整数是16777215。
970
+ # 灰色:0x999999。对应的十进制整数是10066329。
971
+ # @type BackgroundColor: Integer
972
+ # @param BackgroundImageId: 混流-输出流背景图片,取值为实时音视频控制台上传的图片ID。
973
+ # @type BackgroundImageId: Integer
974
+ # @param AudioCodec: 混流-输出流音频编码类型,取值范围[0,1, 2],0为LC-AAC,1为HE-AAC,2为HE-AACv2。默认值为0。当音频编码设置为HE-AACv2时,只支持输出流音频声道数为双声道。HE-AAC和HE-AACv2支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]
975
+ # @type AudioCodec: Integer
976
+ # @param BackgroundImageUrl: 混流-输出流背景图片URL地址,支持png、jpg、jpeg、bmp格式,暂不支持透明通道。URL链接长度限制为512字节。BackgroundImageUrl和BackgroundImageId参数都填时,以BackgroundImageUrl为准。图片大小限制不超过10MB。
977
+ # @type BackgroundImageUrl: String
978
+
979
+ attr_accessor :AudioSampleRate, :AudioBitrate, :AudioChannels, :VideoWidth, :VideoHeight, :VideoBitrate, :VideoFramerate, :VideoGop, :BackgroundColor, :BackgroundImageId, :AudioCodec, :BackgroundImageUrl
980
+
981
+ def initialize(audiosamplerate=nil, audiobitrate=nil, audiochannels=nil, videowidth=nil, videoheight=nil, videobitrate=nil, videoframerate=nil, videogop=nil, backgroundcolor=nil, backgroundimageid=nil, audiocodec=nil, backgroundimageurl=nil)
982
+ @AudioSampleRate = audiosamplerate
983
+ @AudioBitrate = audiobitrate
984
+ @AudioChannels = audiochannels
985
+ @VideoWidth = videowidth
986
+ @VideoHeight = videoheight
987
+ @VideoBitrate = videobitrate
988
+ @VideoFramerate = videoframerate
989
+ @VideoGop = videogop
990
+ @BackgroundColor = backgroundcolor
991
+ @BackgroundImageId = backgroundimageid
992
+ @AudioCodec = audiocodec
993
+ @BackgroundImageUrl = backgroundimageurl
994
+ end
995
+
996
+ def deserialize(params)
997
+ @AudioSampleRate = params['AudioSampleRate']
998
+ @AudioBitrate = params['AudioBitrate']
999
+ @AudioChannels = params['AudioChannels']
1000
+ @VideoWidth = params['VideoWidth']
1001
+ @VideoHeight = params['VideoHeight']
1002
+ @VideoBitrate = params['VideoBitrate']
1003
+ @VideoFramerate = params['VideoFramerate']
1004
+ @VideoGop = params['VideoGop']
1005
+ @BackgroundColor = params['BackgroundColor']
1006
+ @BackgroundImageId = params['BackgroundImageId']
1007
+ @AudioCodec = params['AudioCodec']
1008
+ @BackgroundImageUrl = params['BackgroundImageUrl']
1009
+ end
1010
+ end
1011
+
1012
+ # sdk或webrtc的事件列表。
1013
+ class EventList < TencentCloud::Common::AbstractModel
1014
+ # @param Content: 数据内容
1015
+ # @type Content: Array
1016
+ # @param PeerId: 发送端的userId
1017
+ # @type PeerId: String
1018
+
1019
+ attr_accessor :Content, :PeerId
1020
+
1021
+ def initialize(content=nil, peerid=nil)
1022
+ @Content = content
1023
+ @PeerId = peerid
1024
+ end
1025
+
1026
+ def deserialize(params)
1027
+ unless params['Content'].nil?
1028
+ @Content = []
1029
+ params['Content'].each do |i|
1030
+ eventmessage_tmp = EventMessage.new
1031
+ eventmessage_tmp.deserialize(i)
1032
+ @Content << eventmessage_tmp
1033
+ end
1034
+ end
1035
+ @PeerId = params['PeerId']
1036
+ end
1037
+ end
1038
+
1039
+ # 事件信息,包括,事件时间戳,事件ID,
1040
+ class EventMessage < TencentCloud::Common::AbstractModel
1041
+ # @param Type: 视频流类型:
1042
+ # 0:与视频无关的事件;
1043
+ # 2:视频为大画面;
1044
+ # 3:视频为小画面;
1045
+ # 7:视频为旁路画面;
1046
+ # @type Type: Integer
1047
+ # @param Time: 事件上报的时间戳,unix时间(1589891188801ms)
1048
+ # @type Time: Integer
1049
+ # @param EventId: 事件Id:分为sdk的事件和webrtc的事件,详情见:附录/事件 ID 映射表:https://cloud.tencent.com/document/product/647/44916
1050
+ # @type EventId: Integer
1051
+ # @param ParamOne: 事件的第一个参数,如视频分辨率宽
1052
+ # @type ParamOne: Integer
1053
+ # @param ParamTwo: 事件的第二个参数,如视频分辨率高
1054
+ # @type ParamTwo: Integer
1055
+
1056
+ attr_accessor :Type, :Time, :EventId, :ParamOne, :ParamTwo
1057
+
1058
+ def initialize(type=nil, time=nil, eventid=nil, paramone=nil, paramtwo=nil)
1059
+ @Type = type
1060
+ @Time = time
1061
+ @EventId = eventid
1062
+ @ParamOne = paramone
1063
+ @ParamTwo = paramtwo
1064
+ end
1065
+
1066
+ def deserialize(params)
1067
+ @Type = params['Type']
1068
+ @Time = params['Time']
1069
+ @EventId = params['EventId']
1070
+ @ParamOne = params['ParamOne']
1071
+ @ParamTwo = params['ParamTwo']
1072
+ end
1073
+ end
1074
+
1075
+ # MCU混流布局参数
1076
+ class LayoutParams < TencentCloud::Common::AbstractModel
1077
+ # @param Template: 混流布局模板ID,0为悬浮模板(默认);1为九宫格模板;2为屏幕分享模板;3为画中画模板;4为自定义模板。
1078
+ # @type Template: Integer
1079
+ # @param MainVideoUserId: 屏幕分享模板、悬浮模板、画中画模板中有效,代表大画面对应的用户ID。
1080
+ # @type MainVideoUserId: String
1081
+ # @param MainVideoStreamType: 屏幕分享模板、悬浮模板、画中画模板中有效,代表大画面对应的流类型,0为摄像头,1为屏幕分享。左侧大画面为web用户时此值填0。
1082
+ # @type MainVideoStreamType: Integer
1083
+ # @param SmallVideoLayoutParams: 画中画模板中有效,代表小画面的布局参数。
1084
+ # @type SmallVideoLayoutParams: :class:`Tencentcloud::Trtc.v20190722.models.SmallVideoLayoutParams`
1085
+ # @param MainVideoRightAlign: 屏幕分享模板有效。设置为1时代表大画面居右,小画面居左布局。默认为0。
1086
+ # @type MainVideoRightAlign: Integer
1087
+ # @param MixVideoUids: 悬浮模板、九宫格、屏幕分享模板有效。设置此参数后,输出流混合此参数中包含用户的音视频,以及其他用户的纯音频。最多可设置16个用户。
1088
+ # @type MixVideoUids: Array
1089
+ # @param PresetLayoutConfig: 自定义模板中有效,指定用户视频在混合画面中的位置。
1090
+ # @type PresetLayoutConfig: Array
1091
+ # @param PlaceHolderMode: 自定义模板中有效,设置为1时代表启用占位图功能,0时代表不启用占位图功能,默认为0。启用占位图功能时,在预设位置的用户没有上行视频时可显示对应的占位图。
1092
+ # @type PlaceHolderMode: Integer
1093
+ # @param PureAudioHoldPlaceMode: 悬浮模板、九宫格、屏幕分享模板生效,用于控制纯音频上行是否占用画面布局位置。设置为0是代表后台默认处理方式,悬浮小画面占布局位置,九宫格画面占布局位置、屏幕分享小画面不占布局位置;设置为1时代表纯音频上行占布局位置;设置为2时代表纯音频上行不占布局位置。默认为0。
1094
+ # @type PureAudioHoldPlaceMode: Integer
1095
+ # @param WaterMarkParams: 水印参数。
1096
+ # @type WaterMarkParams: :class:`Tencentcloud::Trtc.v20190722.models.WaterMarkParams`
1097
+
1098
+ attr_accessor :Template, :MainVideoUserId, :MainVideoStreamType, :SmallVideoLayoutParams, :MainVideoRightAlign, :MixVideoUids, :PresetLayoutConfig, :PlaceHolderMode, :PureAudioHoldPlaceMode, :WaterMarkParams
1099
+
1100
+ def initialize(template=nil, mainvideouserid=nil, mainvideostreamtype=nil, smallvideolayoutparams=nil, mainvideorightalign=nil, mixvideouids=nil, presetlayoutconfig=nil, placeholdermode=nil, pureaudioholdplacemode=nil, watermarkparams=nil)
1101
+ @Template = template
1102
+ @MainVideoUserId = mainvideouserid
1103
+ @MainVideoStreamType = mainvideostreamtype
1104
+ @SmallVideoLayoutParams = smallvideolayoutparams
1105
+ @MainVideoRightAlign = mainvideorightalign
1106
+ @MixVideoUids = mixvideouids
1107
+ @PresetLayoutConfig = presetlayoutconfig
1108
+ @PlaceHolderMode = placeholdermode
1109
+ @PureAudioHoldPlaceMode = pureaudioholdplacemode
1110
+ @WaterMarkParams = watermarkparams
1111
+ end
1112
+
1113
+ def deserialize(params)
1114
+ @Template = params['Template']
1115
+ @MainVideoUserId = params['MainVideoUserId']
1116
+ @MainVideoStreamType = params['MainVideoStreamType']
1117
+ unless params['SmallVideoLayoutParams'].nil?
1118
+ @SmallVideoLayoutParams = SmallVideoLayoutParams.new
1119
+ @SmallVideoLayoutParams.deserialize(params['SmallVideoLayoutParams'])
1120
+ end
1121
+ @MainVideoRightAlign = params['MainVideoRightAlign']
1122
+ @MixVideoUids = params['MixVideoUids']
1123
+ unless params['PresetLayoutConfig'].nil?
1124
+ @PresetLayoutConfig = []
1125
+ params['PresetLayoutConfig'].each do |i|
1126
+ presetlayoutconfig_tmp = PresetLayoutConfig.new
1127
+ presetlayoutconfig_tmp.deserialize(i)
1128
+ @PresetLayoutConfig << presetlayoutconfig_tmp
1129
+ end
1130
+ end
1131
+ @PlaceHolderMode = params['PlaceHolderMode']
1132
+ @PureAudioHoldPlaceMode = params['PureAudioHoldPlaceMode']
1133
+ unless params['WaterMarkParams'].nil?
1134
+ @WaterMarkParams = WaterMarkParams.new
1135
+ @WaterMarkParams.deserialize(params['WaterMarkParams'])
1136
+ end
1137
+ end
1138
+ end
1139
+
1140
+ # ModifyPicture请求参数结构体
1141
+ class ModifyPictureRequest < TencentCloud::Common::AbstractModel
1142
+ # @param PictureId: 图片id
1143
+ # @type PictureId: Integer
1144
+ # @param SdkAppId: 应用id
1145
+ # @type SdkAppId: Integer
1146
+ # @param Height: 图片长度
1147
+ # @type Height: Integer
1148
+ # @param Width: 图片宽度
1149
+ # @type Width: Integer
1150
+ # @param XPosition: 显示位置x轴方向
1151
+ # @type XPosition: Integer
1152
+ # @param YPosition: 显示位置y轴方向
1153
+ # @type YPosition: Integer
1154
+
1155
+ attr_accessor :PictureId, :SdkAppId, :Height, :Width, :XPosition, :YPosition
1156
+
1157
+ def initialize(pictureid=nil, sdkappid=nil, height=nil, width=nil, xposition=nil, yposition=nil)
1158
+ @PictureId = pictureid
1159
+ @SdkAppId = sdkappid
1160
+ @Height = height
1161
+ @Width = width
1162
+ @XPosition = xposition
1163
+ @YPosition = yposition
1164
+ end
1165
+
1166
+ def deserialize(params)
1167
+ @PictureId = params['PictureId']
1168
+ @SdkAppId = params['SdkAppId']
1169
+ @Height = params['Height']
1170
+ @Width = params['Width']
1171
+ @XPosition = params['XPosition']
1172
+ @YPosition = params['YPosition']
1173
+ end
1174
+ end
1175
+
1176
+ # ModifyPicture返回参数结构体
1177
+ class ModifyPictureResponse < TencentCloud::Common::AbstractModel
1178
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1179
+ # @type RequestId: String
1180
+
1181
+ attr_accessor :RequestId
1182
+
1183
+ def initialize(requestid=nil)
1184
+ @RequestId = requestid
1185
+ end
1186
+
1187
+ def deserialize(params)
1188
+ @RequestId = params['RequestId']
1189
+ end
1190
+ end
1191
+
1192
+ # 旁路转码时长的查询结果
1193
+ class OneSdkAppIdTranscodeTimeUsagesInfo < TencentCloud::Common::AbstractModel
1194
+ # @param SdkAppIdTranscodeTimeUsages: 旁路转码时长查询结果数组
1195
+ # @type SdkAppIdTranscodeTimeUsages: Array
1196
+ # @param TotalNum: 查询记录数量
1197
+ # @type TotalNum: Integer
1198
+ # @param SdkAppId: 所查询的应用ID,可能值为:1-应用的应用ID,2-total,显示为total则表示查询的是所有应用的用量合计值。
1199
+ # @type SdkAppId: String
1200
+
1201
+ attr_accessor :SdkAppIdTranscodeTimeUsages, :TotalNum, :SdkAppId
1202
+
1203
+ def initialize(sdkappidtranscodetimeusages=nil, totalnum=nil, sdkappid=nil)
1204
+ @SdkAppIdTranscodeTimeUsages = sdkappidtranscodetimeusages
1205
+ @TotalNum = totalnum
1206
+ @SdkAppId = sdkappid
1207
+ end
1208
+
1209
+ def deserialize(params)
1210
+ unless params['SdkAppIdTranscodeTimeUsages'].nil?
1211
+ @SdkAppIdTranscodeTimeUsages = []
1212
+ params['SdkAppIdTranscodeTimeUsages'].each do |i|
1213
+ sdkappidtrtcmcutranscodetimeusage_tmp = SdkAppIdTrtcMcuTranscodeTimeUsage.new
1214
+ sdkappidtrtcmcutranscodetimeusage_tmp.deserialize(i)
1215
+ @SdkAppIdTranscodeTimeUsages << sdkappidtrtcmcutranscodetimeusage_tmp
1216
+ end
1217
+ end
1218
+ @TotalNum = params['TotalNum']
1219
+ @SdkAppId = params['SdkAppId']
1220
+ end
1221
+ end
1222
+
1223
+ # 单个SdkAppId的音视频互动计费时长用量数组和数组长度。
1224
+ class OneSdkAppIdUsagesInfo < TencentCloud::Common::AbstractModel
1225
+ # @param TotalNum: 该 SdkAppId 对应的用量记录数长度
1226
+ # @type TotalNum: Integer
1227
+ # @param SdkAppIdTrtcTimeUsages: 用量数组
1228
+ # @type SdkAppIdTrtcTimeUsages: Array
1229
+ # @param SdkAppId: 应用ID
1230
+ # @type SdkAppId: String
1231
+
1232
+ attr_accessor :TotalNum, :SdkAppIdTrtcTimeUsages, :SdkAppId
1233
+
1234
+ def initialize(totalnum=nil, sdkappidtrtctimeusages=nil, sdkappid=nil)
1235
+ @TotalNum = totalnum
1236
+ @SdkAppIdTrtcTimeUsages = sdkappidtrtctimeusages
1237
+ @SdkAppId = sdkappid
1238
+ end
1239
+
1240
+ def deserialize(params)
1241
+ @TotalNum = params['TotalNum']
1242
+ unless params['SdkAppIdTrtcTimeUsages'].nil?
1243
+ @SdkAppIdTrtcTimeUsages = []
1244
+ params['SdkAppIdTrtcTimeUsages'].each do |i|
1245
+ sdkappidtrtcusage_tmp = SdkAppIdTrtcUsage.new
1246
+ sdkappidtrtcusage_tmp.deserialize(i)
1247
+ @SdkAppIdTrtcTimeUsages << sdkappidtrtcusage_tmp
1248
+ end
1249
+ end
1250
+ @SdkAppId = params['SdkAppId']
1251
+ end
1252
+ end
1253
+
1254
+ # MCU混流的输出参数
1255
+ class OutputParams < TencentCloud::Common::AbstractModel
1256
+ # @param StreamId: 直播流 ID,由用户自定义设置,该流 ID 不能与用户旁路的流 ID 相同。
1257
+ # @type StreamId: String
1258
+ # @param PureAudioStream: 取值范围[0,1], 填0:直播流为音视频(默认); 填1:直播流为纯音频
1259
+ # @type PureAudioStream: Integer
1260
+ # @param RecordId: 自定义录制文件名称前缀。请先在实时音视频控制台开通录制功能,https://cloud.tencent.com/document/product/647/50768
1261
+ # @type RecordId: String
1262
+ # @param RecordAudioOnly: 取值范围[0,1],填0无实际含义; 填1:指定录制文件格式为mp3。此参数不建议使用,建议在实时音视频控制台配置纯音频录制模板。
1263
+ # @type RecordAudioOnly: Integer
1264
+
1265
+ attr_accessor :StreamId, :PureAudioStream, :RecordId, :RecordAudioOnly
1266
+
1267
+ def initialize(streamid=nil, pureaudiostream=nil, recordid=nil, recordaudioonly=nil)
1268
+ @StreamId = streamid
1269
+ @PureAudioStream = pureaudiostream
1270
+ @RecordId = recordid
1271
+ @RecordAudioOnly = recordaudioonly
1272
+ end
1273
+
1274
+ def deserialize(params)
1275
+ @StreamId = params['StreamId']
1276
+ @PureAudioStream = params['PureAudioStream']
1277
+ @RecordId = params['RecordId']
1278
+ @RecordAudioOnly = params['RecordAudioOnly']
1279
+ end
1280
+ end
1281
+
1282
+ # 图片列表信息
1283
+ class PictureInfo < TencentCloud::Common::AbstractModel
1284
+ # @param Height: 图片长度
1285
+ # @type Height: Integer
1286
+ # @param Width: 图片宽度
1287
+ # @type Width: Integer
1288
+ # @param XPosition: 显示位置x轴方向
1289
+ # @type XPosition: Integer
1290
+ # @param YPosition: 显示位置y轴方向
1291
+ # @type YPosition: Integer
1292
+ # @param SdkAppId: 应用id
1293
+ # @type SdkAppId: Integer
1294
+ # @param PictureId: 图片id
1295
+ # @type PictureId: Integer
1296
+
1297
+ attr_accessor :Height, :Width, :XPosition, :YPosition, :SdkAppId, :PictureId
1298
+
1299
+ def initialize(height=nil, width=nil, xposition=nil, yposition=nil, sdkappid=nil, pictureid=nil)
1300
+ @Height = height
1301
+ @Width = width
1302
+ @XPosition = xposition
1303
+ @YPosition = yposition
1304
+ @SdkAppId = sdkappid
1305
+ @PictureId = pictureid
1306
+ end
1307
+
1308
+ def deserialize(params)
1309
+ @Height = params['Height']
1310
+ @Width = params['Width']
1311
+ @XPosition = params['XPosition']
1312
+ @YPosition = params['YPosition']
1313
+ @SdkAppId = params['SdkAppId']
1314
+ @PictureId = params['PictureId']
1315
+ end
1316
+ end
1317
+
1318
+ # 自定义模板中有效,指定用户视频在混合画面中的位置。
1319
+ class PresetLayoutConfig < TencentCloud::Common::AbstractModel
1320
+ # @param UserId: 指定显示在该画面上的用户ID。如果不指定用户ID,会按照用户加入房间的顺序自动匹配PresetLayoutConfig中的画面设置。
1321
+ # @type UserId: String
1322
+ # @param StreamType: 当该画面指定用户时,代表用户的流类型。0为摄像头,1为屏幕分享。小画面为web用户时此值填0。
1323
+ # @type StreamType: Integer
1324
+ # @param ImageWidth: 该画面在输出时的宽度,单位为像素值,不填默认为0。
1325
+ # @type ImageWidth: Integer
1326
+ # @param ImageHeight: 该画面在输出时的高度,单位为像素值,不填默认为0。
1327
+ # @type ImageHeight: Integer
1328
+ # @param LocationX: 该画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。
1329
+ # @type LocationX: Integer
1330
+ # @param LocationY: 该画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。
1331
+ # @type LocationY: Integer
1332
+ # @param ZOrder: 该画面在输出时的层级,不填默认为0。
1333
+ # @type ZOrder: Integer
1334
+ # @param RenderMode: 该画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底。不填默认为0。
1335
+ # @type RenderMode: Integer
1336
+ # @param MixInputType: 该当前位置用户混入的流类型:0为混入音视频,1为只混入视频,2为只混入音频。默认为0,建议配合指定用户ID使用。
1337
+ # @type MixInputType: Integer
1338
+ # @param PlaceImageId: 占位图ID。启用占位图功能时,在当前位置的用户没有上行视频时显示占位图。占位图在实时音视频控制台上传并生成,https://cloud.tencent.com/document/product/647/50769
1339
+ # @type PlaceImageId: Integer
1340
+
1341
+ attr_accessor :UserId, :StreamType, :ImageWidth, :ImageHeight, :LocationX, :LocationY, :ZOrder, :RenderMode, :MixInputType, :PlaceImageId
1342
+
1343
+ def initialize(userid=nil, streamtype=nil, imagewidth=nil, imageheight=nil, locationx=nil, locationy=nil, zorder=nil, rendermode=nil, mixinputtype=nil, placeimageid=nil)
1344
+ @UserId = userid
1345
+ @StreamType = streamtype
1346
+ @ImageWidth = imagewidth
1347
+ @ImageHeight = imageheight
1348
+ @LocationX = locationx
1349
+ @LocationY = locationy
1350
+ @ZOrder = zorder
1351
+ @RenderMode = rendermode
1352
+ @MixInputType = mixinputtype
1353
+ @PlaceImageId = placeimageid
1354
+ end
1355
+
1356
+ def deserialize(params)
1357
+ @UserId = params['UserId']
1358
+ @StreamType = params['StreamType']
1359
+ @ImageWidth = params['ImageWidth']
1360
+ @ImageHeight = params['ImageHeight']
1361
+ @LocationX = params['LocationX']
1362
+ @LocationY = params['LocationY']
1363
+ @ZOrder = params['ZOrder']
1364
+ @RenderMode = params['RenderMode']
1365
+ @MixInputType = params['MixInputType']
1366
+ @PlaceImageId = params['PlaceImageId']
1367
+ end
1368
+ end
1369
+
1370
+ # 第三方CDN转推参数
1371
+ class PublishCdnParams < TencentCloud::Common::AbstractModel
1372
+ # @param BizId: 腾讯云直播BizId。
1373
+ # @type BizId: Integer
1374
+ # @param PublishCdnUrls: 第三方CDN转推的目的地址,同时只支持转推一个第三方CDN地址。
1375
+ # @type PublishCdnUrls: Array
1376
+
1377
+ attr_accessor :BizId, :PublishCdnUrls
1378
+
1379
+ def initialize(bizid=nil, publishcdnurls=nil)
1380
+ @BizId = bizid
1381
+ @PublishCdnUrls = publishcdnurls
1382
+ end
1383
+
1384
+ def deserialize(params)
1385
+ @BizId = params['BizId']
1386
+ @PublishCdnUrls = params['PublishCdnUrls']
1387
+ end
1388
+ end
1389
+
1390
+ # Es返回的质量数据
1391
+ class QualityData < TencentCloud::Common::AbstractModel
1392
+ # @param Content: 数据内容
1393
+ # @type Content: Array
1394
+ # @param UserId: 用户ID
1395
+ # @type UserId: String
1396
+ # @param PeerId: 对端Id,为空时表示上行数据
1397
+ # 注意:此字段可能返回 null,表示取不到有效值。
1398
+ # @type PeerId: String
1399
+ # @param DataType: 数据类型
1400
+ # @type DataType: String
1401
+
1402
+ attr_accessor :Content, :UserId, :PeerId, :DataType
1403
+
1404
+ def initialize(content=nil, userid=nil, peerid=nil, datatype=nil)
1405
+ @Content = content
1406
+ @UserId = userid
1407
+ @PeerId = peerid
1408
+ @DataType = datatype
1409
+ end
1410
+
1411
+ def deserialize(params)
1412
+ unless params['Content'].nil?
1413
+ @Content = []
1414
+ params['Content'].each do |i|
1415
+ timevalue_tmp = TimeValue.new
1416
+ timevalue_tmp.deserialize(i)
1417
+ @Content << timevalue_tmp
1418
+ end
1419
+ end
1420
+ @UserId = params['UserId']
1421
+ @PeerId = params['PeerId']
1422
+ @DataType = params['DataType']
1423
+ end
1424
+ end
1425
+
1426
+ # 录制的使用信息。
1427
+ class RecordUsage < TencentCloud::Common::AbstractModel
1428
+ # @param TimeKey: 本组数据对应的时间点,格式如:2020-09-07或2020-09-07 00:05:05。
1429
+ # @type TimeKey: String
1430
+ # @param Class1VideoTime: 视频时长-标清SD,单位:秒。
1431
+ # @type Class1VideoTime: Integer
1432
+ # @param Class2VideoTime: 视频时长-高清HD,单位:秒。
1433
+ # @type Class2VideoTime: Integer
1434
+ # @param Class3VideoTime: 视频时长-超清HD,单位:秒。
1435
+ # @type Class3VideoTime: Integer
1436
+ # @param AudioTime: 语音时长,单位:秒。
1437
+ # @type AudioTime: Integer
1438
+
1439
+ attr_accessor :TimeKey, :Class1VideoTime, :Class2VideoTime, :Class3VideoTime, :AudioTime
1440
+
1441
+ def initialize(timekey=nil, class1videotime=nil, class2videotime=nil, class3videotime=nil, audiotime=nil)
1442
+ @TimeKey = timekey
1443
+ @Class1VideoTime = class1videotime
1444
+ @Class2VideoTime = class2videotime
1445
+ @Class3VideoTime = class3videotime
1446
+ @AudioTime = audiotime
1447
+ end
1448
+
1449
+ def deserialize(params)
1450
+ @TimeKey = params['TimeKey']
1451
+ @Class1VideoTime = params['Class1VideoTime']
1452
+ @Class2VideoTime = params['Class2VideoTime']
1453
+ @Class3VideoTime = params['Class3VideoTime']
1454
+ @AudioTime = params['AudioTime']
1455
+ end
1456
+ end
1457
+
1458
+ # RemoveUserByStrRoomId请求参数结构体
1459
+ class RemoveUserByStrRoomIdRequest < TencentCloud::Common::AbstractModel
1460
+ # @param SdkAppId: TRTC的SDKAppId。
1461
+ # @type SdkAppId: Integer
1462
+ # @param RoomId: 房间号。
1463
+ # @type RoomId: String
1464
+ # @param UserIds: 要移出的用户列表,最多10个。
1465
+ # @type UserIds: Array
1466
+
1467
+ attr_accessor :SdkAppId, :RoomId, :UserIds
1468
+
1469
+ def initialize(sdkappid=nil, roomid=nil, userids=nil)
1470
+ @SdkAppId = sdkappid
1471
+ @RoomId = roomid
1472
+ @UserIds = userids
1473
+ end
1474
+
1475
+ def deserialize(params)
1476
+ @SdkAppId = params['SdkAppId']
1477
+ @RoomId = params['RoomId']
1478
+ @UserIds = params['UserIds']
1479
+ end
1480
+ end
1481
+
1482
+ # RemoveUserByStrRoomId返回参数结构体
1483
+ class RemoveUserByStrRoomIdResponse < TencentCloud::Common::AbstractModel
1484
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1485
+ # @type RequestId: String
1486
+
1487
+ attr_accessor :RequestId
1488
+
1489
+ def initialize(requestid=nil)
1490
+ @RequestId = requestid
1491
+ end
1492
+
1493
+ def deserialize(params)
1494
+ @RequestId = params['RequestId']
1495
+ end
1496
+ end
1497
+
1498
+ # RemoveUser请求参数结构体
1499
+ class RemoveUserRequest < TencentCloud::Common::AbstractModel
1500
+ # @param SdkAppId: TRTC的SDKAppId。
1501
+ # @type SdkAppId: Integer
1502
+ # @param RoomId: 房间号。
1503
+ # @type RoomId: Integer
1504
+ # @param UserIds: 要移出的用户列表,最多10个。
1505
+ # @type UserIds: Array
1506
+
1507
+ attr_accessor :SdkAppId, :RoomId, :UserIds
1508
+
1509
+ def initialize(sdkappid=nil, roomid=nil, userids=nil)
1510
+ @SdkAppId = sdkappid
1511
+ @RoomId = roomid
1512
+ @UserIds = userids
1513
+ end
1514
+
1515
+ def deserialize(params)
1516
+ @SdkAppId = params['SdkAppId']
1517
+ @RoomId = params['RoomId']
1518
+ @UserIds = params['UserIds']
1519
+ end
1520
+ end
1521
+
1522
+ # RemoveUser返回参数结构体
1523
+ class RemoveUserResponse < TencentCloud::Common::AbstractModel
1524
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1525
+ # @type RequestId: String
1526
+
1527
+ attr_accessor :RequestId
1528
+
1529
+ def initialize(requestid=nil)
1530
+ @RequestId = requestid
1531
+ end
1532
+
1533
+ def deserialize(params)
1534
+ @RequestId = params['RequestId']
1535
+ end
1536
+ end
1537
+
1538
+ # 房间信息列表
1539
+ class RoomState < TencentCloud::Common::AbstractModel
1540
+ # @param CommId: 通话ID(唯一标识一次通话)
1541
+ # @type CommId: String
1542
+ # @param RoomString: 房间号
1543
+ # @type RoomString: String
1544
+ # @param CreateTime: 房间创建时间
1545
+ # @type CreateTime: Integer
1546
+ # @param DestroyTime: 房间销毁时间
1547
+ # @type DestroyTime: Integer
1548
+ # @param IsFinished: 房间是否已经结束
1549
+ # @type IsFinished: Boolean
1550
+ # @param UserId: 房间创建者Id
1551
+ # @type UserId: String
1552
+
1553
+ attr_accessor :CommId, :RoomString, :CreateTime, :DestroyTime, :IsFinished, :UserId
1554
+
1555
+ def initialize(commid=nil, roomstring=nil, createtime=nil, destroytime=nil, isfinished=nil, userid=nil)
1556
+ @CommId = commid
1557
+ @RoomString = roomstring
1558
+ @CreateTime = createtime
1559
+ @DestroyTime = destroytime
1560
+ @IsFinished = isfinished
1561
+ @UserId = userid
1562
+ end
1563
+
1564
+ def deserialize(params)
1565
+ @CommId = params['CommId']
1566
+ @RoomString = params['RoomString']
1567
+ @CreateTime = params['CreateTime']
1568
+ @DestroyTime = params['DestroyTime']
1569
+ @IsFinished = params['IsFinished']
1570
+ @UserId = params['UserId']
1571
+ end
1572
+ end
1573
+
1574
+ # 历史规模信息
1575
+ class ScaleInfomation < TencentCloud::Common::AbstractModel
1576
+ # @param Time: 每天开始的时间
1577
+ # @type Time: Integer
1578
+ # @param UserNumber: 房间人数,用户重复进入同一个房间为1次
1579
+ # 注意:此字段可能返回 null,表示取不到有效值。
1580
+ # @type UserNumber: Integer
1581
+ # @param UserCount: 房间人次,用户每次进入房间为一次
1582
+ # 注意:此字段可能返回 null,表示取不到有效值。
1583
+ # @type UserCount: Integer
1584
+ # @param RoomNumbers: sdkappid下一天内的房间数
1585
+ # 注意:此字段可能返回 null,表示取不到有效值。
1586
+ # @type RoomNumbers: Integer
1587
+
1588
+ attr_accessor :Time, :UserNumber, :UserCount, :RoomNumbers
1589
+
1590
+ def initialize(time=nil, usernumber=nil, usercount=nil, roomnumbers=nil)
1591
+ @Time = time
1592
+ @UserNumber = usernumber
1593
+ @UserCount = usercount
1594
+ @RoomNumbers = roomnumbers
1595
+ end
1596
+
1597
+ def deserialize(params)
1598
+ @Time = params['Time']
1599
+ @UserNumber = params['UserNumber']
1600
+ @UserCount = params['UserCount']
1601
+ @RoomNumbers = params['RoomNumbers']
1602
+ end
1603
+ end
1604
+
1605
+ # SdkAppId级别录制时长数据。
1606
+ class SdkAppIdRecordUsage < TencentCloud::Common::AbstractModel
1607
+ # @param SdkAppId: SdkAppId的值。
1608
+ # @type SdkAppId: String
1609
+ # @param Usages: 统计的时间点数据。
1610
+ # @type Usages: Array
1611
+
1612
+ attr_accessor :SdkAppId, :Usages
1613
+
1614
+ def initialize(sdkappid=nil, usages=nil)
1615
+ @SdkAppId = sdkappid
1616
+ @Usages = usages
1617
+ end
1618
+
1619
+ def deserialize(params)
1620
+ @SdkAppId = params['SdkAppId']
1621
+ unless params['Usages'].nil?
1622
+ @Usages = []
1623
+ params['Usages'].each do |i|
1624
+ recordusage_tmp = RecordUsage.new
1625
+ recordusage_tmp.deserialize(i)
1626
+ @Usages << recordusage_tmp
1627
+ end
1628
+ end
1629
+ end
1630
+ end
1631
+
1632
+ # 查询旁路转码计费时长。
1633
+ # 查询时间小于等于1天时,返回每5分钟粒度的数据;查询时间大于1天时,返回按天汇总的数据。
1634
+ class SdkAppIdTrtcMcuTranscodeTimeUsage < TencentCloud::Common::AbstractModel
1635
+ # @param TimeKey: 本组数据对应的时间点,格式如:2020-09-07或2020-09-07 00:05:05。
1636
+ # @type TimeKey: String
1637
+ # @param AudioTime: 语音时长,单位:秒。
1638
+ # @type AudioTime: Integer
1639
+ # @param VideoTimeSd: 视频时长-标清SD,单位:秒。
1640
+ # @type VideoTimeSd: Integer
1641
+ # @param VideoTimeHd: 视频时长-高清HD,单位:秒。
1642
+ # @type VideoTimeHd: Integer
1643
+ # @param VideoTimeFhd: 视频时长-全高清FHD,单位:秒。
1644
+ # @type VideoTimeFhd: Integer
1645
+
1646
+ attr_accessor :TimeKey, :AudioTime, :VideoTimeSd, :VideoTimeHd, :VideoTimeFhd
1647
+
1648
+ def initialize(timekey=nil, audiotime=nil, videotimesd=nil, videotimehd=nil, videotimefhd=nil)
1649
+ @TimeKey = timekey
1650
+ @AudioTime = audiotime
1651
+ @VideoTimeSd = videotimesd
1652
+ @VideoTimeHd = videotimehd
1653
+ @VideoTimeFhd = videotimefhd
1654
+ end
1655
+
1656
+ def deserialize(params)
1657
+ @TimeKey = params['TimeKey']
1658
+ @AudioTime = params['AudioTime']
1659
+ @VideoTimeSd = params['VideoTimeSd']
1660
+ @VideoTimeHd = params['VideoTimeHd']
1661
+ @VideoTimeFhd = params['VideoTimeFhd']
1662
+ end
1663
+ end
1664
+
1665
+ # 查询音视频互动时长的输出数据。
1666
+ # 查询时间小于等于1天时,返回每5分钟粒度的数据;查询时间大于1天时,返回按天汇总的数据。
1667
+ class SdkAppIdTrtcUsage < TencentCloud::Common::AbstractModel
1668
+ # @param TimeKey: 本组数据对应的时间点,格式如:2020-09-07或2020-09-07 00:05:05。
1669
+ # @type TimeKey: String
1670
+ # @param AudioTime: 语音时长,单位:秒。
1671
+ # @type AudioTime: Integer
1672
+ # @param AudioVideoTime: 音视频时长,单位:秒。
1673
+ # 2019年10月11日前注册,没有变更为 [新计费模式](https://cloud.tencent.com/document/product/647/17157) 的用户才会返回此值。
1674
+ # @type AudioVideoTime: Integer
1675
+ # @param VideoTimeSd: 视频时长-标清SD,单位:秒。
1676
+ # @type VideoTimeSd: Integer
1677
+ # @param VideoTimeHd: 视频时长-高清HD,单位:秒。
1678
+ # @type VideoTimeHd: Integer
1679
+ # @param VideoTimeHdp: 视频时长-超清HD,单位:秒。
1680
+ # @type VideoTimeHdp: Integer
1681
+
1682
+ attr_accessor :TimeKey, :AudioTime, :AudioVideoTime, :VideoTimeSd, :VideoTimeHd, :VideoTimeHdp
1683
+
1684
+ def initialize(timekey=nil, audiotime=nil, audiovideotime=nil, videotimesd=nil, videotimehd=nil, videotimehdp=nil)
1685
+ @TimeKey = timekey
1686
+ @AudioTime = audiotime
1687
+ @AudioVideoTime = audiovideotime
1688
+ @VideoTimeSd = videotimesd
1689
+ @VideoTimeHd = videotimehd
1690
+ @VideoTimeHdp = videotimehdp
1691
+ end
1692
+
1693
+ def deserialize(params)
1694
+ @TimeKey = params['TimeKey']
1695
+ @AudioTime = params['AudioTime']
1696
+ @AudioVideoTime = params['AudioVideoTime']
1697
+ @VideoTimeSd = params['VideoTimeSd']
1698
+ @VideoTimeHd = params['VideoTimeHd']
1699
+ @VideoTimeHdp = params['VideoTimeHdp']
1700
+ end
1701
+ end
1702
+
1703
+ # 画中画模板中有效,代表小画面的布局参数
1704
+ class SmallVideoLayoutParams < TencentCloud::Common::AbstractModel
1705
+ # @param UserId: 代表小画面对应的用户ID。
1706
+ # @type UserId: String
1707
+ # @param StreamType: 代表小画面对应的流类型,0为摄像头,1为屏幕分享。小画面为web用户时此值填0。
1708
+ # @type StreamType: Integer
1709
+ # @param ImageWidth: 小画面在输出时的宽度,单位为像素值,不填默认为0。
1710
+ # @type ImageWidth: Integer
1711
+ # @param ImageHeight: 小画面在输出时的高度,单位为像素值,不填默认为0。
1712
+ # @type ImageHeight: Integer
1713
+ # @param LocationX: 小画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。
1714
+ # @type LocationX: Integer
1715
+ # @param LocationY: 小画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。
1716
+ # @type LocationY: Integer
1717
+
1718
+ attr_accessor :UserId, :StreamType, :ImageWidth, :ImageHeight, :LocationX, :LocationY
1719
+
1720
+ def initialize(userid=nil, streamtype=nil, imagewidth=nil, imageheight=nil, locationx=nil, locationy=nil)
1721
+ @UserId = userid
1722
+ @StreamType = streamtype
1723
+ @ImageWidth = imagewidth
1724
+ @ImageHeight = imageheight
1725
+ @LocationX = locationx
1726
+ @LocationY = locationy
1727
+ end
1728
+
1729
+ def deserialize(params)
1730
+ @UserId = params['UserId']
1731
+ @StreamType = params['StreamType']
1732
+ @ImageWidth = params['ImageWidth']
1733
+ @ImageHeight = params['ImageHeight']
1734
+ @LocationX = params['LocationX']
1735
+ @LocationY = params['LocationY']
1736
+ end
1737
+ end
1738
+
1739
+ # StartMCUMixTranscodeByStrRoomId请求参数结构体
1740
+ class StartMCUMixTranscodeByStrRoomIdRequest < TencentCloud::Common::AbstractModel
1741
+ # @param SdkAppId: TRTC的SDKAppId。
1742
+ # @type SdkAppId: Integer
1743
+ # @param StrRoomId: 字符串房间号。
1744
+ # @type StrRoomId: String
1745
+ # @param OutputParams: 混流输出控制参数。
1746
+ # @type OutputParams: :class:`Tencentcloud::Trtc.v20190722.models.OutputParams`
1747
+ # @param EncodeParams: 混流输出编码参数。
1748
+ # @type EncodeParams: :class:`Tencentcloud::Trtc.v20190722.models.EncodeParams`
1749
+ # @param LayoutParams: 混流输出布局参数。
1750
+ # @type LayoutParams: :class:`Tencentcloud::Trtc.v20190722.models.LayoutParams`
1751
+ # @param PublishCdnParams: 第三方CDN转推参数。
1752
+ # @type PublishCdnParams: :class:`Tencentcloud::Trtc.v20190722.models.PublishCdnParams`
1753
+
1754
+ attr_accessor :SdkAppId, :StrRoomId, :OutputParams, :EncodeParams, :LayoutParams, :PublishCdnParams
1755
+
1756
+ def initialize(sdkappid=nil, strroomid=nil, outputparams=nil, encodeparams=nil, layoutparams=nil, publishcdnparams=nil)
1757
+ @SdkAppId = sdkappid
1758
+ @StrRoomId = strroomid
1759
+ @OutputParams = outputparams
1760
+ @EncodeParams = encodeparams
1761
+ @LayoutParams = layoutparams
1762
+ @PublishCdnParams = publishcdnparams
1763
+ end
1764
+
1765
+ def deserialize(params)
1766
+ @SdkAppId = params['SdkAppId']
1767
+ @StrRoomId = params['StrRoomId']
1768
+ unless params['OutputParams'].nil?
1769
+ @OutputParams = OutputParams.new
1770
+ @OutputParams.deserialize(params['OutputParams'])
1771
+ end
1772
+ unless params['EncodeParams'].nil?
1773
+ @EncodeParams = EncodeParams.new
1774
+ @EncodeParams.deserialize(params['EncodeParams'])
1775
+ end
1776
+ unless params['LayoutParams'].nil?
1777
+ @LayoutParams = LayoutParams.new
1778
+ @LayoutParams.deserialize(params['LayoutParams'])
1779
+ end
1780
+ unless params['PublishCdnParams'].nil?
1781
+ @PublishCdnParams = PublishCdnParams.new
1782
+ @PublishCdnParams.deserialize(params['PublishCdnParams'])
1783
+ end
1784
+ end
1785
+ end
1786
+
1787
+ # StartMCUMixTranscodeByStrRoomId返回参数结构体
1788
+ class StartMCUMixTranscodeByStrRoomIdResponse < TencentCloud::Common::AbstractModel
1789
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1790
+ # @type RequestId: String
1791
+
1792
+ attr_accessor :RequestId
1793
+
1794
+ def initialize(requestid=nil)
1795
+ @RequestId = requestid
1796
+ end
1797
+
1798
+ def deserialize(params)
1799
+ @RequestId = params['RequestId']
1800
+ end
1801
+ end
1802
+
1803
+ # StartMCUMixTranscode请求参数结构体
1804
+ class StartMCUMixTranscodeRequest < TencentCloud::Common::AbstractModel
1805
+ # @param SdkAppId: TRTC的SDKAppId。
1806
+ # @type SdkAppId: Integer
1807
+ # @param RoomId: 房间号。
1808
+ # @type RoomId: Integer
1809
+ # @param OutputParams: 混流输出控制参数。
1810
+ # @type OutputParams: :class:`Tencentcloud::Trtc.v20190722.models.OutputParams`
1811
+ # @param EncodeParams: 混流输出编码参数。
1812
+ # @type EncodeParams: :class:`Tencentcloud::Trtc.v20190722.models.EncodeParams`
1813
+ # @param LayoutParams: 混流输出布局参数。
1814
+ # @type LayoutParams: :class:`Tencentcloud::Trtc.v20190722.models.LayoutParams`
1815
+ # @param PublishCdnParams: 第三方CDN转推参数。
1816
+ # @type PublishCdnParams: :class:`Tencentcloud::Trtc.v20190722.models.PublishCdnParams`
1817
+
1818
+ attr_accessor :SdkAppId, :RoomId, :OutputParams, :EncodeParams, :LayoutParams, :PublishCdnParams
1819
+
1820
+ def initialize(sdkappid=nil, roomid=nil, outputparams=nil, encodeparams=nil, layoutparams=nil, publishcdnparams=nil)
1821
+ @SdkAppId = sdkappid
1822
+ @RoomId = roomid
1823
+ @OutputParams = outputparams
1824
+ @EncodeParams = encodeparams
1825
+ @LayoutParams = layoutparams
1826
+ @PublishCdnParams = publishcdnparams
1827
+ end
1828
+
1829
+ def deserialize(params)
1830
+ @SdkAppId = params['SdkAppId']
1831
+ @RoomId = params['RoomId']
1832
+ unless params['OutputParams'].nil?
1833
+ @OutputParams = OutputParams.new
1834
+ @OutputParams.deserialize(params['OutputParams'])
1835
+ end
1836
+ unless params['EncodeParams'].nil?
1837
+ @EncodeParams = EncodeParams.new
1838
+ @EncodeParams.deserialize(params['EncodeParams'])
1839
+ end
1840
+ unless params['LayoutParams'].nil?
1841
+ @LayoutParams = LayoutParams.new
1842
+ @LayoutParams.deserialize(params['LayoutParams'])
1843
+ end
1844
+ unless params['PublishCdnParams'].nil?
1845
+ @PublishCdnParams = PublishCdnParams.new
1846
+ @PublishCdnParams.deserialize(params['PublishCdnParams'])
1847
+ end
1848
+ end
1849
+ end
1850
+
1851
+ # StartMCUMixTranscode返回参数结构体
1852
+ class StartMCUMixTranscodeResponse < TencentCloud::Common::AbstractModel
1853
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1854
+ # @type RequestId: String
1855
+
1856
+ attr_accessor :RequestId
1857
+
1858
+ def initialize(requestid=nil)
1859
+ @RequestId = requestid
1860
+ end
1861
+
1862
+ def deserialize(params)
1863
+ @RequestId = params['RequestId']
1864
+ end
1865
+ end
1866
+
1867
+ # StopMCUMixTranscodeByStrRoomId请求参数结构体
1868
+ class StopMCUMixTranscodeByStrRoomIdRequest < TencentCloud::Common::AbstractModel
1869
+ # @param SdkAppId: TRTC的SDKAppId。
1870
+ # @type SdkAppId: Integer
1871
+ # @param StrRoomId: 字符串房间号。
1872
+ # @type StrRoomId: String
1873
+
1874
+ attr_accessor :SdkAppId, :StrRoomId
1875
+
1876
+ def initialize(sdkappid=nil, strroomid=nil)
1877
+ @SdkAppId = sdkappid
1878
+ @StrRoomId = strroomid
1879
+ end
1880
+
1881
+ def deserialize(params)
1882
+ @SdkAppId = params['SdkAppId']
1883
+ @StrRoomId = params['StrRoomId']
1884
+ end
1885
+ end
1886
+
1887
+ # StopMCUMixTranscodeByStrRoomId返回参数结构体
1888
+ class StopMCUMixTranscodeByStrRoomIdResponse < TencentCloud::Common::AbstractModel
1889
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1890
+ # @type RequestId: String
1891
+
1892
+ attr_accessor :RequestId
1893
+
1894
+ def initialize(requestid=nil)
1895
+ @RequestId = requestid
1896
+ end
1897
+
1898
+ def deserialize(params)
1899
+ @RequestId = params['RequestId']
1900
+ end
1901
+ end
1902
+
1903
+ # StopMCUMixTranscode请求参数结构体
1904
+ class StopMCUMixTranscodeRequest < TencentCloud::Common::AbstractModel
1905
+ # @param SdkAppId: TRTC的SDKAppId。
1906
+ # @type SdkAppId: Integer
1907
+ # @param RoomId: 房间号。
1908
+ # @type RoomId: Integer
1909
+
1910
+ attr_accessor :SdkAppId, :RoomId
1911
+
1912
+ def initialize(sdkappid=nil, roomid=nil)
1913
+ @SdkAppId = sdkappid
1914
+ @RoomId = roomid
1915
+ end
1916
+
1917
+ def deserialize(params)
1918
+ @SdkAppId = params['SdkAppId']
1919
+ @RoomId = params['RoomId']
1920
+ end
1921
+ end
1922
+
1923
+ # StopMCUMixTranscode返回参数结构体
1924
+ class StopMCUMixTranscodeResponse < TencentCloud::Common::AbstractModel
1925
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1926
+ # @type RequestId: String
1927
+
1928
+ attr_accessor :RequestId
1929
+
1930
+ def initialize(requestid=nil)
1931
+ @RequestId = requestid
1932
+ end
1933
+
1934
+ def deserialize(params)
1935
+ @RequestId = params['RequestId']
1936
+ end
1937
+ end
1938
+
1939
+ # 返回的质量数据,时间:值
1940
+ class TimeValue < TencentCloud::Common::AbstractModel
1941
+ # @param Time: 时间,unix时间戳(1590065877s)
1942
+ # @type Time: Integer
1943
+ # @param Value: 当前时间返回参数取值,如(bigvCapFps在1590065877取值为0,则Value:0 )
1944
+ # @type Value: Float
1945
+
1946
+ attr_accessor :Time, :Value
1947
+
1948
+ def initialize(time=nil, value=nil)
1949
+ @Time = time
1950
+ @Value = value
1951
+ end
1952
+
1953
+ def deserialize(params)
1954
+ @Time = params['Time']
1955
+ @Value = params['Value']
1956
+ end
1957
+ end
1958
+
1959
+ # 用户信息,包括用户进房时间,退房时间等
1960
+ class UserInformation < TencentCloud::Common::AbstractModel
1961
+ # @param RoomStr: 房间号
1962
+ # @type RoomStr: String
1963
+ # @param UserId: 用户Id
1964
+ # @type UserId: String
1965
+ # @param JoinTs: 用户进房时间
1966
+ # @type JoinTs: Integer
1967
+ # @param LeaveTs: 用户退房时间,用户没有退房则返回当前时间
1968
+ # @type LeaveTs: Integer
1969
+ # @param DeviceType: 终端类型
1970
+ # @type DeviceType: String
1971
+ # @param SdkVersion: Sdk版本号
1972
+ # @type SdkVersion: String
1973
+ # @param ClientIp: 客户端IP地址
1974
+ # @type ClientIp: String
1975
+ # @param Finished: 判断用户是否已经离开房间
1976
+ # @type Finished: Boolean
1977
+
1978
+ attr_accessor :RoomStr, :UserId, :JoinTs, :LeaveTs, :DeviceType, :SdkVersion, :ClientIp, :Finished
1979
+
1980
+ def initialize(roomstr=nil, userid=nil, joints=nil, leavets=nil, devicetype=nil, sdkversion=nil, clientip=nil, finished=nil)
1981
+ @RoomStr = roomstr
1982
+ @UserId = userid
1983
+ @JoinTs = joints
1984
+ @LeaveTs = leavets
1985
+ @DeviceType = devicetype
1986
+ @SdkVersion = sdkversion
1987
+ @ClientIp = clientip
1988
+ @Finished = finished
1989
+ end
1990
+
1991
+ def deserialize(params)
1992
+ @RoomStr = params['RoomStr']
1993
+ @UserId = params['UserId']
1994
+ @JoinTs = params['JoinTs']
1995
+ @LeaveTs = params['LeaveTs']
1996
+ @DeviceType = params['DeviceType']
1997
+ @SdkVersion = params['SdkVersion']
1998
+ @ClientIp = params['ClientIp']
1999
+ @Finished = params['Finished']
2000
+ end
2001
+ end
2002
+
2003
+ # MCU混流水印参数
2004
+ class WaterMarkParams < TencentCloud::Common::AbstractModel
2005
+ # @param WaterMarkId: 混流-水印图片ID。取值为实时音视频控制台上传的图片ID。
2006
+ # @type WaterMarkId: Integer
2007
+ # @param WaterMarkWidth: 混流-水印宽。单位为像素值。
2008
+ # @type WaterMarkWidth: Integer
2009
+ # @param WaterMarkHeight: 混流-水印高。单位为像素值。
2010
+ # @type WaterMarkHeight: Integer
2011
+ # @param LocationX: 水印在输出时的X偏移。单位为像素值。
2012
+ # @type LocationX: Integer
2013
+ # @param LocationY: 水印在输出时的Y偏移。单位为像素值。
2014
+ # @type LocationY: Integer
2015
+ # @param WaterMarkUrl: 混流-水印图片URL地址,支持png、jpg、jpeg、bmp格式,暂不支持透明通道。URL链接长度限制为512字节。WaterMarkUrl和WaterMarkId参数都填时,以WaterMarkUrl为准。图片大小限制不超过10MB。
2016
+ # @type WaterMarkUrl: String
2017
+
2018
+ attr_accessor :WaterMarkId, :WaterMarkWidth, :WaterMarkHeight, :LocationX, :LocationY, :WaterMarkUrl
2019
+
2020
+ def initialize(watermarkid=nil, watermarkwidth=nil, watermarkheight=nil, locationx=nil, locationy=nil, watermarkurl=nil)
2021
+ @WaterMarkId = watermarkid
2022
+ @WaterMarkWidth = watermarkwidth
2023
+ @WaterMarkHeight = watermarkheight
2024
+ @LocationX = locationx
2025
+ @LocationY = locationy
2026
+ @WaterMarkUrl = watermarkurl
2027
+ end
2028
+
2029
+ def deserialize(params)
2030
+ @WaterMarkId = params['WaterMarkId']
2031
+ @WaterMarkWidth = params['WaterMarkWidth']
2032
+ @WaterMarkHeight = params['WaterMarkHeight']
2033
+ @LocationX = params['LocationX']
2034
+ @LocationY = params['LocationY']
2035
+ @WaterMarkUrl = params['WaterMarkUrl']
2036
+ end
2037
+ end
2038
+
2039
+ end
2040
+ end
2041
+ end
2042
+