tencentcloud-sdk-python 3.0.1200__py2.py3-none-any.whl → 3.0.1201__py2.py3-none-any.whl

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.
@@ -583,3 +583,6 @@ UNSUPPORTEDOPERATION_PAYEREXISTACCOUNTLEVELDISCOUNTINHERIT = 'UnsupportedOperati
583
583
 
584
584
  # 存在二级经销商子客,不支持代付费。
585
585
  UNSUPPORTEDOPERATION_SECONDARYDISTRIBUTORSUBCLIENTEXISTED = 'UnsupportedOperation.SecondaryDistributorSubClientExisted'
586
+
587
+ # 不支持共享给其他组织成员。
588
+ UNSUPPORTEDOPERATION_SHARINGTOOTHERORGANIZATIONMEMBER = 'UnsupportedOperation.SharingToOtherOrganizationMember'
@@ -682,12 +682,15 @@ class DescribeDeviceListRequest(AbstractModel):
682
682
  :type PageSize: int
683
683
  :param _PageNumber: 当前页码,不填默认为1(首页)
684
684
  :type PageNumber: int
685
+ :param _DeviceStatus: 设备状态筛选,不填默认为不过滤。取值:["ready","connected","online"],online代表ready或connected
686
+ :type DeviceStatus: str
685
687
  """
686
688
  self._ProjectId = None
687
689
  self._DeviceType = None
688
690
  self._SearchWords = None
689
691
  self._PageSize = None
690
692
  self._PageNumber = None
693
+ self._DeviceStatus = None
691
694
 
692
695
  @property
693
696
  def ProjectId(self):
@@ -729,6 +732,14 @@ class DescribeDeviceListRequest(AbstractModel):
729
732
  def PageNumber(self, PageNumber):
730
733
  self._PageNumber = PageNumber
731
734
 
735
+ @property
736
+ def DeviceStatus(self):
737
+ return self._DeviceStatus
738
+
739
+ @DeviceStatus.setter
740
+ def DeviceStatus(self, DeviceStatus):
741
+ self._DeviceStatus = DeviceStatus
742
+
732
743
 
733
744
  def _deserialize(self, params):
734
745
  self._ProjectId = params.get("ProjectId")
@@ -736,6 +747,7 @@ class DescribeDeviceListRequest(AbstractModel):
736
747
  self._SearchWords = params.get("SearchWords")
737
748
  self._PageSize = params.get("PageSize")
738
749
  self._PageNumber = params.get("PageNumber")
750
+ self._DeviceStatus = params.get("DeviceStatus")
739
751
  memeber_set = set(params.keys())
740
752
  for name, value in vars(self).items():
741
753
  property_name = name[1:]
@@ -2962,6 +2974,105 @@ class ModifyProjectResponse(AbstractModel):
2962
2974
  self._RequestId = params.get("RequestId")
2963
2975
 
2964
2976
 
2977
+ class MultiNet(AbstractModel):
2978
+ """多网的网卡状态信息
2979
+
2980
+ """
2981
+
2982
+ def __init__(self):
2983
+ r"""
2984
+ :param _NetId: 网卡序号
2985
+ 注意:此字段可能返回 null,表示取不到有效值。
2986
+ :type NetId: int
2987
+ :param _NetIp: 网卡IP
2988
+ 注意:此字段可能返回 null,表示取不到有效值。
2989
+ :type NetIp: str
2990
+ :param _Rtt: 时延,单位ms
2991
+ 注意:此字段可能返回 null,表示取不到有效值。
2992
+ :type Rtt: list of int
2993
+ :param _Lost: 丢包率,单位%
2994
+ 注意:此字段可能返回 null,表示取不到有效值。
2995
+ :type Lost: list of int
2996
+ :param _SendBps: 发送bps,单位kbps
2997
+ 注意:此字段可能返回 null,表示取不到有效值。
2998
+ :type SendBps: list of int
2999
+ :param _RecvBps: 接收bps,单位kbps
3000
+ 注意:此字段可能返回 null,表示取不到有效值。
3001
+ :type RecvBps: list of int
3002
+ """
3003
+ self._NetId = None
3004
+ self._NetIp = None
3005
+ self._Rtt = None
3006
+ self._Lost = None
3007
+ self._SendBps = None
3008
+ self._RecvBps = None
3009
+
3010
+ @property
3011
+ def NetId(self):
3012
+ return self._NetId
3013
+
3014
+ @NetId.setter
3015
+ def NetId(self, NetId):
3016
+ self._NetId = NetId
3017
+
3018
+ @property
3019
+ def NetIp(self):
3020
+ return self._NetIp
3021
+
3022
+ @NetIp.setter
3023
+ def NetIp(self, NetIp):
3024
+ self._NetIp = NetIp
3025
+
3026
+ @property
3027
+ def Rtt(self):
3028
+ return self._Rtt
3029
+
3030
+ @Rtt.setter
3031
+ def Rtt(self, Rtt):
3032
+ self._Rtt = Rtt
3033
+
3034
+ @property
3035
+ def Lost(self):
3036
+ return self._Lost
3037
+
3038
+ @Lost.setter
3039
+ def Lost(self, Lost):
3040
+ self._Lost = Lost
3041
+
3042
+ @property
3043
+ def SendBps(self):
3044
+ return self._SendBps
3045
+
3046
+ @SendBps.setter
3047
+ def SendBps(self, SendBps):
3048
+ self._SendBps = SendBps
3049
+
3050
+ @property
3051
+ def RecvBps(self):
3052
+ return self._RecvBps
3053
+
3054
+ @RecvBps.setter
3055
+ def RecvBps(self, RecvBps):
3056
+ self._RecvBps = RecvBps
3057
+
3058
+
3059
+ def _deserialize(self, params):
3060
+ self._NetId = params.get("NetId")
3061
+ self._NetIp = params.get("NetIp")
3062
+ self._Rtt = params.get("Rtt")
3063
+ self._Lost = params.get("Lost")
3064
+ self._SendBps = params.get("SendBps")
3065
+ self._RecvBps = params.get("RecvBps")
3066
+ memeber_set = set(params.keys())
3067
+ for name, value in vars(self).items():
3068
+ property_name = name[1:]
3069
+ if property_name in memeber_set:
3070
+ memeber_set.remove(property_name)
3071
+ if len(memeber_set) > 0:
3072
+ warnings.warn("%s fileds are useless." % ",".join(memeber_set))
3073
+
3074
+
3075
+
2965
3076
  class PolicyInfo(AbstractModel):
2966
3077
  """权限信息
2967
3078
 
@@ -3237,7 +3348,7 @@ class SessionDeviceDetail(AbstractModel):
3237
3348
  :param _DecodeCost: 解码耗时,单位:ms
3238
3349
  注意:此字段可能返回 null,表示取不到有效值。
3239
3350
  :type DecodeCost: list of int
3240
- :param _RenderConst: 渲染耗时,单位:ms
3351
+ :param _RenderConst: 【已废弃,使用RenderCost】
3241
3352
  注意:此字段可能返回 null,表示取不到有效值。
3242
3353
  :type RenderConst: list of int
3243
3354
  :param _K100: 卡顿k100
@@ -3264,6 +3375,36 @@ class SessionDeviceDetail(AbstractModel):
3264
3375
  :param _CaptureCost: 采集耗时,单位:ms
3265
3376
  注意:此字段可能返回 null,表示取不到有效值。
3266
3377
  :type CaptureCost: list of int
3378
+ :param _RenderCost: 渲染耗时,单位:ms
3379
+ 注意:此字段可能返回 null,表示取不到有效值。
3380
+ :type RenderCost: list of int
3381
+ :param _ConfigWidth: 配置宽度
3382
+ 注意:此字段可能返回 null,表示取不到有效值。
3383
+ :type ConfigWidth: int
3384
+ :param _ConfigHeight: 配置高度
3385
+ 注意:此字段可能返回 null,表示取不到有效值。
3386
+ :type ConfigHeight: int
3387
+ :param _FrameDelta: 平均帧间隔
3388
+ 注意:此字段可能返回 null,表示取不到有效值。
3389
+ :type FrameDelta: list of int
3390
+ :param _MaxFrameDelta: 最大帧间隔
3391
+ 注意:此字段可能返回 null,表示取不到有效值。
3392
+ :type MaxFrameDelta: list of int
3393
+ :param _TotalBitrateEstimate: 总码率评估,单位:kbps
3394
+ 注意:此字段可能返回 null,表示取不到有效值。
3395
+ :type TotalBitrateEstimate: list of int
3396
+ :param _Lag100Duration: 帧间隔大于100ms的卡顿时长
3397
+ 注意:此字段可能返回 null,表示取不到有效值。
3398
+ :type Lag100Duration: list of int
3399
+ :param _Lag150Duration: 帧间隔大于150ms的卡顿时长
3400
+ 注意:此字段可能返回 null,表示取不到有效值。
3401
+ :type Lag150Duration: list of int
3402
+ :param _MultiMode: 是否开启多网:0 单网,1 多网
3403
+ 注意:此字段可能返回 null,表示取不到有效值。
3404
+ :type MultiMode: int
3405
+ :param _MultiNet: 多网卡信息
3406
+ 注意:此字段可能返回 null,表示取不到有效值。
3407
+ :type MultiNet: list of MultiNet
3267
3408
  """
3268
3409
  self._DeviceType = None
3269
3410
  self._StartTime = None
@@ -3291,6 +3432,16 @@ class SessionDeviceDetail(AbstractModel):
3291
3432
  self._Height = None
3292
3433
  self._EncodeCost = None
3293
3434
  self._CaptureCost = None
3435
+ self._RenderCost = None
3436
+ self._ConfigWidth = None
3437
+ self._ConfigHeight = None
3438
+ self._FrameDelta = None
3439
+ self._MaxFrameDelta = None
3440
+ self._TotalBitrateEstimate = None
3441
+ self._Lag100Duration = None
3442
+ self._Lag150Duration = None
3443
+ self._MultiMode = None
3444
+ self._MultiNet = None
3294
3445
 
3295
3446
  @property
3296
3447
  def DeviceType(self):
@@ -3430,10 +3581,14 @@ class SessionDeviceDetail(AbstractModel):
3430
3581
 
3431
3582
  @property
3432
3583
  def RenderConst(self):
3584
+ warnings.warn("parameter `RenderConst` is deprecated", DeprecationWarning)
3585
+
3433
3586
  return self._RenderConst
3434
3587
 
3435
3588
  @RenderConst.setter
3436
3589
  def RenderConst(self, RenderConst):
3590
+ warnings.warn("parameter `RenderConst` is deprecated", DeprecationWarning)
3591
+
3437
3592
  self._RenderConst = RenderConst
3438
3593
 
3439
3594
  @property
@@ -3500,6 +3655,86 @@ class SessionDeviceDetail(AbstractModel):
3500
3655
  def CaptureCost(self, CaptureCost):
3501
3656
  self._CaptureCost = CaptureCost
3502
3657
 
3658
+ @property
3659
+ def RenderCost(self):
3660
+ return self._RenderCost
3661
+
3662
+ @RenderCost.setter
3663
+ def RenderCost(self, RenderCost):
3664
+ self._RenderCost = RenderCost
3665
+
3666
+ @property
3667
+ def ConfigWidth(self):
3668
+ return self._ConfigWidth
3669
+
3670
+ @ConfigWidth.setter
3671
+ def ConfigWidth(self, ConfigWidth):
3672
+ self._ConfigWidth = ConfigWidth
3673
+
3674
+ @property
3675
+ def ConfigHeight(self):
3676
+ return self._ConfigHeight
3677
+
3678
+ @ConfigHeight.setter
3679
+ def ConfigHeight(self, ConfigHeight):
3680
+ self._ConfigHeight = ConfigHeight
3681
+
3682
+ @property
3683
+ def FrameDelta(self):
3684
+ return self._FrameDelta
3685
+
3686
+ @FrameDelta.setter
3687
+ def FrameDelta(self, FrameDelta):
3688
+ self._FrameDelta = FrameDelta
3689
+
3690
+ @property
3691
+ def MaxFrameDelta(self):
3692
+ return self._MaxFrameDelta
3693
+
3694
+ @MaxFrameDelta.setter
3695
+ def MaxFrameDelta(self, MaxFrameDelta):
3696
+ self._MaxFrameDelta = MaxFrameDelta
3697
+
3698
+ @property
3699
+ def TotalBitrateEstimate(self):
3700
+ return self._TotalBitrateEstimate
3701
+
3702
+ @TotalBitrateEstimate.setter
3703
+ def TotalBitrateEstimate(self, TotalBitrateEstimate):
3704
+ self._TotalBitrateEstimate = TotalBitrateEstimate
3705
+
3706
+ @property
3707
+ def Lag100Duration(self):
3708
+ return self._Lag100Duration
3709
+
3710
+ @Lag100Duration.setter
3711
+ def Lag100Duration(self, Lag100Duration):
3712
+ self._Lag100Duration = Lag100Duration
3713
+
3714
+ @property
3715
+ def Lag150Duration(self):
3716
+ return self._Lag150Duration
3717
+
3718
+ @Lag150Duration.setter
3719
+ def Lag150Duration(self, Lag150Duration):
3720
+ self._Lag150Duration = Lag150Duration
3721
+
3722
+ @property
3723
+ def MultiMode(self):
3724
+ return self._MultiMode
3725
+
3726
+ @MultiMode.setter
3727
+ def MultiMode(self, MultiMode):
3728
+ self._MultiMode = MultiMode
3729
+
3730
+ @property
3731
+ def MultiNet(self):
3732
+ return self._MultiNet
3733
+
3734
+ @MultiNet.setter
3735
+ def MultiNet(self, MultiNet):
3736
+ self._MultiNet = MultiNet
3737
+
3503
3738
 
3504
3739
  def _deserialize(self, params):
3505
3740
  self._DeviceType = params.get("DeviceType")
@@ -3528,6 +3763,21 @@ class SessionDeviceDetail(AbstractModel):
3528
3763
  self._Height = params.get("Height")
3529
3764
  self._EncodeCost = params.get("EncodeCost")
3530
3765
  self._CaptureCost = params.get("CaptureCost")
3766
+ self._RenderCost = params.get("RenderCost")
3767
+ self._ConfigWidth = params.get("ConfigWidth")
3768
+ self._ConfigHeight = params.get("ConfigHeight")
3769
+ self._FrameDelta = params.get("FrameDelta")
3770
+ self._MaxFrameDelta = params.get("MaxFrameDelta")
3771
+ self._TotalBitrateEstimate = params.get("TotalBitrateEstimate")
3772
+ self._Lag100Duration = params.get("Lag100Duration")
3773
+ self._Lag150Duration = params.get("Lag150Duration")
3774
+ self._MultiMode = params.get("MultiMode")
3775
+ if params.get("MultiNet") is not None:
3776
+ self._MultiNet = []
3777
+ for item in params.get("MultiNet"):
3778
+ obj = MultiNet()
3779
+ obj._deserialize(item)
3780
+ self._MultiNet.append(obj)
3531
3781
  memeber_set = set(params.keys())
3532
3782
  for name, value in vars(self).items():
3533
3783
  property_name = name[1:]
@@ -11027,7 +11027,7 @@ class UpdatePublishCdnStreamRequest(AbstractModel):
11027
11027
  :type SequenceNumber: int
11028
11028
  :param _WithTranscoding: 是否转码,0表示无需转码,1表示需要转码。
11029
11029
  :type WithTranscoding: int
11030
- :param _AudioParams: 更新相关参数,只支持更新参与混音的主播列表参数。不填表示不更新此参数。
11030
+ :param _AudioParams: 更新相关参数,只支持更新参与混音的主播列表参数,不支持更新Codec、采样率、码率和声道数。不填表示不更新此参数。
11031
11031
  :type AudioParams: :class:`tencentcloud.trtc.v20190722.models.McuAudioParams`
11032
11032
  :param _VideoParams: 更新视频相关参数,转码时支持更新除编码类型之外的编码参数,视频布局参数,背景图片和背景颜色参数,水印参数。不填表示不更新此参数。
11033
11033
  :type VideoParams: :class:`tencentcloud.trtc.v20190722.models.McuVideoParams`
@@ -1188,102 +1188,14 @@ class TrtcClient(AbstractClient):
1188
1188
 
1189
1189
 
1190
1190
  def StartPublishCdnStream(self, request):
1191
- """TRTC房间中可能会同时存在多路音视频流,您可以通过混流转推API,通知腾讯云服务端将同个房间或者多个房间的多路视频画面混合到一起,并指定每一路画面的位置,同时将多路声音进行混音,最终形成一路音视频流,以便用于录制和直播观看,同时可以支持将这一路音视频的混流回推到TRTC房间内部。
1192
-
1193
- 云api混流转推功能包含三个接口:
1194
- 1、StartPublishCdnStream:启动一个混流转推任务,此接口会发起一个新的混流转推任务,启动成功后会返回一个sdkappid维度唯一的任务id(TaskId)。您需要保存该TaskId,后续需要依赖此TaskId更新任务和结束任务。
1195
- 2、UpdatePublishCdnStream:更新指定的混流转推任务,包括:更新视频画面的布局、更新混音列表、更新转推cdn的地址列表以及更新回推房间列表。
1196
- 3、StopPublishCdnStream:停止指定的混流转推任务。
1197
-
1198
- 您可以通过此套接口实现目标:
1199
- 1、设置最终混流的画质和音质,包括视频分辨率、视频帧率、视频码率,和音频质量。
1200
- 2、设置每一路画面的布局位置,您只需要设置一次,后续您指定的混流用户进房上行音视频时,排版引擎会自动将该用户的画面混合到您指定的布局位置。同时您可以使用更新接口调整画面的布局位置。
1201
- 3、设置多个cdn转推的目的地址,一个转推任务最多可以同时设置10个cdn转推地址,如果您需要转推非腾讯云的cdn地址时,需要联系腾讯云开通能力。
1202
- 4、设置多个回推房间列表,一个转推任务最多可以同时将混流回推到10个TRTC房间。
1203
-
1204
- 目前已经支持如下几种布局模版,其中动态布局模版(悬浮模板、九宫格模板、屏幕分享模板)只支持单个TRTC房间,自定义模版支持混合多个TRTC房间内的音视频流。具体说明如下:
1205
- 1、悬浮模板:第一个进入房间的用户的视频画面会铺满整个屏幕,其他用户的视频画面从左下角依次水平排列,显示为小画面,最多4行,每行4个,小画面悬浮于大画面之上。最多支持1个大画面和15个小画面,如果用户只发送音频默认不占布局配置,也支持设置。每个子画面默认采用居中裁剪的方式进行渲染,也支持统一设置子画面的渲染方式。
1206
- 2、九宫格模板:所有用户的视频画面大小一致,平分整个屏幕,人数越多,每个画面的尺寸越小。最多支持16个画面,如果用户只发送音频,默认不占布局配置,也支持设置。每个子画面默认采用居中裁剪的方式进行渲染,也支持统一设置子画面的渲染方式。
1207
- 3、屏幕分享模板:适合视频会议和在线教育场景的布局,屏幕分享(或者主讲的摄像头)始终占据屏幕左侧的大画面位置,需要您明确设置占据大画面的混流用户信息。其他用户依次垂直排列于右侧,最多两列,每列最多8个小画面。最多支持1个大画面和15个小画面。若上行分辨率宽高比与画面输出宽高比不一致时,左侧大画面为了保持内容的完整性采用缩放方式处理,右侧小画面采用裁剪方式处理,也支持统一设置子画面的渲染方式。
1208
- 4、自定义布局模版:支持您主动根据业务需要设置布局位置,每个预设的布局位置支持具名设置(具名设置需要明确指定房间号和用户名)和不具名设置。当一个子画面具名设置时,该位置就为该用户预留,用户进房且上行音视频数据时会自动占据该位置,其它用户不会占据该位置。当预设的布局位置未具名时,排版引擎会根据进房间顺序自动填充,预设位置填满时,不再混合其它用户的画面和声音。每个子画面位置支持设置占位图(BackgroundImageUrl),当用户未进房或者只上行音频数据时,该位置画面可显示对应的占位图画面。
1209
-
1210
- 您可以控制台开通旁路转推回调功能实现转推cdn状态的事件监控,具体说明请参考官网文档:[旁路转推回调说明](https://cloud.tencent.com/document/product/647/88552)
1211
- 您使用转推api时根据使用特性可能会产生如下费用:
1212
- MCU混流转码费用请参考文档:[云端混流转码计费说明](https://cloud.tencent.com/document/product/647/49446)
1213
- 转推非腾讯云CDN费用请参考文档:[云端转推计费说明](https://cloud.tencent.com/document/product/647/82155)
1214
-
1215
- 参数的使用说明:
1216
- 1、AgentParams:每个转推任务会拉起一个机器人用户进入TRTC房间进行拉流,您需要通过AgentParams.UserId参数进行设置,这个机器人id不能和房间中的普通用户id冲突,否则会导致转推任务由于机器人用户被踢出TRTC房间而异常结束,您可以通过增加特殊前缀的方式规避。您可以通过设置AgentParams.MaxIdleTime控制转推任务的自动结束,当设置此参数时,所有参与混流转推的主播持续离开TRTC房间超过MaxIdleTime的时长,自动停止转推任务。注意:参与混流转推的主播仅是停止音视频上行,转推任务不会自动停止。
1217
- 2、WithTranscoding:如果需要将多路音视频流混合到一路时,WithTranscoding必须设置为1。
1218
- 3、AudioParams:转推任务音频参数和视频参数是分开设置的,若您想要将指定的用户音频进行混音时,需要明确设置AudioParams.SubscribeAudioList。若您不设置AudioParams.SubscribeAudioList,混音引擎会自动将TRTC房间中所有用户的音频混合。若您想要混合TRTC房间除指定用户之外的所有用户的声音,可以通过AudioParams.UnSubscribeAudioList设置音频黑名单列表。
1219
- 4、VideoParams:若您想要将用户的视频混合,可以通过VideoParams设置,若只想要混纯音频,则不用设置VideoParams参数。您可以通过VideoParams.LayoutParams.MixLayoutMode设置画面的布局模式,包括:动态布局(1:悬浮布局(默认),2:屏幕分享布局,3:九宫格布局)和自定义布局。动态布局模式由排版引擎按照固定的布局自动混合,不需要设置VideoParams.LayoutParams.MixLayoutList。当使用悬浮布局和屏幕分享布局时,您可以通过设置VideoParams.LayoutParams.MaxVideoUser参数指定大画面用户。自定义布局模式提供给您自主布局画面的能力,可以通过VideoParams.LayoutParams.MixLayoutList参数指定每个用户所在的布局位置。在每个布局参数中,您可以通过用户媒体流参数(UserMediaStream)指定这个布局位置为指定的用户预留,也可以不设置UserMediaStream,由排版引擎按照用户进入TRTC房间的顺序自动填充,另外您也可以设置每个布局位置的渲染方式(RenderMode)和裁剪方式(CustomCrop)。
1220
- 5、VideoParams.WaterMarkList:若您想要混流画面中叠加水印,可以通过VideoParams.WaterMarkList参数设置,支持图片水印和文字水印,支持透明通道。
1221
- 6、SingleSubscribeParams:若您想要将TRTC房间中的一路单流推到CDN,可以使用SingleSubscribeParams参数设置,此时需要将WithTranscoding参数设置为0。
1222
- 7、PublishCdnParams.N:若您想要推流到CDN,可以使用PublishCdnParams.N参数设置,支持最多同时推流到10个CDN地址。若转推地址是腾讯云CDN时,请将IsTencentCdn明确设置为1;若您有转推非腾讯云CDN的需求时,请联系腾讯云技术支持开通,转推非腾讯云会产生转推费用,费用说明请参考官网文档:[云端转推计费说明](https://cloud.tencent.com/document/product/647/82155)。
1223
- 8、FeedBackRoomParams.N:若您想要将混合的音视频流回推到TRTC房间,可以使用FeedBackRoomParams.N参数设置,支持最多同时推10路流回TRTC房间。您需要指定回推的TRTC房间号和机器人ID(UserId),机器人ID不能与普通用户ID冲突,否则会导致转推任务由于机器人用户被踢出TRTC房间而异常结束,您可以通过增加特殊前缀的方式规避。
1224
- 9、SeiParams:若您想要混合的音视频流中增加SEI信息时,可以使用SeiParams参数设置,支持音量布局SEI和叠加转推请求中的SEI,其中音量布局SEI的内容是固定的json结构,具体请看本章节后续的SEI说明。您可以通过FollowIdr参数设置SEI跟随关键帧一起发送。音量布局sei的说明如下:
1225
- 如果您的CDN观众端需要识别到参与混流的主播位置,以及需要识别到参与混流的主播的音量信息,可以通过音量布局sei实现。音量布局sei的payload内容及参数说明如下:
1226
-
1227
- ```
1228
- {
1229
- "app_data":"",
1230
- "canvas":{
1231
- "w":1080,
1232
- "h":960
1233
- },
1234
- "regions":[
1235
- {
1236
- "uid":"65949987242835883c",
1237
- "zorder":2,
1238
- "volume":45,
1239
- "x":270,
1240
- "y":480,
1241
- "w":540,
1242
- "h":480
1243
- },
1244
- {
1245
- "uid":"659c9d8d242b328d31",
1246
- "zorder":2,
1247
- "volume":0,
1248
- "x":0,
1249
- "y":0,
1250
- "w":540,
1251
- "h":480
1252
- },
1253
- {
1254
- "uid":"64989a82272b308c",
1255
- "zorder":2,
1256
- "volume":91,
1257
- "x":540,
1258
- "y":0,
1259
- "w":540,
1260
- "h":480
1261
- }
1262
- ],
1263
- "ver":"1.0",
1264
- "ts":1648544726
1265
- }
1266
- ```
1267
- canvas:这个是混流信令中VideoEncode设置的宽高,即:混流输出的整个画布宽高。
1268
- regions:里面是真实混入的用户id和对应的子画面位置,若参与混流的用户未进入TRTC房间或者未开启视频上行,regions中不会包含该用户。
1269
- uid:代表参与混流的用户ID。
1270
- zorder:参与混流userid在混流输出的层级。
1271
- x/y:参与混流userid的子画面在画布的坐标。
1272
- w/h:参与混流userid的子画面的大小。
1273
- volume:代表混流用户的音量,取值范围为0-100,值越大,代表该用户参与混流时的音量越大。
1274
- ts:是输出sei的服务器本地秒级时戳。
1275
- ver:可以忽略。
1276
-
1277
- 其它使用注意事项:
1278
- 1、使用混流转推接口时,您需要先调用启动转推任务接口(StartPublishCdnStream),获取启动转推任务响应中的任务ID标识(TaskId)。后续传入任务ID标识(TaskId)来更新转推任务(UpdatePublishCdnStream)和停止转推任务(StopPublishCdnStream)。
1279
- 2、转推API不支持发起到TRTC控制台配置的自动旁路任务,以及通过TRTC SDK进房接口中设置的自定义流ID的旁路任务。
1280
- 3、为了确保转推链接的稳定,同一个转推任务不支持纯音频、音视频、纯视频之间的切换。
1281
- 4、为了确保转推链接的稳定,不支持update时更新视频参数(codec)和音频参数(codec、采样率、码率、声道数)。
1282
- 5、发起单流旁路任务时,AudioParams和VideoParams都填写表示音视频旁路,如果仅填写AudioParams表示纯音频旁路,任务进行过程中不支持纯音频到音视频的切换。音视频旁路时,VideoParams中的Width、Height、Fps、BitRate、Gop需要按照真实上行参数填写。
1283
- 6、更新请求中必须携带SequenceNumber参数,用于防止请求乱序。客户保证对同一个任务更新时的SequenceNumber参数递增,否则会导致混流任务更新失败。
1284
- 7、调用api时region选择说明:如果应用id是1400xxx时,region可填北京、上海、广州、香港,如果您的cdn观众主要在海外,请选择香港;如果应用id是200xxx或400xxx时,region请选择新加坡。
1285
- 8、回推到TRTC房间的流不会参与其他回推房间任务的混流,满足下面条件之一时,可以参与其他转推cdn任务的混流: (1) 转推cdn任务在视频参数中通过具名方式指定推流机器人参与混流;(2) 转推cdn任务在音频参数中通过白名单方式指定推流机器人参与混流;(3) 转推cdn任务参与混流用户的房间号与回推机器人对应混流用户的房间号完全不同。
1286
- 9、您可以在主播进房前,提前创建转推任务,结束转推任务时需要主动调用停止接口。如果您没有调用停止转推任务接口时,腾讯云后台会按照所有参与混流的用户没有任何数据上行的时间算起,直到超过启动转推任务时设置的超时时间(AgentParams.MaxIdleTime)为止,自动停止混流转推任务。
1191
+ """接口说明:
1192
+ 启动一个混流转推任务,将 TRTC 房间的多路音视频流混成一路音视频流,编码后推到直播 CDN 或者回推到 TRTC 房间。也支持不转码直接转推 TRTC 房间的单路流。启动成功后,会返回一个 SdkAppid 维度唯一的任务 Id(TaskId)。您需要保存该 TaskId,后续需要依赖此 TaskId 更新和结束任务。可以参考文档: [功能说明](https://cloud.tencent.com/document/product/647/84721#b9a855f4-e38c-4616-9b07-fc44e0e8282a) 和 [常见问题](https://cloud.tencent.com/document/product/647/62620)
1193
+
1194
+ 注意:
1195
+ 您可以在控制台开通旁路转推回调功能,对转推 CDN 状态的事件进行监控,回调请参考文档:[旁路转推回调说明](https://cloud.tencent.com/document/product/647/88552)
1196
+ 您发起混流转推任务时,可能会产生如下费用:
1197
+ MCU 混流转码费用,请参考文档:[云端混流转码计费说明](https://cloud.tencent.com/document/product/647/49446)
1198
+ 转推非腾讯云 CDN 费用,请参考文档:[云端转推计费说明](https://cloud.tencent.com/document/product/647/82155)
1287
1199
 
1288
1200
  :param request: Request instance for StartPublishCdnStream.
1289
1201
  :type request: :class:`tencentcloud.trtc.v20190722.models.StartPublishCdnStreamRequest`
@@ -1446,7 +1358,8 @@ class TrtcClient(AbstractClient):
1446
1358
 
1447
1359
 
1448
1360
  def StopPublishCdnStream(self, request):
1449
- """停止转推任务。
1361
+ """接口说明:
1362
+ 停止指定的混流转推任务。如果没有调用 Stop 接口停止任务,所有参与混流转推的主播离开 TRTC 房间超过 AgentParams.MaxIdleTime 设置的时间后,任务也会自动停止。
1450
1363
 
1451
1364
  :param request: Request instance for StopPublishCdnStream.
1452
1365
  :type request: :class:`tencentcloud.trtc.v20190722.models.StopPublishCdnStreamRequest`
@@ -1540,8 +1453,9 @@ class TrtcClient(AbstractClient):
1540
1453
 
1541
1454
 
1542
1455
  def UpdatePublishCdnStream(self, request):
1543
- """更新转推任务。
1544
- 注:请参见启动转推任务的接口说明和使用说明。
1456
+ """接口说明:
1457
+ 成功发起混流转推后,可以使用此接口来更新任务。仅在任务进行时有效,任务退出后更新将会返回错误。更新操作为增量更新模式。
1458
+ 注意:为了保障推流的稳定性,更新不支持任务在纯音频、音视频、纯视频之间进行切换。
1545
1459
 
1546
1460
  :param request: Request instance for UpdatePublishCdnStream.
1547
1461
  :type request: :class:`tencentcloud.trtc.v20190722.models.UpdatePublishCdnStreamRequest`
@@ -17153,10 +17153,10 @@ class DescribeContainerGroupsRequest(AbstractModel):
17153
17153
 
17154
17154
  def __init__(self):
17155
17155
  r"""
17156
+ :param _ApplicationId: 分组所属应用ID。
17157
+ :type ApplicationId: str
17156
17158
  :param _SearchWord: 搜索字段,模糊搜索groupName字段
17157
17159
  :type SearchWord: str
17158
- :param _ApplicationId: 分组所属应用ID。必填
17159
- :type ApplicationId: str
17160
17160
  :param _OrderBy: 排序字段,默认为 createTime字段,支持id, name, createTime
17161
17161
  :type OrderBy: str
17162
17162
  :param _OrderType: 排序方式,默认为1:倒序排序,0:正序,1:倒序
@@ -17170,8 +17170,8 @@ class DescribeContainerGroupsRequest(AbstractModel):
17170
17170
  :param _NamespaceId: 命名空间 ID
17171
17171
  :type NamespaceId: str
17172
17172
  """
17173
- self._SearchWord = None
17174
17173
  self._ApplicationId = None
17174
+ self._SearchWord = None
17175
17175
  self._OrderBy = None
17176
17176
  self._OrderType = None
17177
17177
  self._Offset = None
@@ -17179,14 +17179,6 @@ class DescribeContainerGroupsRequest(AbstractModel):
17179
17179
  self._ClusterId = None
17180
17180
  self._NamespaceId = None
17181
17181
 
17182
- @property
17183
- def SearchWord(self):
17184
- return self._SearchWord
17185
-
17186
- @SearchWord.setter
17187
- def SearchWord(self, SearchWord):
17188
- self._SearchWord = SearchWord
17189
-
17190
17182
  @property
17191
17183
  def ApplicationId(self):
17192
17184
  return self._ApplicationId
@@ -17195,6 +17187,14 @@ class DescribeContainerGroupsRequest(AbstractModel):
17195
17187
  def ApplicationId(self, ApplicationId):
17196
17188
  self._ApplicationId = ApplicationId
17197
17189
 
17190
+ @property
17191
+ def SearchWord(self):
17192
+ return self._SearchWord
17193
+
17194
+ @SearchWord.setter
17195
+ def SearchWord(self, SearchWord):
17196
+ self._SearchWord = SearchWord
17197
+
17198
17198
  @property
17199
17199
  def OrderBy(self):
17200
17200
  return self._OrderBy
@@ -17245,8 +17245,8 @@ class DescribeContainerGroupsRequest(AbstractModel):
17245
17245
 
17246
17246
 
17247
17247
  def _deserialize(self, params):
17248
- self._SearchWord = params.get("SearchWord")
17249
17248
  self._ApplicationId = params.get("ApplicationId")
17249
+ self._SearchWord = params.get("SearchWord")
17250
17250
  self._OrderBy = params.get("OrderBy")
17251
17251
  self._OrderType = params.get("OrderType")
17252
17252
  self._Offset = params.get("Offset")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tencentcloud-sdk-python
3
- Version: 3.0.1200
3
+ Version: 3.0.1201
4
4
  Summary: Tencent Cloud SDK for Python
5
5
  Home-page: https://github.com/TencentCloud/tencentcloud-sdk-python
6
6
  Author: Tencent Cloud