tencentcloud-sdk-nodejs-intl-en 3.0.739 → 3.0.741

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tencentcloud-sdk-nodejs-intl-en",
3
- "version": "3.0.739",
3
+ "version": "3.0.741",
4
4
  "description": "腾讯云 API NODEJS SDK",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1071,7 +1071,7 @@ Note: To query the product codes used in the current month, call <a href="https:
1071
1071
  this.Context = null;
1072
1072
 
1073
1073
  /**
1074
- *
1074
+ * The account ID of the payer, which is the unique identifier of a Tencent Cloud user. This account is allowed to query its own bills by default. If an organization admin account needs to query the self-pay bills of members, this field should be specified as the member account ID.
1075
1075
  * @type {string || null}
1076
1076
  */
1077
1077
  this.PayerUin = null;
@@ -1515,13 +1515,13 @@ class BillDetailComponent extends AbstractModel {
1515
1515
  this.UsedAmountUnit = null;
1516
1516
 
1517
1517
  /**
1518
- *
1518
+ * Raw usage/duration: The raw usage/duration of a component before deduction. Note: This field may return null, indicating that no valid values can be obtained.
1519
1519
  * @type {string || null}
1520
1520
  */
1521
1521
  this.RealTotalMeasure = null;
1522
1522
 
1523
1523
  /**
1524
- *
1524
+ * Deducted usage/duration (including packages): The usage/duration deducted with a package. Note: This field may return null, indicating that no valid values can be obtained.
1525
1525
  * @type {string || null}
1526
1526
  */
1527
1527
  this.DeductedMeasure = null;
@@ -2427,7 +2427,7 @@ Note: To query the product codes used in the current month, call <a href="https:
2427
2427
  this.BusinessCode = null;
2428
2428
 
2429
2429
  /**
2430
- *
2430
+ * The account ID of the payer, which is the unique identifier of a Tencent Cloud user. This account is allowed to query its own bills by default. If an organization admin account needs to query the self-pay bills of members, this field should be specified as the member account ID.
2431
2431
  * @type {string || null}
2432
2432
  */
2433
2433
  this.PayerUin = null;
@@ -83,6 +83,7 @@ const DescribeTargetGroupsRequest = models.DescribeTargetGroupsRequest;
83
83
  const DescribeTaskStatusResponse = models.DescribeTaskStatusResponse;
84
84
  const BatchRegisterTargetsResponse = models.BatchRegisterTargetsResponse;
85
85
  const ModifyLoadBalancerAttributesRequest = models.ModifyLoadBalancerAttributesRequest;
86
+ const TypeInfo = models.TypeInfo;
86
87
  const DescribeLBListenersRequest = models.DescribeLBListenersRequest;
87
88
  const SlaUpdateParam = models.SlaUpdateParam;
88
89
  const Target = models.Target;
@@ -93,6 +94,7 @@ const DescribeClassicalLBHealthStatusResponse = models.DescribeClassicalLBHealth
93
94
  const DescribeClsLogSetRequest = models.DescribeClsLogSetRequest;
94
95
  const Listener = models.Listener;
95
96
  const LoadBalancerTraffic = models.LoadBalancerTraffic;
97
+ const SpecAvailability = models.SpecAvailability;
96
98
  const ConfigListItem = models.ConfigListItem;
97
99
  const RegisterTargetsWithClassicalLBRequest = models.RegisterTargetsWithClassicalLBRequest;
98
100
  const ModifyDomainAttributesResponse = models.ModifyDomainAttributesResponse;
@@ -484,11 +486,10 @@ This is an async API. After it is returned successfully, you can call the `Descr
484
486
  }
485
487
 
486
488
  /**
487
- * This API is used to upgrade a pay-as-you-go shared CLB instance to an LCU-supported CLB instance.<br/>
489
+ * This API is used to upgrade a pay-as-you-go shared CLB instance to an LCU-supported CLB instance. <br/>
488
490
  Limits
489
- - This API can be used to upgrade only a pay-as-you-go shared instance. A monthly subscription shared instance must be upgraded in the console.
490
- - An LCU-supported instance cannot be rolled back to a shared instance.
491
- - LCU-supported instances are in beta testing. To upgrade to an LCU-supported instance, [submit a ticket](https://intl.cloud.tencent.com/apply/p/hf45esx99lf?from_cn_redirect=1) for application.
491
+ - This API can only be used to upgrade pay-as-you-go shared instances. To upgrade monthly-subscribed shared instances, please go to the CLB u200dconsole.
492
+ - An LCU-supported instance cannot be changed back to a shared instance.
492
493
  - Classic CLB instances cannot be upgraded to LCU-supported instances.
493
494
  * @param {ModifyLoadBalancerSlaRequest} req
494
495
  * @param {function(string, ModifyLoadBalancerSlaResponse):void} cb
@@ -501,7 +501,7 @@ Note: By default, the traffic goes to the primary AZ. The secondary AZs only car
501
501
  this.ZoneId = null;
502
502
 
503
503
  /**
504
- * CLB network billing mode. This parameter is applicable only to public network CLB instances.
504
+ * It only works on LCU-supported instances on private networks and all instances on public networks.
505
505
  * @type {InternetAccessible || null}
506
506
  */
507
507
  this.InternetAccessible = null;
@@ -540,8 +540,8 @@ Note: If the specified VIP is occupied or is not within the IP range of the spec
540
540
  /**
541
541
  * Creates an LCU-supported instance.
542
542
  <ul><li>To create an LCU-supported instance, set this parameter to `SLA`, which indicates that an LCU-supported instance is created with the default specification in pay-as-you-go mode.
543
- <ul><li>If you enable general LCU-supported instances, `SLA` corresponds to the Super Large 1 specification. General LCU-supported instances are in beta testing, [submit a ticket](https://intl.cloud.tencent.com/apply/p/hf45esx99lf?from_cn_redirect=1) for application.</li>
544
- <li>If you enable ultra-large LCU-supported instances, `SLA` corresponds to the Super Large 4 specification. Ultra-large LCU-supported instances are in beta testing, [submit a ticket](https://console.cloud.tencent.com/workorder/category) for application.</li></ul></li><li>This parameter is not required when you create a shared instance.</li></ul>
543
+ <ul><li>The default specification is Super Large 1.
544
+ <li>If you have enabled Super u200dLarge LCU-supported instances, `SLA` corresponds to the Super Large 4 specification. Super u200dLarge LCU-supported specification is in beta now. u200cu200dTo join the beta, [submit a ticket](https://console.cloud.tencent.com/workorder/category). </li></ul></li><li>It’s not required for a shared CLB instance. </li></ul>
545
545
  * @type {string || null}
546
546
  */
547
547
  this.SlaType = null;
@@ -589,6 +589,12 @@ Note: The traffic only goes to the secondary AZ when the primary AZ is unavailab
589
589
  */
590
590
  this.LoadBalancerPassToTarget = null;
591
591
 
592
+ /**
593
+ * Upgrades to domain name-based CLB
594
+ * @type {boolean || null}
595
+ */
596
+ this.DynamicVip = null;
597
+
592
598
  }
593
599
 
594
600
  /**
@@ -648,6 +654,7 @@ Note: The traffic only goes to the secondary AZ when the primary AZ is unavailab
648
654
  this.SlaveZoneId = 'SlaveZoneId' in params ? params.SlaveZoneId : null;
649
655
  this.EipAddressId = 'EipAddressId' in params ? params.EipAddressId : null;
650
656
  this.LoadBalancerPassToTarget = 'LoadBalancerPassToTarget' in params ? params.LoadBalancerPassToTarget : null;
657
+ this.DynamicVip = 'DynamicVip' in params ? params.DynamicVip : null;
651
658
 
652
659
  }
653
660
  }
@@ -1155,13 +1162,13 @@ They represent weighted round robin, least connections, and IP hash, respectivel
1155
1162
  this.ForwardType = null;
1156
1163
 
1157
1164
  /**
1158
- * TRPC callee server route, which is required when `ForwardType` is "TRPC".
1165
+ * TRPC callee server route, which is required when `ForwardType` is "TRPC". This is now only for internal usage.
1159
1166
  * @type {string || null}
1160
1167
  */
1161
1168
  this.TrpcCallee = null;
1162
1169
 
1163
1170
  /**
1164
- * TRPC calling service API, which is required when `ForwardType` is "TRPC".
1171
+ * TRPC calling service API, which is required when `ForwardType` is "TRPC". This is now only for internal usage.
1165
1172
  * @type {string || null}
1166
1173
  */
1167
1174
  this.TrpcFunc = null;
@@ -3489,6 +3496,12 @@ class ModifyLoadBalancerAttributesRequest extends AbstractModel {
3489
3496
  */
3490
3497
  this.DeleteProtect = null;
3491
3498
 
3499
+ /**
3500
+ * Modifies the second-level domain name of CLB from mycloud.com to tencentclb.com. Note that the sub-domain names will be changed as well. After the modification, mycloud.com will be invalidated.
3501
+ * @type {boolean || null}
3502
+ */
3503
+ this.ModifyClassicDomain = null;
3504
+
3492
3505
  }
3493
3506
 
3494
3507
  /**
@@ -3515,6 +3528,52 @@ class ModifyLoadBalancerAttributesRequest extends AbstractModel {
3515
3528
  this.LoadBalancerPassToTarget = 'LoadBalancerPassToTarget' in params ? params.LoadBalancerPassToTarget : null;
3516
3529
  this.SnatPro = 'SnatPro' in params ? params.SnatPro : null;
3517
3530
  this.DeleteProtect = 'DeleteProtect' in params ? params.DeleteProtect : null;
3531
+ this.ModifyClassicDomain = 'ModifyClassicDomain' in params ? params.ModifyClassicDomain : null;
3532
+
3533
+ }
3534
+ }
3535
+
3536
+ /**
3537
+ * ISP Type
3538
+ * @class
3539
+ */
3540
+ class TypeInfo extends AbstractModel {
3541
+ constructor(){
3542
+ super();
3543
+
3544
+ /**
3545
+ * ISP Type
3546
+ Note: This field may return null, indicating that no valid values can be obtained.
3547
+ * @type {string || null}
3548
+ */
3549
+ this.Type = null;
3550
+
3551
+ /**
3552
+ * Specification availability
3553
+ Note: This field may return null, indicating that no valid values can be obtained.
3554
+ * @type {Array.<SpecAvailability> || null}
3555
+ */
3556
+ this.SpecAvailabilitySet = null;
3557
+
3558
+ }
3559
+
3560
+ /**
3561
+ * @private
3562
+ */
3563
+ deserialize(params) {
3564
+ if (!params) {
3565
+ return;
3566
+ }
3567
+ this.Type = 'Type' in params ? params.Type : null;
3568
+
3569
+ if (params.SpecAvailabilitySet) {
3570
+ this.SpecAvailabilitySet = new Array();
3571
+ for (let z in params.SpecAvailabilitySet) {
3572
+ let obj = new SpecAvailability();
3573
+ obj.deserialize(params.SpecAvailabilitySet[z]);
3574
+ this.SpecAvailabilitySet.push(obj);
3575
+ }
3576
+ }
3518
3577
 
3519
3578
  }
3520
3579
  }
@@ -4131,6 +4190,43 @@ Note: This field may return `null`, indicating that no valid values can be obtai
4131
4190
  }
4132
4191
  }
4133
4192
 
4193
+ /**
4194
+ * Specification availability
4195
+ * @class
4196
+ */
4197
+ class SpecAvailability extends AbstractModel {
4198
+ constructor(){
4199
+ super();
4200
+
4201
+ /**
4202
+ * Specification type
4203
+ Note: This field may return null, indicating that no valid values can be obtained.
4204
+ * @type {string || null}
4205
+ */
4206
+ this.SpecType = null;
4207
+
4208
+ /**
4209
+ * Specification availability
4210
+ Note: This field may return null, indicating that no valid values can be obtained.
4211
+ * @type {string || null}
4212
+ */
4213
+ this.Availability = null;
4214
+
4215
+ }
4216
+
4217
+ /**
4218
+ * @private
4219
+ */
4220
+ deserialize(params) {
4221
+ if (!params) {
4222
+ return;
4223
+ }
4224
+ this.SpecType = 'SpecType' in params ? params.SpecType : null;
4225
+ this.Availability = 'Availability' in params ? params.Availability : null;
4226
+
4227
+ }
4228
+ }
4229
+
4134
4230
  /**
4135
4231
  * Configuration content
4136
4232
  * @class
@@ -4609,7 +4705,8 @@ Note: This field may return null, indicating that no valid values can be obtaine
4609
4705
  this.TimeOut = null;
4610
4706
 
4611
4707
  /**
4612
- * Health check interval in seconds. Value range: 5-300. Default value: 5.
4708
+ * Health check probing interval period. It defaults to `5`. For IPv4 CLB instances, the range is 2-300. u200dFor IPv6 CLB instances, the range is 5-300. Unit: second
4709
+ Note: For some IPv4 CLB instances created long ago, the range is 5-300.
4613
4710
  Note: This field may return null, indicating that no valid values can be obtained.
4614
4711
  * @type {number || null}
4615
4712
  */
@@ -6585,15 +6682,15 @@ Note: This field may return null, indicating that no valid values can be obtaine
6585
6682
  this.WafDomainId = null;
6586
6683
 
6587
6684
  /**
6588
- * TRPC callee server route, which is valid when `ForwardType` is `TRPC`.
6589
- Note: this field may return null, indicating that no valid values can be obtained.
6685
+ * TRPC callee server route, which is valid when `ForwardType` is `TRPC`. This is now only for internal usage.
6686
+ Note: This field may return null, indicating that no valid values can be obtained.
6590
6687
  * @type {string || null}
6591
6688
  */
6592
6689
  this.TrpcCallee = null;
6593
6690
 
6594
6691
  /**
6595
- * TRPC calling service API, which is valid when `ForwardType` is `TRPC`.
6596
- Note: this field may return null, indicating that no valid values can be obtained.
6692
+ * TRPC calling service API, which is valid when `ForwardType` is `TRPC`. This is now only for internal usage.
6693
+ Note: This field may return null, indicating that no valid values can be obtained.
6597
6694
  * @type {string || null}
6598
6695
  */
6599
6696
  this.TrpcFunc = null;
@@ -9254,7 +9351,12 @@ BANDWIDTH_PACKAGE: billed by bandwidth package (currently, this method is suppor
9254
9351
  this.InternetChargeType = null;
9255
9352
 
9256
9353
  /**
9257
- * Maximum outbound bandwidth in Mbps, which applies only to public network CLB. Value range: 0-65,535. Default value: 10.
9354
+ * Maximum outgoing bandwidth in Mbps. It works on LCU-supported instances on private networks and all instances on public networks.
9355
+ - For shared and dedicated CLB instances on public networks, the range is 1Mbps-2048Mbps.
9356
+ - For all LCU-supported CLB instances:
9357
+ - It defaults to General LCU-supported instance. SLA corresponds to Super Large 1, and the range of maximum outgoing bandwidth is 1 Mbps - 10240 Mbps.
9358
+ - If you have enabled Super Large specification, the range of maximum outgoing bandwidth is 1 Mbps - 61440 Mbps Super u200dLarge LCU-supported specification is in beta now. u200cu200dTo join the beta, [submit a ticket](https://console.cloud.tencent.com/workorder/category).
9359
+ Note: This field may return null, indicating that no valid values can be obtained.
9258
9360
  * @type {number || null}
9259
9361
  */
9260
9362
  this.InternetMaxBandwidthOut = null;
@@ -9674,7 +9776,7 @@ They represent weighted round robin, least connections, and IP hash, respectivel
9674
9776
  this.Scheduler = null;
9675
9777
 
9676
9778
  /**
9677
- * Forwarding protocol between the CLB instance and real server. Currently, HTTP/HTTPS/TRPC are supported.
9779
+ * Forwarding protocol between the CLB instance and real server. HTTP/HTTPS/TRPC are supported. TRPC is now only available for internal usage.
9678
9780
  * @type {string || null}
9679
9781
  */
9680
9782
  this.ForwardType = null;
@@ -9698,13 +9800,13 @@ They represent weighted round robin, least connections, and IP hash, respectivel
9698
9800
  this.TargetType = null;
9699
9801
 
9700
9802
  /**
9701
- * TRPC callee server route, which is required when `ForwardType` is `TRPC`.
9803
+ * TRPC callee server route, which is required when `ForwardType` is "TRPC". This is now only for internal usage.
9702
9804
  * @type {string || null}
9703
9805
  */
9704
9806
  this.TrpcCallee = null;
9705
9807
 
9706
9808
  /**
9707
- * TRPC calling service API, which is required when `ForwardType` is `TRPC`.
9809
+ * TRPC calling service API, which is required when `ForwardType` is "TRPC". This is now only for internal usage.
9708
9810
  * @type {string || null}
9709
9811
  */
9710
9812
  this.TrpcFunc = null;
@@ -10090,6 +10192,13 @@ Note: This field may return `null`, indicating that no valid values can be obtai
10090
10192
  */
10091
10193
  this.AvailabilitySet = null;
10092
10194
 
10195
+ /**
10196
+ * ISP Type
10197
+ Note: This field may return null, indicating that no valid values can be obtained.
10198
+ * @type {Array.<TypeInfo> || null}
10199
+ */
10200
+ this.TypeSet = null;
10201
+
10093
10202
  }
10094
10203
 
10095
10204
  /**
@@ -10111,6 +10220,15 @@ Note: This field may return `null`, indicating that no valid values can be obtai
10111
10220
  }
10112
10221
  }
10113
10222
 
10223
+ if (params.TypeSet) {
10224
+ this.TypeSet = new Array();
10225
+ for (let z in params.TypeSet) {
10226
+ let obj = new TypeInfo();
10227
+ obj.deserialize(params.TypeSet[z]);
10228
+ this.TypeSet.push(obj);
10229
+ }
10230
+ }
10231
+
10114
10232
  }
10115
10233
  }
10116
10234
 
@@ -11157,7 +11275,7 @@ class TargetHealth extends AbstractModel {
11157
11275
  this.HealthStatusDetail = null;
11158
11276
 
11159
11277
  /**
11160
- * Detailed information about the current health status. Alive: healthy; Dead: exceptional; Unknown: check not started/checking/unknown status. This parameter will be discarded soon. We recommend that you use the HealthStatusDetail parameter.
11278
+ * (**This parameter will be disused soon. Please use `HealthStatusDetail` instead.**) Details of the current health status. Values: `Alive` (healthy), `Dead` (abnormal), `Unknown` (Health check not started/checking/unknown status)
11161
11279
  * @type {string || null}
11162
11280
  */
11163
11281
  this.HealthStatusDetial = null;
@@ -12086,6 +12204,7 @@ module.exports = {
12086
12204
  DescribeTaskStatusResponse: DescribeTaskStatusResponse,
12087
12205
  BatchRegisterTargetsResponse: BatchRegisterTargetsResponse,
12088
12206
  ModifyLoadBalancerAttributesRequest: ModifyLoadBalancerAttributesRequest,
12207
+ TypeInfo: TypeInfo,
12089
12208
  DescribeLBListenersRequest: DescribeLBListenersRequest,
12090
12209
  SlaUpdateParam: SlaUpdateParam,
12091
12210
  Target: Target,
@@ -12096,6 +12215,7 @@ module.exports = {
12096
12215
  DescribeClsLogSetRequest: DescribeClsLogSetRequest,
12097
12216
  Listener: Listener,
12098
12217
  LoadBalancerTraffic: LoadBalancerTraffic,
12218
+ SpecAvailability: SpecAvailability,
12099
12219
  ConfigListItem: ConfigListItem,
12100
12220
  RegisterTargetsWithClassicalLBRequest: RegisterTargetsWithClassicalLBRequest,
12101
12221
  ModifyDomainAttributesResponse: ModifyDomainAttributesResponse,
@@ -1,2 +1,2 @@
1
- const sdkVersion = "3.0.739";
1
+ const sdkVersion = "3.0.741";
2
2
  module.exports = sdkVersion
@@ -91,6 +91,12 @@ Grey: `0x999999`
91
91
  */
92
92
  this.CustomCrop = null;
93
93
 
94
+ /**
95
+ * The display mode of the sub-background image during output: 0 for cropping, 1 for scaling and displaying the background, 2 for scaling and displaying the black background, 3 for proportional scaling. If not filled in, the default is 3.
96
+ * @type {number || null}
97
+ */
98
+ this.BackgroundRenderMode = null;
99
+
94
100
  }
95
101
 
96
102
  /**
@@ -120,6 +126,7 @@ Grey: `0x999999`
120
126
  obj.deserialize(params.CustomCrop)
121
127
  this.CustomCrop = obj;
122
128
  }
129
+ this.BackgroundRenderMode = 'BackgroundRenderMode' in params ? params.BackgroundRenderMode : null;
123
130
 
124
131
  }
125
132
  }
@@ -311,6 +318,12 @@ Grey: 0x999999
311
318
  */
312
319
  this.WaterMarkList = null;
313
320
 
321
+ /**
322
+ * Background image display mode during output: 0 for crop, 1 for scale and display with black background, 2 for proportional scaling. The backend default is proportional scaling.
323
+ * @type {number || null}
324
+ */
325
+ this.BackgroundRenderMode = null;
326
+
314
327
  }
315
328
 
316
329
  /**
@@ -343,6 +356,7 @@ Grey: 0x999999
343
356
  this.WaterMarkList.push(obj);
344
357
  }
345
358
  }
359
+ this.BackgroundRenderMode = 'BackgroundRenderMode' in params ? params.BackgroundRenderMode : null;
346
360
 
347
361
  }
348
362
  }
@@ -165,28 +165,61 @@ class TrtcClient extends AbstractClient {
165
165
  }
166
166
 
167
167
  /**
168
- * This API is used to mix streams and relay the mixed stream to CDNs. You can use this API to do the following:
169
- 1. Publish (also known as "relay") the audio/video stream of one anchor to CDNs. For details, see example 2 (starting a task to relay the audio and video of a stream) and example 3 (starting a task to relay only the audio of a stream).
170
- 2. Mix the streams of multiple anchors in a room or in different rooms and publish the mixed stream to CDNs. You can use `AudioParams.SubscribeAudioList` to specify the users whose audios are mixed, and use `VideoParams.LayoutParams` to specify the layout of the anchors’ videos. For details, see example 1 (mixing streams and publishing the mixed stream to a CDN).
171
- 3. Mix multiple streams in a room according to a template and publish the mixed stream to CDNs. The TRTC backend will detect the change of anchors in the room and adjust the video layout automatically according to the stream mixing template. The following template types are supported:
172
- - Floating: The entire screen is covered by the video of the first user who enters the room, and the videos of other users are displayed as small windows in rows in the bottom-left corner in room entry sequence. The screen allows up to 4 rows of 4 small videos, which float over the large video. Up to 1 large and 15 small videos can be displayed.
173
- - Grid: The videos of all users split the screen evenly. The more the users, the smaller the video dimensions. Up to 16 videos are supported.
174
- - Screen sharing: This is designed for video conferencing and online education. The shared screen (or camera video of the anchor) is always displayed as the large video, which occupies the left half of the screen, and the videos of other users occupy the right half in up to two columns of up to eight small videos each. Up to 1 large video and 15 small videos can be displayed. If the upstream aspect ratio does not match the output, the large video on the left will be scaled and displayed in whole, while the small videos on the right will be cropped.
175
- 4. Publish audio/video streams to up to 10 CDNs at a time. You can use `PublishCdnParams.PublishCdnUrl` to specify the URLs of the CDNs to publish to. To publish to Tencent Cloud’s CDN, set `PublishCdnParams.IsTencentCdn` to 1.
176
- 5. Configure a server-side callback to have Tencent Cloud send relay status updates to your server in the form of HTTP/HTTPS POST requests. To use the callback for relay events, please contact Technical Support.
177
- 6. The API supports four regions: Guangzhou, Shanghai, Beijing, and Hong Kong. If you relay to regions outside the Chinese mainland, select Hong Kong.
178
-
179
- Notes:
180
- 1. **Because On-Cloud MixTranscoding is a paid feature, calling this API will incur MixTranscoding fees. For details, see [Billing of MixTranscoding and Relay to CDN](https://intl.cloud.tencent.com/document/product/647/49446?from_cn_redirect=1).**
181
- 2. **Relaying to third-party CDNs will incur relaying fees. For details, see [Billing of MixTranscoding and Relay to CDN](https://intl.cloud.tencent.com/document/product/647/82155?from_cn_redirect=1).**
182
-
183
- Others:
184
- 1. You need to first call `StartPublishCdnStream` to start a relay task and get the task ID before you can use the `UpdatePublishCdnStream` API to modify the task and `StopPublishCdnStream` to stop the task.
185
- 2. To ensure the stability of relaying, you cannot switch between relaying audio only, relaying audio and video, and relaying video only for the same task.
186
- 3. To ensure the stability of relaying, you cannot change the video codec, audio codec, audio sample rate, audio bitrate, or sound channels using the `UpdatePublishCdnStream` API. We recommend you pass in all the other parameters when calling `UpdatePublishCdnStream`. If you only want to enable/disable transcoding, make sure you pass in all the other parameters.
187
- 4. When you relay a single stream, specify both `AudioParams` and `VideoParams` to publish both audio and video, and specify only `AudioParams` to publish audio only. You cannot switch between the two modes during the relaying process. For `VideoParams`, set `Width`, `Height`, `Fps`, `Bitrate`, and `Gop` according to the actual settings used for publishing.
188
- 5. The `SequenceNumber` parameter is required when you call `UpdatePublishCdnStream` to change the relaying parameters. It ensures that multiple requests for the same relaying task are in the correct order. The value of `SequenceNumber` increases each time a new request is made for the same task. If `InternalError` is returned, try again using the same `SequenceNumber`. You don’t need to handle the `FailedOperation.OutdateRequest` error.
189
- 6. You can create a relay task before anchors enter a room, in which case you need to manually call `StopPublishCdnStream` to stop the task. If you don’t, after all the users whose streams are mixed leave the room, the TRTC backend will wait for the timeout period (`AgentParams.MaxIdleTime`) to elapse before stopping the relaying task.
168
+ * In a TRTC room, there may be multiple audio and video streams concurrently active. You can use the MixTranscoding API to notify Tencent Cloud server to mix multiple video screens from the same room or multiple rooms together, and specify the position of each screen, while mixing multiple audio streams together. The final result is a single audio and video stream, which can be used for recording and live viewing. It also supports pushing this mixed audio and video stream back to the TRTC room.
169
+
170
+ The Cloud API MixTranscoding feature includes three interfaces:
171
+ 1. StartPublishCdnStream: Start a MixTranscoding task. This interface will initiate a new MixTranscoding task. After the task is successfully started, a unique TaskId will be returned under the sdkappid dimension. You need to save this TaskId, as it will be required for updating and stopping the task later.
172
+ 2. UpdatePublishCdnStream: Update the specified MixTranscoding task, including updating the video screen layout, updating the mixing list, updating the list of CDN addresses to be relayed, and updating the list of rooms to be pushed back.
173
+ 3. StopPublishCdnStream: Stop the specified MixTranscoding task.
174
+
175
+ You can achieve the following goals through this set of interfaces:
176
+ 1. Set the final video and audio quality, including video resolution, video frame rate, video bitrate, and audio quality.
177
+ 2. Set the layout position of each screen. You only need to set it once. When you specify the MixTranscoding user to enter the room and send audio and video, the layout engine will automatically mix the user's screen to the specified layout position. You can also use the update interface to adjust the layout position.
178
+ 3. Set multiple CDN relay target addresses. A single relay task can support up to 10 CDN relay addresses at the same time.
179
+ 4. Set multiple room pushback lists. A single relay task can support up to 10 TRTC rooms for mixed stream pushback.
180
+
181
+ The following layout templates are currently supported. Dynamic layout templates (floating template, grid template, screen sharing template) only support a single TRTC room, while custom templates support mixing audio and video streams from multiple TRTC rooms. The specific descriptions are as follows:
182
+ 1. Floating template: The video screen of the first user entering the room will fill the entire screen, and the video screens of other users will be arranged horizontally from the bottom left corner, displaying as small screens, with up to 4 rows and 4 screens per row. The small screens float above the large screen. It supports up to 1 large screen and 15 small screens. If the user only sends audio, it does not occupy the layout configuration by default, but it can also be set. Each sub-screen is rendered by default using the center cropping method, and the rendering method of the sub-screen can also be set uniformly.
183
+ 2. Grid template: The video screens of all users are of the same size, evenly dividing the entire screen. The more people there are, the smaller the size of each user's screen. It supports up to 16 screens. If the user only sends audio, it does not occupy the layout configuration by default, but it can also be set. Each sub-screen is rendered by default using the center cropping method, and the rendering method of the sub-screen can also be set uniformly.
184
+ 3. Screen sharing template: Suitable for video conference and online education scenarios. The screen sharing (or the main speaker's camera) always occupies the large screen position on the left side of the screen. You need to explicitly set the MixTranscoding user information that occupies the large screen. Other users are arranged vertically on the right side, with up to two columns and 8 small screens per column. It supports up to 1 large screen and 15 small screens. If the uplink resolution aspect ratio is different from the screen output aspect ratio, the large screen on the left side will be scaled to maintain content integrity, while the small screens on the right side will be cropped. The rendering method of the sub-screen can also be set uniformly.
185
+ 4. Custom layout template: Allows you to actively set the layout position according to your business needs. Each preset layout position supports named settings (named settings require specifying the room number and username) and unnamed settings. When a sub-screen is named, the position is reserved for the user, and the user will automatically occupy the position when entering the room and sending audio and video data. Other users will not occupy this position. When the preset layout position is not named, the layout engine will automatically fill in the order of entering the room. When the preset positions are full, no other users' screens and sounds will be mixed. Each sub-screen position supports setting placeholder images (BackgroundImageUrl). When the user does not enter the room or only sends audio data, the screen at this position can display the corresponding placeholder image.
186
+
187
+ When using the relay API, you may incur the following costs depending on the usage characteristics:
188
+ For MCU MixTranscoding fees, please refer to the documentation: Billing of MixTranscoding and Relay to CDN | Tencent Cloud.
189
+ For non-Tencent Cloud CDN relay fees, please refer to the documentation: Billing of MixTranscoding and Relay to CDN | Tencent Cloud.
190
+
191
+ Instructions for using parameters:
192
+ 1. AgentParams: Each relay task will pull a robot user into the TRTC room to pull the stream. You need to set this robot user through the AgentParams.UserId parameter. This robot ID cannot conflict with the normal user ID in the room, otherwise, the relay task will be abnormally terminated due to the robot user being kicked out of the TRTC room. You can avoid this by adding a special prefix. You can control the automatic termination of the relay task by setting AgentParams.MaxIdleTime. When this parameter is set, the relay task will automatically stop when all participating MixTranscoding anchors continuously leave the TRTC room for more than MaxIdleTime duration. Note: The relay task will not automatically stop when the participating MixTranscoding anchor only stops sending audio and video.
193
+ 2. WithTranscoding: If you need to mix multiple audio and video streams into one, WithTranscoding must be set to 1.
194
+ 3. AudioParams: The audio parameters and video parameters of the relay task are set separately. If you want to mix the audio of specified users, you need to explicitly set AudioParams.SubscribeAudioList. If you do not set AudioParams.SubscribeAudioList, the mixing engine will automatically mix the audio of all users in the TRTC room. If you want to mix the audio of all users in the TRTC room except for specified users, you can set the audio blacklist list through AudioParams.UnSubscribeAudioList.
195
+ 4. VideoParams: If you want to mix user videos, you can set it through VideoParams. If you only want to mix audio, you do not need to set VideoParams. You can set the screen layout mode through VideoParams.LayoutParams.MixLayoutMode, including dynamic layout (1: floating layout (default), 2: screen sharing layout, 3: grid layout) and custom layout. The dynamic layout mode is automatically mixed by the layout engine according to a fixed layout, and there is no need to set VideoParams.LayoutParams.MixLayoutList. When using the floating layout and screen sharing layout, you can specify the large screen user by setting VideoParams.LayoutParams.MaxVideoUser. The custom layout mode provides you with the ability to layout screens independently, and you can specify the layout position of each user through VideoParams.LayoutParams.MixLayoutList. In each layout parameter, you can specify the layout position for the specified user by setting the UserMediaStream parameter, or you can not set the UserMediaStream, and the layout engine will automatically fill in the order of users entering the TRTC room. In addition, you can set the rendering method (RenderMode) and cropping method (CustomCrop) for each layout position.
196
+ 5. VideoParams.WaterMarkList: If you want to overlay a watermark on the mixed screen, you can set it through VideoParams.WaterMarkList. It supports image watermarks and text watermarks and supports transparent channels.
197
+ 6. SingleSubscribeParams: If you want to push a single stream from the TRTC room to the CDN, you can set it using the SingleSubscribeParams parameter. In this case, you need to set the WithTranscoding parameter to 0.
198
+ 7. PublishCdnParams.N: If you want to push the stream to the CDN, you can set it using the PublishCdnParams.N parameter. It supports pushing to up to 10 CDN addresses at the same time. If the relay address is Tencent Cloud CDN, please set IsTencentCdn explicitly to 1; if you need to relay to a non-Tencent Cloud CDN, please contact Tencent Cloud Technical Support to enable it. Relaying to non-Tencent Cloud will incur relay fees. For fee information, please refer to the official documentation: On-Cloud Relay Billing Overview.
199
+ 8. FeedBackRoomParams.N: If you want to push the mixed audio and video stream back to the TRTC room, you can set it using the FeedBackRoomParams.N parameter. It supports pushing up to 10 streams back to the TRTC room at the same time. You need to specify the TRTC room number and robot ID (UserId) for the pushback. The robot ID cannot conflict with the normal user ID, otherwise, the relay task will be abnormally terminated due to the robot user being kicked out of the TRTC room. You can avoid this by adding a special prefix.
200
+ 9. SeiParams: If you want to add SEI information to the mixed audio and video stream, you can set it using the SeiParams parameter. It supports volume layout SEI and overlay relay request SEI. The content of the volume layout SEI is a fixed JSON structure, please see the SEI description in the following section of this chapter. You can set the SEI to follow the keyframe by setting the FollowIdr parameter. The description of the volume layout SEI is as follows:
201
+ If your CDN audience needs to recognize the position of the participating MixTranscoding anchors and the volume information of the participating MixTranscoding anchors, you can use the volume layout SEI. The payload content and parameter description of the volume layout SEI are as follows:
202
+ { "app_data":"", "canvas":{ "w":1080, "h":960 }, "regions":[ { "uid":"65949987242835883c", "zorder":2, "volume":45, "x":270, "y":480, "w":540, "h":480 }, { "uid":"659c9d8d242b328d31", "zorder":2, "volume":0, "x":0, "y":0, "w":540, "h":480 }, { "uid":"64989a82272b308c", "zorder":2, "volume":91, "x":540, "y":0, "w":540, "h":480 } ], "ver":"1.0", "ts":1648544726 }
203
+ canvas: This is the width and height of the VideoEncode setting in the MixTranscoding signaling, that is, the width and height of the entire canvas of the MixTranscoding output.
204
+ regions: Contains the real mixed user ID and the corresponding sub-screen position. If the participating MixTranscoding user does not enter the TRTC room or does not turn on the video uplink, the regions will not include the user.
205
+ uid: Represents the user ID participating in MixTranscoding.
206
+ zorder: The layer of the participating MixTranscoding userid in the MixTranscoding output.
207
+ x/y: The coordinates of the sub-screen of the participating MixTranscoding userid on the canvas.
208
+ w/h: The size of the sub-screen of the participating MixTranscoding userid.
209
+ volume: Represents the volume of the MixTranscoding user, with a value range of 0-100. The larger the value, the greater the volume of the user participating in MixTranscoding.
210
+ ts: The server local second-level timestamp for outputting SEI.
211
+ ver: can be ignored.
212
+
213
+ Usage Precautions:
214
+ 1. When using the Mixed Relay Interface, you need to call the Start Relay Task Interface (StartPublishCdnStream) first to get the Task ID from the response. Then, use the Task ID to update the relay task (UpdatePublishCdnStream) and stop the relay task (StopPublishCdnStream).
215
+ 2. The Relay API does not support initiating Automatic Bypass Tasks configured in the TRTC Console, nor does it support Custom Stream ID bypass tasks set in the TRTC SDK room entry interface.
216
+ 3. To ensure the stability of the relay link, the same relay task does not support switching between Audio only, Audio and Video, and Video only.
217
+ 4. To ensure the stability of the relay link, updating video parameters (codec) and audio parameters (codec, Sample rate, bitrate, and number of channels) is not supported during the Update Video process.
218
+ 5. When initiating a single stream bypass task, filling in both Audio Parameters and Video Parameters means Audio and Video bypass. If only Audio Parameters are filled in, it means Audio only bypass, and switching from Audio only to Audio and Video is not supported during the task progress. For Audio and Video bypass, the Width, Height, Fps, BitRate, and Gop in Video Parameters must be filled in according to the real upstream parameters.
219
+ 6. The SequenceNumber parameter must be carried in the update request to prevent request disorder. Customers must ensure that the SequenceNumber parameter increases when updating the same task, otherwise, the mix task update will fail.
220
+ 7. When calling the API, choose the region according to the following instructions: If the Application ID is 1400xxx, the region can be Beijing, Shanghai, Guangzhou, or Hong Kong. If your CDN audience is mainly overseas, please choose Hong Kong. If the Application ID is 200xxx or 400xxx, please choose Singapore.
221
+ 8. Streams pushed back to the TRTC room will not participate in the mixing of other push back room tasks. If one of the following conditions is met, it can participate in the mixing of other relay CDN tasks: (1) The push stream robot is specified to participate in the mixing in the video parameters of the relay CDN task; (2) The push stream robot is specified to participate in the mixing in the audio parameters of the relay CDN task through the whitelist method; (3) The room number of the mix user participating in the relay CDN task is completely different from the room number of the mix user corresponding to the push back robot.
222
+ 9. You can create a relay task before the anchor enters the room. When the relay task is finished, you need to call the stop interface actively. If you do not call the Stop Relay Task Interface, Tencent Cloud will automatically stop the mix relay task when all users participating in the mix have no data uploaded for a period of time exceeding the timeout (AgentParams.MaxIdleTime) set when starting the relay task.
190
223
  * @param {StartPublishCdnStreamRequest} req
191
224
  * @param {function(string, StartPublishCdnStreamResponse):void} cb
192
225
  * @public
@@ -12284,6 +12284,12 @@ class AsrFullTextConfigureInfoForUpdate extends AbstractModel {
12284
12284
  */
12285
12285
  this.SubtitleFormat = null;
12286
12286
 
12287
+ /**
12288
+ * Media source language value range: <li>zh: Mandarin </li> <li>en: English</li> <li>ja: Japanese </li> <li>zh-ca: Cantonese</li>
12289
+ * @type {string || null}
12290
+ */
12291
+ this.SrcLanguage = null;
12292
+
12287
12293
  }
12288
12294
 
12289
12295
  /**
@@ -12301,6 +12307,7 @@ class AsrFullTextConfigureInfoForUpdate extends AbstractModel {
12301
12307
  this.SubtitleFormatsOperation = obj;
12302
12308
  }
12303
12309
  this.SubtitleFormat = 'SubtitleFormat' in params ? params.SubtitleFormat : null;
12310
+ this.SrcLanguage = 'SrcLanguage' in params ? params.SrcLanguage : null;
12304
12311
 
12305
12312
  }
12306
12313
  }
@@ -27615,6 +27622,12 @@ class AsrFullTextConfigureInfo extends AbstractModel {
27615
27622
  */
27616
27623
  this.SubtitleFormat = null;
27617
27624
 
27625
+ /**
27626
+ * Media source language value range: <li>zh: Mandarin </li> <li>en: English</li> <li>ja: Japanese </li> <li>zh-ca: Cantonese</li><font color=red>Note:</font> If it fills in an empty string or leave this parameter blank, it will be automatically recognized (it is recommended to fill in the language corresponding to the media to improve the recognition accuracy).
27627
+ * @type {string || null}
27628
+ */
27629
+ this.SrcLanguage = null;
27630
+
27618
27631
  }
27619
27632
 
27620
27633
  /**
@@ -27627,6 +27640,7 @@ class AsrFullTextConfigureInfo extends AbstractModel {
27627
27640
  this.Switch = 'Switch' in params ? params.Switch : null;
27628
27641
  this.SubtitleFormats = 'SubtitleFormats' in params ? params.SubtitleFormats : null;
27629
27642
  this.SubtitleFormat = 'SubtitleFormat' in params ? params.SubtitleFormat : null;
27643
+ this.SrcLanguage = 'SrcLanguage' in params ? params.SrcLanguage : null;
27630
27644
 
27631
27645
  }
27632
27646
  }