tencentcloud-sdk-python-trtc 3.0.932__tar.gz → 3.0.952__tar.gz

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.
Files changed (15) hide show
  1. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/PKG-INFO +1 -1
  2. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/setup.py +1 -0
  3. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud/__init__.py +1 -1
  4. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud/trtc/v20190722/models.py +29 -5
  5. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud/trtc/v20190722/trtc_client.py +133 -58
  6. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud_sdk_python_trtc.egg-info/PKG-INFO +1 -1
  7. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud_sdk_python_trtc.egg-info/SOURCES.txt +1 -0
  8. tencentcloud-sdk-python-trtc-3.0.952/tencentcloud_sdk_python_trtc.egg-info/requires.txt +1 -0
  9. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/README.rst +0 -0
  10. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/setup.cfg +0 -0
  11. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud/trtc/__init__.py +0 -0
  12. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud/trtc/v20190722/__init__.py +0 -0
  13. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud/trtc/v20190722/errorcodes.py +0 -0
  14. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud_sdk_python_trtc.egg-info/dependency_links.txt +0 -0
  15. {tencentcloud-sdk-python-trtc-3.0.932 → tencentcloud-sdk-python-trtc-3.0.952}/tencentcloud_sdk_python_trtc.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: tencentcloud-sdk-python-trtc
3
- Version: 3.0.932
3
+ Version: 3.0.952
4
4
  Summary: Tencent Cloud Trtc SDK for Python
5
5
  Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
6
6
  Author: Tencent Cloud
@@ -8,6 +8,7 @@ ROOT = os.path.dirname(__file__)
8
8
 
9
9
  setup(
10
10
  name='tencentcloud-sdk-python-trtc',
11
+ install_requires=["tencentcloud-sdk-python-common==3.0.952"],
11
12
  version=tencentcloud.__version__,
12
13
  description='Tencent Cloud Trtc SDK for Python',
13
14
  long_description=open('README.rst').read(),
@@ -14,4 +14,4 @@
14
14
  # limitations under the License.
15
15
 
16
16
 
17
- __version__ = '3.0.932'
17
+ __version__ = '3.0.952'
@@ -2727,7 +2727,7 @@ class DescribeTrtcRoomUsageResponse(AbstractModel):
2727
2727
 
2728
2728
  def __init__(self):
2729
2729
  r"""
2730
- :param _Data: 房间维度用量数据,csv文件格式。
2730
+ :param _Data: 房间维度用量数据,csv文件格式,单位:秒。
2731
2731
  :type Data: str
2732
2732
  :param _RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
2733
2733
  :type RequestId: str
@@ -4168,7 +4168,7 @@ class McuLayout(AbstractModel):
4168
4168
  :type LocationY: int
4169
4169
  :param _ZOrder: 子画面在输出时的层级,不填默认为0。
4170
4170
  :type ZOrder: int
4171
- :param _RenderMode: 子画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底。不填默认为0。
4171
+ :param _RenderMode: 子画面在输出时的显示模式:0为裁剪,1为缩放并显示背景,2为缩放并显示黑底。不填默认为0。
4172
4172
  :type RenderMode: int
4173
4173
  :param _BackGroundColor: 【此参数配置无效,暂不支持】子画面的背景颜色,常用的颜色有:
4174
4174
  红色:0xcc0033。
@@ -4183,6 +4183,8 @@ class McuLayout(AbstractModel):
4183
4183
  :type BackgroundImageUrl: str
4184
4184
  :param _CustomCrop: 客户自定义裁剪,针对原始输入流裁剪
4185
4185
  :type CustomCrop: :class:`tencentcloud.trtc.v20190722.models.McuCustomCrop`
4186
+ :param _BackgroundRenderMode: 子背景图在输出时的显示模式:0为裁剪,1为缩放并显示背景,2为缩放并显示黑底,3为变比例伸缩。不填默认为3。
4187
+ :type BackgroundRenderMode: int
4186
4188
  """
4187
4189
  self._UserMediaStream = None
4188
4190
  self._ImageWidth = None
@@ -4194,6 +4196,7 @@ class McuLayout(AbstractModel):
4194
4196
  self._BackGroundColor = None
4195
4197
  self._BackgroundImageUrl = None
4196
4198
  self._CustomCrop = None
4199
+ self._BackgroundRenderMode = None
4197
4200
 
4198
4201
  @property
4199
4202
  def UserMediaStream(self):
@@ -4275,6 +4278,14 @@ class McuLayout(AbstractModel):
4275
4278
  def CustomCrop(self, CustomCrop):
4276
4279
  self._CustomCrop = CustomCrop
4277
4280
 
4281
+ @property
4282
+ def BackgroundRenderMode(self):
4283
+ return self._BackgroundRenderMode
4284
+
4285
+ @BackgroundRenderMode.setter
4286
+ def BackgroundRenderMode(self, BackgroundRenderMode):
4287
+ self._BackgroundRenderMode = BackgroundRenderMode
4288
+
4278
4289
 
4279
4290
  def _deserialize(self, params):
4280
4291
  if params.get("UserMediaStream") is not None:
@@ -4291,6 +4302,7 @@ class McuLayout(AbstractModel):
4291
4302
  if params.get("CustomCrop") is not None:
4292
4303
  self._CustomCrop = McuCustomCrop()
4293
4304
  self._CustomCrop._deserialize(params.get("CustomCrop"))
4305
+ self._BackgroundRenderMode = params.get("BackgroundRenderMode")
4294
4306
  memeber_set = set(params.keys())
4295
4307
  for name, value in vars(self).items():
4296
4308
  property_name = name[1:]
@@ -4693,12 +4705,15 @@ class McuVideoParams(AbstractModel):
4693
4705
  :type BackgroundImageUrl: str
4694
4706
  :param _WaterMarkList: 混流布局的水印参数。
4695
4707
  :type WaterMarkList: list of McuWaterMarkParams
4708
+ :param _BackgroundRenderMode: 背景图在输出时的显示模式:0为裁剪,1为缩放并显示黑底,2为变比例伸缩。后台默认为变比例伸缩。
4709
+ :type BackgroundRenderMode: int
4696
4710
  """
4697
4711
  self._VideoEncode = None
4698
4712
  self._LayoutParams = None
4699
4713
  self._BackGroundColor = None
4700
4714
  self._BackgroundImageUrl = None
4701
4715
  self._WaterMarkList = None
4716
+ self._BackgroundRenderMode = None
4702
4717
 
4703
4718
  @property
4704
4719
  def VideoEncode(self):
@@ -4740,6 +4755,14 @@ class McuVideoParams(AbstractModel):
4740
4755
  def WaterMarkList(self, WaterMarkList):
4741
4756
  self._WaterMarkList = WaterMarkList
4742
4757
 
4758
+ @property
4759
+ def BackgroundRenderMode(self):
4760
+ return self._BackgroundRenderMode
4761
+
4762
+ @BackgroundRenderMode.setter
4763
+ def BackgroundRenderMode(self, BackgroundRenderMode):
4764
+ self._BackgroundRenderMode = BackgroundRenderMode
4765
+
4743
4766
 
4744
4767
  def _deserialize(self, params):
4745
4768
  if params.get("VideoEncode") is not None:
@@ -4756,6 +4779,7 @@ class McuVideoParams(AbstractModel):
4756
4779
  obj = McuWaterMarkParams()
4757
4780
  obj._deserialize(item)
4758
4781
  self._WaterMarkList.append(obj)
4782
+ self._BackgroundRenderMode = params.get("BackgroundRenderMode")
4759
4783
  memeber_set = set(params.keys())
4760
4784
  for name, value in vars(self).items():
4761
4785
  property_name = name[1:]
@@ -6216,7 +6240,7 @@ class RecordParams(AbstractModel):
6216
6240
  :type StreamType: int
6217
6241
  :param _SubscribeStreamUserIds: 指定订阅流白名单或者黑名单。
6218
6242
  :type SubscribeStreamUserIds: :class:`tencentcloud.trtc.v20190722.models.SubscribeStreamUserIds`
6219
- :param _OutputFormat: 输出文件的格式,上传到云点播时此参数无效,存储到云点播时请关注TencentVod内的MediaType参数。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4。2:输出文件格式为hls+aac 。
6243
+ :param _OutputFormat: 输出文件的格式,上传到云点播时此参数无效,存储到云点播时请关注TencentVod内的MediaType参数。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4。2:输出文件格式为hls+aac 。3:输出文件格式为mp4。4:输出文件格式为aac。
6220
6244
  :type OutputFormat: int
6221
6245
  :param _AvMerge: 单流录制模式下,用户的音视频是否合并,0:单流音视频不合并(默认)。1:单流音视频合并成一个ts。混流录制此参数无需设置,默认音视频合并。
6222
6246
  :type AvMerge: int
@@ -7067,7 +7091,7 @@ class StartMCUMixTranscodeByStrRoomIdRequest(AbstractModel):
7067
7091
  :type EncodeParams: :class:`tencentcloud.trtc.v20190722.models.EncodeParams`
7068
7092
  :param _LayoutParams: 混流输出布局参数。
7069
7093
  :type LayoutParams: :class:`tencentcloud.trtc.v20190722.models.LayoutParams`
7070
- :param _PublishCdnParams: 第三方CDN转推参数。
7094
+ :param _PublishCdnParams: 第三方CDN转推参数。如需转推至腾讯云云直播,此参数无需填写,会默认转推
7071
7095
  :type PublishCdnParams: :class:`tencentcloud.trtc.v20190722.models.PublishCdnParams`
7072
7096
  """
7073
7097
  self._SdkAppId = None
@@ -7193,7 +7217,7 @@ class StartMCUMixTranscodeRequest(AbstractModel):
7193
7217
  :type EncodeParams: :class:`tencentcloud.trtc.v20190722.models.EncodeParams`
7194
7218
  :param _LayoutParams: 混流输出布局参数。
7195
7219
  :type LayoutParams: :class:`tencentcloud.trtc.v20190722.models.LayoutParams`
7196
- :param _PublishCdnParams: 第三方CDN转推参数。
7220
+ :param _PublishCdnParams: 第三方CDN转推参数。如需转推至腾讯云云直播,此参数无需填写,会默认转推
7197
7221
  :type PublishCdnParams: :class:`tencentcloud.trtc.v20190722.models.PublishCdnParams`
7198
7222
  """
7199
7223
  self._SdkAppId = None
@@ -57,7 +57,7 @@ class TrtcClient(AbstractClient):
57
57
  if isinstance(e, TencentCloudSDKException):
58
58
  raise
59
59
  else:
60
- raise TencentCloudSDKException(e.message, e.message)
60
+ raise TencentCloudSDKException(type(e).__name__, str(e))
61
61
 
62
62
 
63
63
  def CreatePicture(self, request):
@@ -80,7 +80,7 @@ class TrtcClient(AbstractClient):
80
80
  if isinstance(e, TencentCloudSDKException):
81
81
  raise
82
82
  else:
83
- raise TencentCloudSDKException(e.message, e.message)
83
+ raise TencentCloudSDKException(type(e).__name__, str(e))
84
84
 
85
85
 
86
86
  def DeleteCloudRecording(self, request):
@@ -103,7 +103,7 @@ class TrtcClient(AbstractClient):
103
103
  if isinstance(e, TencentCloudSDKException):
104
104
  raise
105
105
  else:
106
- raise TencentCloudSDKException(e.message, e.message)
106
+ raise TencentCloudSDKException(type(e).__name__, str(e))
107
107
 
108
108
 
109
109
  def DeletePicture(self, request):
@@ -126,7 +126,7 @@ class TrtcClient(AbstractClient):
126
126
  if isinstance(e, TencentCloudSDKException):
127
127
  raise
128
128
  else:
129
- raise TencentCloudSDKException(e.message, e.message)
129
+ raise TencentCloudSDKException(type(e).__name__, str(e))
130
130
 
131
131
 
132
132
  def DescribeCallDetailInfo(self, request):
@@ -152,7 +152,7 @@ class TrtcClient(AbstractClient):
152
152
  if isinstance(e, TencentCloudSDKException):
153
153
  raise
154
154
  else:
155
- raise TencentCloudSDKException(e.message, e.message)
155
+ raise TencentCloudSDKException(type(e).__name__, str(e))
156
156
 
157
157
 
158
158
  def DescribeCloudRecording(self, request):
@@ -176,7 +176,7 @@ class TrtcClient(AbstractClient):
176
176
  if isinstance(e, TencentCloudSDKException):
177
177
  raise
178
178
  else:
179
- raise TencentCloudSDKException(e.message, e.message)
179
+ raise TencentCloudSDKException(type(e).__name__, str(e))
180
180
 
181
181
 
182
182
  def DescribeMixTranscodingUsage(self, request):
@@ -204,7 +204,7 @@ class TrtcClient(AbstractClient):
204
204
  if isinstance(e, TencentCloudSDKException):
205
205
  raise
206
206
  else:
207
- raise TencentCloudSDKException(e.message, e.message)
207
+ raise TencentCloudSDKException(type(e).__name__, str(e))
208
208
 
209
209
 
210
210
  def DescribePicture(self, request):
@@ -227,7 +227,7 @@ class TrtcClient(AbstractClient):
227
227
  if isinstance(e, TencentCloudSDKException):
228
228
  raise
229
229
  else:
230
- raise TencentCloudSDKException(e.message, e.message)
230
+ raise TencentCloudSDKException(type(e).__name__, str(e))
231
231
 
232
232
 
233
233
  def DescribeRecordStatistic(self, request):
@@ -255,7 +255,7 @@ class TrtcClient(AbstractClient):
255
255
  if isinstance(e, TencentCloudSDKException):
256
256
  raise
257
257
  else:
258
- raise TencentCloudSDKException(e.message, e.message)
258
+ raise TencentCloudSDKException(type(e).__name__, str(e))
259
259
 
260
260
 
261
261
  def DescribeRecordingUsage(self, request):
@@ -283,7 +283,7 @@ class TrtcClient(AbstractClient):
283
283
  if isinstance(e, TencentCloudSDKException):
284
284
  raise
285
285
  else:
286
- raise TencentCloudSDKException(e.message, e.message)
286
+ raise TencentCloudSDKException(type(e).__name__, str(e))
287
287
 
288
288
 
289
289
  def DescribeRelayUsage(self, request):
@@ -311,7 +311,7 @@ class TrtcClient(AbstractClient):
311
311
  if isinstance(e, TencentCloudSDKException):
312
312
  raise
313
313
  else:
314
- raise TencentCloudSDKException(e.message, e.message)
314
+ raise TencentCloudSDKException(type(e).__name__, str(e))
315
315
 
316
316
 
317
317
  def DescribeRoomInfo(self, request):
@@ -337,7 +337,7 @@ class TrtcClient(AbstractClient):
337
337
  if isinstance(e, TencentCloudSDKException):
338
338
  raise
339
339
  else:
340
- raise TencentCloudSDKException(e.message, e.message)
340
+ raise TencentCloudSDKException(type(e).__name__, str(e))
341
341
 
342
342
 
343
343
  def DescribeScaleInfo(self, request):
@@ -360,7 +360,7 @@ class TrtcClient(AbstractClient):
360
360
  if isinstance(e, TencentCloudSDKException):
361
361
  raise
362
362
  else:
363
- raise TencentCloudSDKException(e.message, e.message)
363
+ raise TencentCloudSDKException(type(e).__name__, str(e))
364
364
 
365
365
 
366
366
  def DescribeTRTCMarketQualityMetricData(self, request):
@@ -391,7 +391,7 @@ class TrtcClient(AbstractClient):
391
391
  if isinstance(e, TencentCloudSDKException):
392
392
  raise
393
393
  else:
394
- raise TencentCloudSDKException(e.message, e.message)
394
+ raise TencentCloudSDKException(type(e).__name__, str(e))
395
395
 
396
396
 
397
397
  def DescribeTRTCMarketScaleMetricData(self, request):
@@ -421,7 +421,7 @@ class TrtcClient(AbstractClient):
421
421
  if isinstance(e, TencentCloudSDKException):
422
422
  raise
423
423
  else:
424
- raise TencentCloudSDKException(e.message, e.message)
424
+ raise TencentCloudSDKException(type(e).__name__, str(e))
425
425
 
426
426
 
427
427
  def DescribeTRTCRealTimeQualityMetricData(self, request):
@@ -449,7 +449,7 @@ class TrtcClient(AbstractClient):
449
449
  if isinstance(e, TencentCloudSDKException):
450
450
  raise
451
451
  else:
452
- raise TencentCloudSDKException(e.message, e.message)
452
+ raise TencentCloudSDKException(type(e).__name__, str(e))
453
453
 
454
454
 
455
455
  def DescribeTRTCRealTimeScaleMetricData(self, request):
@@ -479,7 +479,7 @@ class TrtcClient(AbstractClient):
479
479
  if isinstance(e, TencentCloudSDKException):
480
480
  raise
481
481
  else:
482
- raise TencentCloudSDKException(e.message, e.message)
482
+ raise TencentCloudSDKException(type(e).__name__, str(e))
483
483
 
484
484
 
485
485
  def DescribeTrtcMcuTranscodeTime(self, request):
@@ -506,14 +506,15 @@ class TrtcClient(AbstractClient):
506
506
  if isinstance(e, TencentCloudSDKException):
507
507
  raise
508
508
  else:
509
- raise TencentCloudSDKException(e.message, e.message)
509
+ raise TencentCloudSDKException(type(e).__name__, str(e))
510
510
 
511
511
 
512
512
  def DescribeTrtcRoomUsage(self, request):
513
513
  """查询TRTC音视频房间维度用量。
514
514
  - 单次只能查询一天数据,返回查询时间段内的汇总数据;通过多次查询可以查不同天数据。若查询跨天用量,由于统计延迟等原因,返回数据可能不够准确。
515
- - 该接口只用于历史用量数据统计或核对数据使用,关键业务逻辑不能使用。
515
+ - 该接口只用于历史用量数据统计或核对数据使用,关键业务逻辑不能使用,不可用于账单核对,如需对账请使用账号/应用维度用量API:DescribeTrtcUsage。
516
516
  - 默认接口请求频率限制:1次/15秒。
517
+ - 数据最早可查日期为2023年4月1日0点,最大可查范围近3个月。
517
518
 
518
519
  :param request: Request instance for DescribeTrtcRoomUsage.
519
520
  :type request: :class:`tencentcloud.trtc.v20190722.models.DescribeTrtcRoomUsageRequest`
@@ -532,7 +533,7 @@ class TrtcClient(AbstractClient):
532
533
  if isinstance(e, TencentCloudSDKException):
533
534
  raise
534
535
  else:
535
- raise TencentCloudSDKException(e.message, e.message)
536
+ raise TencentCloudSDKException(type(e).__name__, str(e))
536
537
 
537
538
 
538
539
  def DescribeTrtcUsage(self, request):
@@ -560,7 +561,7 @@ class TrtcClient(AbstractClient):
560
561
  if isinstance(e, TencentCloudSDKException):
561
562
  raise
562
563
  else:
563
- raise TencentCloudSDKException(e.message, e.message)
564
+ raise TencentCloudSDKException(type(e).__name__, str(e))
564
565
 
565
566
 
566
567
  def DescribeUnusualEvent(self, request):
@@ -584,7 +585,7 @@ class TrtcClient(AbstractClient):
584
585
  if isinstance(e, TencentCloudSDKException):
585
586
  raise
586
587
  else:
587
- raise TencentCloudSDKException(e.message, e.message)
588
+ raise TencentCloudSDKException(type(e).__name__, str(e))
588
589
 
589
590
 
590
591
  def DescribeUserEvent(self, request):
@@ -607,7 +608,7 @@ class TrtcClient(AbstractClient):
607
608
  if isinstance(e, TencentCloudSDKException):
608
609
  raise
609
610
  else:
610
- raise TencentCloudSDKException(e.message, e.message)
611
+ raise TencentCloudSDKException(type(e).__name__, str(e))
611
612
 
612
613
 
613
614
  def DescribeUserInfo(self, request):
@@ -633,7 +634,7 @@ class TrtcClient(AbstractClient):
633
634
  if isinstance(e, TencentCloudSDKException):
634
635
  raise
635
636
  else:
636
- raise TencentCloudSDKException(e.message, e.message)
637
+ raise TencentCloudSDKException(type(e).__name__, str(e))
637
638
 
638
639
 
639
640
  def DismissRoom(self, request):
@@ -656,7 +657,7 @@ class TrtcClient(AbstractClient):
656
657
  if isinstance(e, TencentCloudSDKException):
657
658
  raise
658
659
  else:
659
- raise TencentCloudSDKException(e.message, e.message)
660
+ raise TencentCloudSDKException(type(e).__name__, str(e))
660
661
 
661
662
 
662
663
  def DismissRoomByStrRoomId(self, request):
@@ -679,7 +680,7 @@ class TrtcClient(AbstractClient):
679
680
  if isinstance(e, TencentCloudSDKException):
680
681
  raise
681
682
  else:
682
- raise TencentCloudSDKException(e.message, e.message)
683
+ raise TencentCloudSDKException(type(e).__name__, str(e))
683
684
 
684
685
 
685
686
  def ModifyCloudRecording(self, request):
@@ -702,7 +703,7 @@ class TrtcClient(AbstractClient):
702
703
  if isinstance(e, TencentCloudSDKException):
703
704
  raise
704
705
  else:
705
- raise TencentCloudSDKException(e.message, e.message)
706
+ raise TencentCloudSDKException(type(e).__name__, str(e))
706
707
 
707
708
 
708
709
  def ModifyPicture(self, request):
@@ -725,7 +726,7 @@ class TrtcClient(AbstractClient):
725
726
  if isinstance(e, TencentCloudSDKException):
726
727
  raise
727
728
  else:
728
- raise TencentCloudSDKException(e.message, e.message)
729
+ raise TencentCloudSDKException(type(e).__name__, str(e))
729
730
 
730
731
 
731
732
  def RemoveUser(self, request):
@@ -748,7 +749,7 @@ class TrtcClient(AbstractClient):
748
749
  if isinstance(e, TencentCloudSDKException):
749
750
  raise
750
751
  else:
751
- raise TencentCloudSDKException(e.message, e.message)
752
+ raise TencentCloudSDKException(type(e).__name__, str(e))
752
753
 
753
754
 
754
755
  def RemoveUserByStrRoomId(self, request):
@@ -771,7 +772,7 @@ class TrtcClient(AbstractClient):
771
772
  if isinstance(e, TencentCloudSDKException):
772
773
  raise
773
774
  else:
774
- raise TencentCloudSDKException(e.message, e.message)
775
+ raise TencentCloudSDKException(type(e).__name__, str(e))
775
776
 
776
777
 
777
778
  def StartMCUMixTranscode(self, request):
@@ -814,7 +815,7 @@ class TrtcClient(AbstractClient):
814
815
  if isinstance(e, TencentCloudSDKException):
815
816
  raise
816
817
  else:
817
- raise TencentCloudSDKException(e.message, e.message)
818
+ raise TencentCloudSDKException(type(e).__name__, str(e))
818
819
 
819
820
 
820
821
  def StartMCUMixTranscodeByStrRoomId(self, request):
@@ -857,32 +858,106 @@ class TrtcClient(AbstractClient):
857
858
  if isinstance(e, TencentCloudSDKException):
858
859
  raise
859
860
  else:
860
- raise TencentCloudSDKException(e.message, e.message)
861
+ raise TencentCloudSDKException(type(e).__name__, str(e))
861
862
 
862
863
 
863
864
  def StartPublishCdnStream(self, request):
864
- """接口说明:启动旁路以及混流转推任务。TRTC 的房间中可能会同时存在多路音视频流,您可以通过此API接口,实现以下几种效果:
865
- 1、支持将单个主播的音视频流发布(也称作“转推”)到直播CDN上,请参考示例2(发起单流音视频旁路转推)和示例3(发起单流纯音频旁路转推)。
866
- 2、支持将同个房间多个主播或者不同房间多个主播的音视频混合成1路后再发布到直播CDN上,您可以通过AudioParams.SubscribeAudioList和VideoParams.LayoutParams调整参与混音的用户列表以及指定各路混流画面的布局位置。请参考示例1(发起混流转推)。
867
- 3、支持预先设置一个房间的混流模板,将该房间中的多个音视频混合成1路发布到直播CDN,腾讯云后台实时监控TRTC房间中的主播变化,自动按照混流模板调整布局。目前已经支持了如下几种混流预设模板:
868
- - 悬浮模板:第一个进入房间的用户的视频画面会铺满整个屏幕,其他用户的视频画面从左下角依次水平排列,显示为小画面,最多4行,每行4个,小画面悬浮于大画面之上。最多支持1个大画面和15个小画面。
869
- - 九宫格模板:所有用户的视频画面大小一致,平分整个屏幕,人数越多,每个画面的尺寸越小,最多支持16个画面。
870
- - 屏幕分享模板:适合视频会议和在线教育场景的布局,屏幕分享(或者主讲的摄像头)始终占据屏幕左侧的大画面位置,其他用户依次垂直排列于右侧,最多两列,每列最多8个小画面。最多支持1个大画面和15个小画面。若上行分辨率宽高比与画面输出宽高比不一致时,左侧大画面为了保持内容的完整性采用缩放方式处理,右侧小画面采用裁剪方式处理。
871
- 4、支持同时将音视频流发布到最多10个直播CDN上。您可以通过PublishCdnParams.PublishCdnUrl指定转推CDN的url,如果您想转推到腾讯云CDN,PublishCdnParams.IsTencentCdn填为1。
872
- 5、支持通过配置服务端回调,实时将转推状态以HTTP/HTTPS POST 请求发送给您的服务器,如果您需要接入转推事件回调,请联系腾讯云技术支持。
873
- 6、云API调用支持广州、上海、北京、香港四个地域,如果您想转推海外,请选择香港地域。
874
- 7、国内站默认只支持转推腾讯云CDN,如您有转推第三方CDN的需求,请联系腾讯云技术支持,由后台进行评估。
875
- 注意:
876
- 1、**混流转码为收费功能,调用接口将产生云端混流转码费用,详见[云端混流转推计费说明](https://cloud.tencent.com/document/product/647/49446)。**
877
- 2、**转推非腾讯云CDN将产生云端转推费用,详见[云端混流转推计费说明](https://cloud.tencent.com/document/product/647/82155)。**
878
-
879
- 其他使用说明如下:
865
+ """TRTC房间中可能会同时存在多路音视频流,您可以通过混流转推API,通知腾讯云服务端将同个房间或者多个房间的多路视频画面混合到一起,并指定每一路画面的位置,同时将多路声音进行混音,最终形成一路音视频流,以便用于录制和直播观看,同时可以支持将这一路音视频的混流回推到TRTC房间内部。
866
+
867
+ 云api混流转推功能包含三个接口:
868
+ 1、StartPublishCdnStream:启动一个混流转推任务,此接口会发起一个新的混流转推任务,启动成功后会返回一个sdkappid维度唯一的任务id(TaskId)。您需要保存该TaskId,后续需要依赖此TaskId更新任务和结束任务。
869
+ 2、UpdatePublishCdnStream:更新指定的混流转推任务,包括:更新视频画面的布局、更新混音列表、更新转推cdn的地址列表以及更新回推房间列表。
870
+ 3、StopPublishCdnStream:停止指定的混流转推任务。
871
+
872
+ 您可以通过此套接口实现目标:
873
+ 1、设置最终混流的画质和音质,包括视频分辨率、视频帧率、视频码率,和音频质量。
874
+ 2、设置每一路画面的布局位置,您只需要设置一次,后续您指定的混流用户进房上行音视频时,排版引擎会自动将该用户的画面混合到您指定的布局位置。同时您可以使用更新接口调整画面的布局位置。
875
+ 3、设置多个cdn转推的目的地址,一个转推任务最多可以同时设置10个cdn转推地址,如果您需要转推非腾讯云的cdn地址时,需要联系腾讯云开通能力。
876
+ 4、设置多个回推房间列表,一个转推任务最多可以同时将混流回推到10个TRTC房间。
877
+
878
+ 目前已经支持如下几种布局模版,其中动态布局模版(悬浮模板、九宫格模板、屏幕分享模板)只支持单个TRTC房间,自定义模版支持混合多个TRTC房间内的音视频流。具体说明如下:
879
+ 1、悬浮模板:第一个进入房间的用户的视频画面会铺满整个屏幕,其他用户的视频画面从左下角依次水平排列,显示为小画面,最多4行,每行4个,小画面悬浮于大画面之上。最多支持1个大画面和15个小画面,如果用户只发送音频默认不占布局配置,也支持设置。每个子画面默认采用居中裁剪的方式进行渲染,也支持统一设置子画面的渲染方式。
880
+ 2、九宫格模板:所有用户的视频画面大小一致,平分整个屏幕,人数越多,每个画面的尺寸越小。最多支持16个画面,如果用户只发送音频,默认不占布局配置,也支持设置。每个子画面默认采用居中裁剪的方式进行渲染,也支持统一设置子画面的渲染方式。
881
+ 3、屏幕分享模板:适合视频会议和在线教育场景的布局,屏幕分享(或者主讲的摄像头)始终占据屏幕左侧的大画面位置,需要您明确设置占据大画面的混流用户信息。其他用户依次垂直排列于右侧,最多两列,每列最多8个小画面。最多支持1个大画面和15个小画面。若上行分辨率宽高比与画面输出宽高比不一致时,左侧大画面为了保持内容的完整性采用缩放方式处理,右侧小画面采用裁剪方式处理,也支持统一设置子画面的渲染方式。
882
+ 4、自定义布局模版:支持您主动根据业务需要设置布局位置,每个预设的布局位置支持具名设置(具名设置需要明确指定房间号和用户名)和不具名设置。当一个子画面具名设置时,该位置就为该用户预留,用户进房且上行音视频数据时会自动占据该位置,其它用户不会占据该位置。当预设的布局位置未具名时,排版引擎会根据进房间顺序自动填充,预设位置填满时,不再混合其它用户的画面和声音。每个子画面位置支持设置占位图(BackgroundImageUrl),当用户未进房或者只上行音频数据时,该位置画面可显示对应的占位图画面。
883
+
884
+ 您可以控制台开通旁路转推回调功能实现转推cdn状态的事件监控,具体说明请参考官网文档:[旁路转推回调说明](https://cloud.tencent.com/document/product/647/88552)
885
+ 您使用转推api时根据使用特性可能会产生如下费用:
886
+ MCU混流转码费用请参考文档:[云端混流转码计费说明](https://cloud.tencent.com/document/product/647/49446)
887
+ 转推非腾讯云CDN费用请参考文档:[云端转推计费说明](https://cloud.tencent.com/document/product/647/82155)
888
+
889
+ 参数的使用说明:
890
+ 1、AgentParams:每个转推任务会拉起一个机器人用户进入TRTC房间进行拉流,您需要通过AgentParams.UserId参数进行设置,这个机器人id不能和房间中的普通用户id冲突,否则会导致转推任务由于机器人用户被踢出TRTC房间而异常结束,您可以通过增加特殊前缀的方式规避。您可以通过设置AgentParams.MaxIdleTime控制转推任务的自动结束,当设置此参数时,所有参与混流转推的主播持续离开TRTC房间超过MaxIdleTime的时长,自动停止转推任务。注意:参与混流转推的主播仅是停止音视频上行,转推任务不会自动停止。
891
+ 2、WithTranscoding:如果需要将多路音视频流混合到一路时,WithTranscoding必须设置为1。
892
+ 3、AudioParams:转推任务音频参数和视频参数是分开设置的,若您想要将指定的用户音频进行混音时,需要明确设置AudioParams.SubscribeAudioList。若您不设置AudioParams.SubscribeAudioList,混音引擎会自动将TRTC房间中所有用户的音频混合。若您想要混合TRTC房间除指定用户之外的所有用户的声音,可以通过AudioParams.UnSubscribeAudioList设置音频黑名单列表。
893
+ 4、VideoParams:若您想要将用户的视频混合,可以通过VideoParams设置,若只想要混纯音频,则不用设置VideoParams参数。您可以通过VideoParams.LayoutParams.MixLayoutMode设置画面的布局模式,包括:动态布局(1:悬浮布局(默认),2:屏幕分享布局,3:九宫格布局)和自定义布局。动态布局模式由排版引擎按照固定的布局自动混合,不需要设置VideoParams.LayoutParams.MixLayoutList。当使用悬浮布局和屏幕分享布局时,您可以通过设置VideoParams.LayoutParams.MaxVideoUser参数指定大画面用户。自定义布局模式提供给您自主布局画面的能力,可以通过VideoParams.LayoutParams.MixLayoutList参数指定每个用户所在的布局位置。在每个布局参数中,您可以通过用户媒体流参数(UserMediaStream)指定这个布局位置为指定的用户预留,也可以不设置UserMediaStream,由排版引擎按照用户进入TRTC房间的顺序自动填充,另外您也可以设置每个布局位置的渲染方式(RenderMode)和裁剪方式(CustomCrop)。
894
+ 5、VideoParams.WaterMarkList:若您想要混流画面中叠加水印,可以通过VideoParams.WaterMarkList参数设置,支持图片水印和文字水印,支持透明通道。
895
+ 6、SingleSubscribeParams:若您想要将TRTC房间中的一路单流推到CDN,可以使用SingleSubscribeParams参数设置,此时需要将WithTranscoding参数设置为0。
896
+ 7、PublishCdnParams.N:若您想要推流到CDN,可以使用PublishCdnParams.N参数设置,支持最多同时推流到10个CDN地址。若转推地址是腾讯云CDN时,请将IsTencentCdn明确设置为1;若您有转推非腾讯云CDN的需求时,请联系腾讯云技术支持开通,转推非腾讯云会产生转推费用,费用说明请参考官网文档:[云端转推计费说明](https://cloud.tencent.com/document/product/647/82155)。
897
+ 8、FeedBackRoomParams.N:若您想要将混合的音视频流回推到TRTC房间,可以使用FeedBackRoomParams.N参数设置,支持最多同时推10路流回TRTC房间。您需要指定回推的TRTC房间号和机器人ID(UserId),机器人ID不能与普通用户ID冲突,否则会导致转推任务由于机器人用户被踢出TRTC房间而异常结束,您可以通过增加特殊前缀的方式规避。
898
+ 9、SeiParams:若您想要混合的音视频流中增加SEI信息时,可以使用SeiParams参数设置,支持音量布局SEI和叠加转推请求中的SEI,其中音量布局SEI的内容是固定的json结构,具体请看本章节后续的SEI说明。您可以通过FollowIdr参数设置SEI跟随关键帧一起发送。音量布局sei的说明如下:
899
+ 如果您的CDN观众端需要识别到参与混流的主播位置,以及需要识别到参与混流的主播的音量信息,可以通过音量布局sei实现。音量布局sei的payload内容及参数说明如下:
900
+
901
+ ```
902
+ {
903
+ "app_data":"",
904
+ "canvas":{
905
+ "w":1080,
906
+ "h":960
907
+ },
908
+ "regions":[
909
+ {
910
+ "uid":"65949987242835883c",
911
+ "zorder":2,
912
+ "volume":45,
913
+ "x":270,
914
+ "y":480,
915
+ "w":540,
916
+ "h":480
917
+ },
918
+ {
919
+ "uid":"659c9d8d242b328d31",
920
+ "zorder":2,
921
+ "volume":0,
922
+ "x":0,
923
+ "y":0,
924
+ "w":540,
925
+ "h":480
926
+ },
927
+ {
928
+ "uid":"64989a82272b308c",
929
+ "zorder":2,
930
+ "volume":91,
931
+ "x":540,
932
+ "y":0,
933
+ "w":540,
934
+ "h":480
935
+ }
936
+ ],
937
+ "ver":"1.0",
938
+ "ts":1648544726
939
+ }
940
+ ```
941
+ canvas:这个是混流信令中VideoEncode设置的宽高,即:混流输出的整个画布宽高。
942
+ regions:里面是真实混入的用户id和对应的子画面位置,若参与混流的用户未进入TRTC房间或者未开启视频上行,regions中不会包含该用户。
943
+ uid:代表参与混流的用户ID。
944
+ zorder:参与混流userid在混流输出的层级。
945
+ x/y:参与混流userid的子画面在画布的坐标。
946
+ w/h:参与混流userid的子画面的大小。
947
+ volume:代表混流用户的音量,取值范围为0-100,值越大,代表该用户参与混流时的音量越大。
948
+ ts:是输出sei的服务器本地秒级时戳。
949
+ ver:可以忽略。
950
+
951
+ 其它使用注意事项:
880
952
  1、使用混流转推接口时,您需要先调用启动转推任务接口(StartPublishCdnStream),获取启动转推任务响应中的任务ID标识(TaskId)。后续传入任务ID标识(TaskId)来更新转推任务(UpdatePublishCdnStream)和停止转推任务(StopPublishCdnStream)。
881
- 2、为了确保转推链接的稳定,同一个转推任务不支持纯音频、音视频、纯视频之间的切换。
882
- 3、为了确保转推链接的稳定,更新转推任务接口(UpdatePublishCdnStream)时不支持更改视频参数(codec)和音频参数(codec、采样率、码率、声道数),其余参数建议全量带齐,如您有转码/非转码切换,其余参数则必须全量带齐。
883
- 4、发起单流旁路任务时,AudioParams和VideoParams都填写表示音视频旁路,如果仅填写AudioParams表示纯音频旁路,任务进行过程中不支持纯音频到音视频的切换。音视频旁路时,VideoParams中的Width、Height、Fps、BitRate、Gop需要按照真实上行参数填写。
884
- 5、更新转推任务(UpdatePublishCdnStream)必须携带SequenceNumber参数,用于防止请求乱序。客户保证对同一个任务更新时的SequenceNumber参数递增:腾讯云返回InternalError错误码时,需重试请求(不换SequenceNumber);腾讯云返回FailedOperation.OutdateRequest过期错误码时,无需处理即可。
885
- 6、您可以在主播进房前,提前创建转推任务,结束转推任务时需要主动调用停止接口。如果您没有调用停止转推任务接口时,腾讯云后台会按照所有参与混流的用户没有任何数据上行的时间算起,直到超过启动转推任务时设置的超时时间(AgentParams.MaxIdleTime)为止,自动停止混流转推任务。
953
+ 2、转推API不支持发起到TRTC控制台配置的自动旁路任务,以及通过TRTC SDK进房接口中设置的自定义流ID的旁路任务。
954
+ 3、为了确保转推链接的稳定,同一个转推任务不支持纯音频、音视频、纯视频之间的切换。
955
+ 4、为了确保转推链接的稳定,不支持update时更新视频参数(codec)和音频参数(codec、采样率、码率、声道数)。
956
+ 5、发起单流旁路任务时,AudioParams和VideoParams都填写表示音视频旁路,如果仅填写AudioParams表示纯音频旁路,任务进行过程中不支持纯音频到音视频的切换。音视频旁路时,VideoParams中的Width、Height、Fps、BitRate、Gop需要按照真实上行参数填写。
957
+ 6、更新请求中必须携带SequenceNumber参数,用于防止请求乱序。客户保证对同一个任务更新时的SequenceNumber参数递增,否则会导致混流任务更新失败。
958
+ 7、调用api时region选择说明:如果应用id是1400xxx时,region可填北京、上海、广州、香港,如果您的cdn观众主要在海外,请选择香港;如果应用id是200xxx或400xxx时,region请选择新加坡。
959
+ 8、回推到TRTC房间的流不会参与其他回推房间任务的混流,满足下面条件之一时,可以参与其他转推cdn任务的混流: (1) 转推cdn任务在视频参数中通过具名方式指定推流机器人参与混流;(2) 转推cdn任务在音频参数中通过白名单方式指定推流机器人参与混流;(3) 转推cdn任务参与混流用户的房间号与回推机器人对应混流用户的房间号完全不同。
960
+ 9、您可以在主播进房前,提前创建转推任务,结束转推任务时需要主动调用停止接口。如果您没有调用停止转推任务接口时,腾讯云后台会按照所有参与混流的用户没有任何数据上行的时间算起,直到超过启动转推任务时设置的超时时间(AgentParams.MaxIdleTime)为止,自动停止混流转推任务。
886
961
 
887
962
  :param request: Request instance for StartPublishCdnStream.
888
963
  :type request: :class:`tencentcloud.trtc.v20190722.models.StartPublishCdnStreamRequest`
@@ -901,7 +976,7 @@ class TrtcClient(AbstractClient):
901
976
  if isinstance(e, TencentCloudSDKException):
902
977
  raise
903
978
  else:
904
- raise TencentCloudSDKException(e.message, e.message)
979
+ raise TencentCloudSDKException(type(e).__name__, str(e))
905
980
 
906
981
 
907
982
  def StopMCUMixTranscode(self, request):
@@ -924,7 +999,7 @@ class TrtcClient(AbstractClient):
924
999
  if isinstance(e, TencentCloudSDKException):
925
1000
  raise
926
1001
  else:
927
- raise TencentCloudSDKException(e.message, e.message)
1002
+ raise TencentCloudSDKException(type(e).__name__, str(e))
928
1003
 
929
1004
 
930
1005
  def StopMCUMixTranscodeByStrRoomId(self, request):
@@ -947,7 +1022,7 @@ class TrtcClient(AbstractClient):
947
1022
  if isinstance(e, TencentCloudSDKException):
948
1023
  raise
949
1024
  else:
950
- raise TencentCloudSDKException(e.message, e.message)
1025
+ raise TencentCloudSDKException(type(e).__name__, str(e))
951
1026
 
952
1027
 
953
1028
  def StopPublishCdnStream(self, request):
@@ -970,7 +1045,7 @@ class TrtcClient(AbstractClient):
970
1045
  if isinstance(e, TencentCloudSDKException):
971
1046
  raise
972
1047
  else:
973
- raise TencentCloudSDKException(e.message, e.message)
1048
+ raise TencentCloudSDKException(type(e).__name__, str(e))
974
1049
 
975
1050
 
976
1051
  def UpdatePublishCdnStream(self, request):
@@ -994,4 +1069,4 @@ class TrtcClient(AbstractClient):
994
1069
  if isinstance(e, TencentCloudSDKException):
995
1070
  raise
996
1071
  else:
997
- raise TencentCloudSDKException(e.message, e.message)
1072
+ raise TencentCloudSDKException(type(e).__name__, str(e))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: tencentcloud-sdk-python-trtc
3
- Version: 3.0.932
3
+ Version: 3.0.952
4
4
  Summary: Tencent Cloud Trtc SDK for Python
5
5
  Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
6
6
  Author: Tencent Cloud
@@ -10,4 +10,5 @@ tencentcloud/trtc/v20190722/trtc_client.py
10
10
  tencentcloud_sdk_python_trtc.egg-info/PKG-INFO
11
11
  tencentcloud_sdk_python_trtc.egg-info/SOURCES.txt
12
12
  tencentcloud_sdk_python_trtc.egg-info/dependency_links.txt
13
+ tencentcloud_sdk_python_trtc.egg-info/requires.txt
13
14
  tencentcloud_sdk_python_trtc.egg-info/top_level.txt
@@ -0,0 +1 @@
1
+ tencentcloud-sdk-python-common==3.0.952