# -*- coding: utf8 -*- # Copyright (c) 2017-2021 THL A29 Limited, a Tencent company. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import warnings from tencentcloud.common.abstract_model import AbstractModel class AbnormalEvent(AbstractModel): """造成异常体验可能的异常事件类型 """ def __init__(self): r""" :param _AbnormalEventId: 异常事件ID,具体值查看附录:异常体验ID映射表:https://cloud.tencent.com/document/product/647/44916 :type AbnormalEventId: int :param _PeerId: 远端用户ID,"":表示异常事件不是由远端用户产生 :type PeerId: str """ self._AbnormalEventId = None self._PeerId = None @property def AbnormalEventId(self): """异常事件ID,具体值查看附录:异常体验ID映射表:https://cloud.tencent.com/document/product/647/44916 :rtype: int """ return self._AbnormalEventId @AbnormalEventId.setter def AbnormalEventId(self, AbnormalEventId): self._AbnormalEventId = AbnormalEventId @property def PeerId(self): """远端用户ID,"":表示异常事件不是由远端用户产生 :rtype: str """ return self._PeerId @PeerId.setter def PeerId(self, PeerId): self._PeerId = PeerId def _deserialize(self, params): self._AbnormalEventId = params.get("AbnormalEventId") self._PeerId = params.get("PeerId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AbnormalExperience(AbstractModel): """用户的异常体验及可能的原因 """ def __init__(self): r""" :param _UserId: 用户ID :type UserId: str :param _ExperienceId: 异常体验ID :type ExperienceId: int :param _RoomId: 字符串房间号 :type RoomId: str :param _AbnormalEventList: 异常事件数组 :type AbnormalEventList: list of AbnormalEvent :param _EventTime: 异常事件的上报时间 :type EventTime: int """ self._UserId = None self._ExperienceId = None self._RoomId = None self._AbnormalEventList = None self._EventTime = None @property def UserId(self): """用户ID :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def ExperienceId(self): """异常体验ID :rtype: int """ return self._ExperienceId @ExperienceId.setter def ExperienceId(self, ExperienceId): self._ExperienceId = ExperienceId @property def RoomId(self): """字符串房间号 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def AbnormalEventList(self): """异常事件数组 :rtype: list of AbnormalEvent """ return self._AbnormalEventList @AbnormalEventList.setter def AbnormalEventList(self, AbnormalEventList): self._AbnormalEventList = AbnormalEventList @property def EventTime(self): """异常事件的上报时间 :rtype: int """ return self._EventTime @EventTime.setter def EventTime(self, EventTime): self._EventTime = EventTime def _deserialize(self, params): self._UserId = params.get("UserId") self._ExperienceId = params.get("ExperienceId") self._RoomId = params.get("RoomId") if params.get("AbnormalEventList") is not None: self._AbnormalEventList = [] for item in params.get("AbnormalEventList"): obj = AbnormalEvent() obj._deserialize(item) self._AbnormalEventList.append(obj) self._EventTime = params.get("EventTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AgentConfig(AbstractModel): """机器人参数 """ def __init__(self): r""" :param _UserId: 机器人的UserId,用于进房发起任务。【注意】这个UserId不能与当前房间内的主播观众[UserId](https://cloud.tencent.com/document/product/647/46351#userid)重复。如果一个房间发起多个任务时,机器人的UserId也不能相互重复,否则会中断前一个任务。需要保证机器人UserId在房间内唯一。 :type UserId: str :param _UserSig: 机器人UserId对应的校验签名,即UserId和UserSig相当于机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :type UserSig: str :param _TargetUserId: 机器人拉流的UserId, 填写后,机器人会拉取该UserId的流进行实时处理 :type TargetUserId: str :param _MaxIdleTime: 房间内超过MaxIdleTime 没有推流,后台自动关闭任务,默认值是60s。 :type MaxIdleTime: int :param _WelcomeMessage: 机器人的欢迎语 :type WelcomeMessage: str :param _InterruptMode: 智能打断模式,默认为0,0表示服务端自动打断,1表示服务端不打断,由端上发送打断信令进行打断 :type InterruptMode: int :param _InterruptSpeechDuration: InterruptMode为0时使用,单位为毫秒,默认为500ms。表示服务端检测到持续InterruptSpeechDuration毫秒的人声则进行打断。 :type InterruptSpeechDuration: int :param _TurnDetectionMode: 控制新一轮对话的触发方式,默认为0。 - 0表示当服务端语音识别检测出的完整一句话后,自动触发一轮新的对话。 - 1表示客户端在收到字幕消息后,自行决定是否手动发送聊天信令触发一轮新的对话。 :type TurnDetectionMode: int :param _FilterOneWord: 是否过滤掉用户只说了一个字的句子,true表示过滤,false表示不过滤,默认值为true :type FilterOneWord: bool :param _WelcomeMessagePriority: 欢迎消息优先级,0默认,1高优,高优不能被打断。 :type WelcomeMessagePriority: int """ self._UserId = None self._UserSig = None self._TargetUserId = None self._MaxIdleTime = None self._WelcomeMessage = None self._InterruptMode = None self._InterruptSpeechDuration = None self._TurnDetectionMode = None self._FilterOneWord = None self._WelcomeMessagePriority = None @property def UserId(self): """机器人的UserId,用于进房发起任务。【注意】这个UserId不能与当前房间内的主播观众[UserId](https://cloud.tencent.com/document/product/647/46351#userid)重复。如果一个房间发起多个任务时,机器人的UserId也不能相互重复,否则会中断前一个任务。需要保证机器人UserId在房间内唯一。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def UserSig(self): """机器人UserId对应的校验签名,即UserId和UserSig相当于机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :rtype: str """ return self._UserSig @UserSig.setter def UserSig(self, UserSig): self._UserSig = UserSig @property def TargetUserId(self): """机器人拉流的UserId, 填写后,机器人会拉取该UserId的流进行实时处理 :rtype: str """ return self._TargetUserId @TargetUserId.setter def TargetUserId(self, TargetUserId): self._TargetUserId = TargetUserId @property def MaxIdleTime(self): """房间内超过MaxIdleTime 没有推流,后台自动关闭任务,默认值是60s。 :rtype: int """ return self._MaxIdleTime @MaxIdleTime.setter def MaxIdleTime(self, MaxIdleTime): self._MaxIdleTime = MaxIdleTime @property def WelcomeMessage(self): """机器人的欢迎语 :rtype: str """ return self._WelcomeMessage @WelcomeMessage.setter def WelcomeMessage(self, WelcomeMessage): self._WelcomeMessage = WelcomeMessage @property def InterruptMode(self): """智能打断模式,默认为0,0表示服务端自动打断,1表示服务端不打断,由端上发送打断信令进行打断 :rtype: int """ return self._InterruptMode @InterruptMode.setter def InterruptMode(self, InterruptMode): self._InterruptMode = InterruptMode @property def InterruptSpeechDuration(self): """InterruptMode为0时使用,单位为毫秒,默认为500ms。表示服务端检测到持续InterruptSpeechDuration毫秒的人声则进行打断。 :rtype: int """ return self._InterruptSpeechDuration @InterruptSpeechDuration.setter def InterruptSpeechDuration(self, InterruptSpeechDuration): self._InterruptSpeechDuration = InterruptSpeechDuration @property def TurnDetectionMode(self): """控制新一轮对话的触发方式,默认为0。 - 0表示当服务端语音识别检测出的完整一句话后,自动触发一轮新的对话。 - 1表示客户端在收到字幕消息后,自行决定是否手动发送聊天信令触发一轮新的对话。 :rtype: int """ return self._TurnDetectionMode @TurnDetectionMode.setter def TurnDetectionMode(self, TurnDetectionMode): self._TurnDetectionMode = TurnDetectionMode @property def FilterOneWord(self): """是否过滤掉用户只说了一个字的句子,true表示过滤,false表示不过滤,默认值为true :rtype: bool """ return self._FilterOneWord @FilterOneWord.setter def FilterOneWord(self, FilterOneWord): self._FilterOneWord = FilterOneWord @property def WelcomeMessagePriority(self): """欢迎消息优先级,0默认,1高优,高优不能被打断。 :rtype: int """ return self._WelcomeMessagePriority @WelcomeMessagePriority.setter def WelcomeMessagePriority(self, WelcomeMessagePriority): self._WelcomeMessagePriority = WelcomeMessagePriority def _deserialize(self, params): self._UserId = params.get("UserId") self._UserSig = params.get("UserSig") self._TargetUserId = params.get("TargetUserId") self._MaxIdleTime = params.get("MaxIdleTime") self._WelcomeMessage = params.get("WelcomeMessage") self._InterruptMode = params.get("InterruptMode") self._InterruptSpeechDuration = params.get("InterruptSpeechDuration") self._TurnDetectionMode = params.get("TurnDetectionMode") self._FilterOneWord = params.get("FilterOneWord") self._WelcomeMessagePriority = params.get("WelcomeMessagePriority") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AgentParams(AbstractModel): """转推服务加入TRTC房间的机器人参数。 """ def __init__(self): r""" :param _UserId: 转推服务在TRTC房间使用的[UserId](https://cloud.tencent.com/document/product/647/46351#userid),注意这个userId不能与其他TRTC或者转推服务等已经使用的UserId重复,建议可以把房间ID作为userId的标识的一部分。 :type UserId: str :param _UserSig: 转推服务加入TRTC房间的用户签名,当前 UserId 对应的验证签名,相当于登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :type UserSig: str :param _MaxIdleTime: 所有参与混流转推的主播持续离开TRTC房间或切换成观众超过MaxIdleTime的时长,自动停止转推,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。 :type MaxIdleTime: int """ self._UserId = None self._UserSig = None self._MaxIdleTime = None @property def UserId(self): """转推服务在TRTC房间使用的[UserId](https://cloud.tencent.com/document/product/647/46351#userid),注意这个userId不能与其他TRTC或者转推服务等已经使用的UserId重复,建议可以把房间ID作为userId的标识的一部分。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def UserSig(self): """转推服务加入TRTC房间的用户签名,当前 UserId 对应的验证签名,相当于登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :rtype: str """ return self._UserSig @UserSig.setter def UserSig(self, UserSig): self._UserSig = UserSig @property def MaxIdleTime(self): """所有参与混流转推的主播持续离开TRTC房间或切换成观众超过MaxIdleTime的时长,自动停止转推,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。 :rtype: int """ return self._MaxIdleTime @MaxIdleTime.setter def MaxIdleTime(self, MaxIdleTime): self._MaxIdleTime = MaxIdleTime def _deserialize(self, params): self._UserId = params.get("UserId") self._UserSig = params.get("UserSig") self._MaxIdleTime = params.get("MaxIdleTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AudioEncode(AbstractModel): """音频编码参数。 """ def __init__(self): r""" :param _SampleRate: 输出流音频采样率。取值为[48000, 44100, 32000, 24000, 16000, 8000],单位是Hz。 :type SampleRate: int :param _Channel: 输出流音频声道数,取值范围[1,2],1表示混流输出音频为单声道,2表示混流输出音频为双声道。 :type Channel: int :param _BitRate: 输出流音频码率。取值范围[8,500],单位为kbps。 :type BitRate: int :param _Codec: 输出流音频编码类型,取值范围[0, 1, 2],0为LC-AAC,1为HE-AAC,2为HE-AACv2。默认值为0。当音频编码设置为HE-AACv2时,只支持输出流音频声道数为双声道。HE-AAC和HE-AACv2支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]。 :type Codec: int """ self._SampleRate = None self._Channel = None self._BitRate = None self._Codec = None @property def SampleRate(self): """输出流音频采样率。取值为[48000, 44100, 32000, 24000, 16000, 8000],单位是Hz。 :rtype: int """ return self._SampleRate @SampleRate.setter def SampleRate(self, SampleRate): self._SampleRate = SampleRate @property def Channel(self): """输出流音频声道数,取值范围[1,2],1表示混流输出音频为单声道,2表示混流输出音频为双声道。 :rtype: int """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def BitRate(self): """输出流音频码率。取值范围[8,500],单位为kbps。 :rtype: int """ return self._BitRate @BitRate.setter def BitRate(self, BitRate): self._BitRate = BitRate @property def Codec(self): """输出流音频编码类型,取值范围[0, 1, 2],0为LC-AAC,1为HE-AAC,2为HE-AACv2。默认值为0。当音频编码设置为HE-AACv2时,只支持输出流音频声道数为双声道。HE-AAC和HE-AACv2支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]。 :rtype: int """ return self._Codec @Codec.setter def Codec(self, Codec): self._Codec = Codec def _deserialize(self, params): self._SampleRate = params.get("SampleRate") self._Channel = params.get("Channel") self._BitRate = params.get("BitRate") self._Codec = params.get("Codec") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AudioEncodeParams(AbstractModel): """音频转码参数 """ def __init__(self): r""" :param _SampleRate: 音频采样率,取值为[48000, 44100],单位是Hz。 :type SampleRate: int :param _Channel: 音频声道数,取值范围[1,2],1表示音频为单声道,2表示音频为双声道。 :type Channel: int :param _BitRate: 音频码率,取值范围[8,500],单位为kbps。 :type BitRate: int :param _Volume: 音量,取值范围[0,300]。默认100,表示原始音量;0表示静音。 :type Volume: int """ self._SampleRate = None self._Channel = None self._BitRate = None self._Volume = None @property def SampleRate(self): """音频采样率,取值为[48000, 44100],单位是Hz。 :rtype: int """ return self._SampleRate @SampleRate.setter def SampleRate(self, SampleRate): self._SampleRate = SampleRate @property def Channel(self): """音频声道数,取值范围[1,2],1表示音频为单声道,2表示音频为双声道。 :rtype: int """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def BitRate(self): """音频码率,取值范围[8,500],单位为kbps。 :rtype: int """ return self._BitRate @BitRate.setter def BitRate(self, BitRate): self._BitRate = BitRate @property def Volume(self): """音量,取值范围[0,300]。默认100,表示原始音量;0表示静音。 :rtype: int """ return self._Volume @Volume.setter def Volume(self, Volume): self._Volume = Volume def _deserialize(self, params): self._SampleRate = params.get("SampleRate") self._Channel = params.get("Channel") self._BitRate = params.get("BitRate") self._Volume = params.get("Volume") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AudioParams(AbstractModel): """录制音频转码参数。 """ def __init__(self): r""" :param _SampleRate: 音频采样率枚举值:(注意1 代表48000HZ, 2 代表44100HZ, 3 代表16000HZ) 1:48000Hz(默认); 2:44100Hz 3:16000Hz。 :type SampleRate: int :param _Channel: 声道数枚举值: 1:单声道; 2:双声道(默认)。 :type Channel: int :param _BitRate: 音频码率: 取值范围[32000, 128000] ,单位bps,默认64000bps。 :type BitRate: int """ self._SampleRate = None self._Channel = None self._BitRate = None @property def SampleRate(self): """音频采样率枚举值:(注意1 代表48000HZ, 2 代表44100HZ, 3 代表16000HZ) 1:48000Hz(默认); 2:44100Hz 3:16000Hz。 :rtype: int """ return self._SampleRate @SampleRate.setter def SampleRate(self, SampleRate): self._SampleRate = SampleRate @property def Channel(self): """声道数枚举值: 1:单声道; 2:双声道(默认)。 :rtype: int """ return self._Channel @Channel.setter def Channel(self, Channel): self._Channel = Channel @property def BitRate(self): """音频码率: 取值范围[32000, 128000] ,单位bps,默认64000bps。 :rtype: int """ return self._BitRate @BitRate.setter def BitRate(self, BitRate): self._BitRate = BitRate def _deserialize(self, params): self._SampleRate = params.get("SampleRate") self._Channel = params.get("Channel") self._BitRate = params.get("BitRate") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class AuditStorageParams(AbstractModel): """审核存储参数 """ def __init__(self): r""" :param _CloudAuditStorage: 腾讯云对象存储COS以及第三方云存储的账号信息 :type CloudAuditStorage: :class:`tencentcloud.trtc.v20190722.models.CloudAuditStorage` """ self._CloudAuditStorage = None @property def CloudAuditStorage(self): """腾讯云对象存储COS以及第三方云存储的账号信息 :rtype: :class:`tencentcloud.trtc.v20190722.models.CloudAuditStorage` """ return self._CloudAuditStorage @CloudAuditStorage.setter def CloudAuditStorage(self, CloudAuditStorage): self._CloudAuditStorage = CloudAuditStorage def _deserialize(self, params): if params.get("CloudAuditStorage") is not None: self._CloudAuditStorage = CloudAuditStorage() self._CloudAuditStorage._deserialize(params.get("CloudAuditStorage")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CloudAuditStorage(AbstractModel): """腾讯云对象存储COS以及第三方云存储的账号信息 """ def __init__(self): r""" :param _Vendor: 腾讯云对象存储COS以及第三方云存储账号信息 0:腾讯云对象存储 COS 1:AWS 【注意】目前第三方云存储仅支持AWS,更多第三方云存储陆续支持中 示例值:0 :type Vendor: int :param _Region: 腾讯云对象存储的[地域信息](https://cloud.tencent.com/document/product/436/6224#.E5.9C.B0.E5.9F.9F)。 示例值:cn-shanghai-1 AWS S3[地域信息](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions) 示例值:ap-southeast-3 :type Region: str :param _Bucket: 云存储桶名称。 :type Bucket: str :param _AccessKey: 云存储的access_key账号信息。 若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretId值。 示例值:test-accesskey :type AccessKey: str :param _SecretKey: 云存储的secret_key账号信息。 若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretKey值。 示例值:test-secretkey :type SecretKey: str :param _FileNamePrefix: 云存储bucket 的指定位置,由字符串数组组成。合法的字符串范围az,AZ,0~9,'_'和'-',举个例子,录制文件xxx.m3u8在 ["prefix1", "prefix2"]作用下,会变成prefix1/prefix2/TaskId/xxx.m3u8。 示例值:["prefix1", "prefix2"] :type FileNamePrefix: list of str """ self._Vendor = None self._Region = None self._Bucket = None self._AccessKey = None self._SecretKey = None self._FileNamePrefix = None @property def Vendor(self): """腾讯云对象存储COS以及第三方云存储账号信息 0:腾讯云对象存储 COS 1:AWS 【注意】目前第三方云存储仅支持AWS,更多第三方云存储陆续支持中 示例值:0 :rtype: int """ return self._Vendor @Vendor.setter def Vendor(self, Vendor): self._Vendor = Vendor @property def Region(self): """腾讯云对象存储的[地域信息](https://cloud.tencent.com/document/product/436/6224#.E5.9C.B0.E5.9F.9F)。 示例值:cn-shanghai-1 AWS S3[地域信息](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions) 示例值:ap-southeast-3 :rtype: str """ return self._Region @Region.setter def Region(self, Region): self._Region = Region @property def Bucket(self): """云存储桶名称。 :rtype: str """ return self._Bucket @Bucket.setter def Bucket(self, Bucket): self._Bucket = Bucket @property def AccessKey(self): """云存储的access_key账号信息。 若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretId值。 示例值:test-accesskey :rtype: str """ return self._AccessKey @AccessKey.setter def AccessKey(self, AccessKey): self._AccessKey = AccessKey @property def SecretKey(self): """云存储的secret_key账号信息。 若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretKey值。 示例值:test-secretkey :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def FileNamePrefix(self): """云存储bucket 的指定位置,由字符串数组组成。合法的字符串范围az,AZ,0~9,'_'和'-',举个例子,录制文件xxx.m3u8在 ["prefix1", "prefix2"]作用下,会变成prefix1/prefix2/TaskId/xxx.m3u8。 示例值:["prefix1", "prefix2"] :rtype: list of str """ return self._FileNamePrefix @FileNamePrefix.setter def FileNamePrefix(self, FileNamePrefix): self._FileNamePrefix = FileNamePrefix def _deserialize(self, params): self._Vendor = params.get("Vendor") self._Region = params.get("Region") self._Bucket = params.get("Bucket") self._AccessKey = params.get("AccessKey") self._SecretKey = params.get("SecretKey") self._FileNamePrefix = params.get("FileNamePrefix") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CloudStorage(AbstractModel): """腾讯云对象存储COS以及第三方云存储的账号信息 """ def __init__(self): r""" :param _Vendor: 腾讯云对象存储COS以及第三方云存储账号信息 0:腾讯云对象存储 COS 1:AWS 【注意】目前第三方云存储仅支持AWS,更多第三方云存储陆续支持中 :type Vendor: int :param _Region: 腾讯云对象存储的[地域信息](https://cloud.tencent.com/document/product/436/6224#.E5.9C.B0.E5.9F.9F)。 示例值:cn-shanghai-1 AWS S3[地域信息](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions) :type Region: str :param _Bucket: 云存储桶名称。 :type Bucket: str :param _AccessKey: 云存储的access_key账号信息。 若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretId值。 :type AccessKey: str :param _SecretKey: 云存储的secret_key账号信息。 若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretKey值。 :type SecretKey: str :param _FileNamePrefix: 云存储bucket 的指定位置,由字符串数组组成。合法的字符串范围az,AZ,0~9,'_'和'-',举个例子,录制文件xxx.m3u8在 ["prefix1", "prefix2"]作用下,会变成prefix1/prefix2/TaskId/xxx.m3u8。 :type FileNamePrefix: list of str """ self._Vendor = None self._Region = None self._Bucket = None self._AccessKey = None self._SecretKey = None self._FileNamePrefix = None @property def Vendor(self): """腾讯云对象存储COS以及第三方云存储账号信息 0:腾讯云对象存储 COS 1:AWS 【注意】目前第三方云存储仅支持AWS,更多第三方云存储陆续支持中 :rtype: int """ return self._Vendor @Vendor.setter def Vendor(self, Vendor): self._Vendor = Vendor @property def Region(self): """腾讯云对象存储的[地域信息](https://cloud.tencent.com/document/product/436/6224#.E5.9C.B0.E5.9F.9F)。 示例值:cn-shanghai-1 AWS S3[地域信息](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html#concepts-regions) :rtype: str """ return self._Region @Region.setter def Region(self, Region): self._Region = Region @property def Bucket(self): """云存储桶名称。 :rtype: str """ return self._Bucket @Bucket.setter def Bucket(self, Bucket): self._Bucket = Bucket @property def AccessKey(self): """云存储的access_key账号信息。 若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretId值。 :rtype: str """ return self._AccessKey @AccessKey.setter def AccessKey(self, AccessKey): self._AccessKey = AccessKey @property def SecretKey(self): """云存储的secret_key账号信息。 若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretKey值。 :rtype: str """ return self._SecretKey @SecretKey.setter def SecretKey(self, SecretKey): self._SecretKey = SecretKey @property def FileNamePrefix(self): """云存储bucket 的指定位置,由字符串数组组成。合法的字符串范围az,AZ,0~9,'_'和'-',举个例子,录制文件xxx.m3u8在 ["prefix1", "prefix2"]作用下,会变成prefix1/prefix2/TaskId/xxx.m3u8。 :rtype: list of str """ return self._FileNamePrefix @FileNamePrefix.setter def FileNamePrefix(self, FileNamePrefix): self._FileNamePrefix = FileNamePrefix def _deserialize(self, params): self._Vendor = params.get("Vendor") self._Region = params.get("Region") self._Bucket = params.get("Bucket") self._AccessKey = params.get("AccessKey") self._SecretKey = params.get("SecretKey") self._FileNamePrefix = params.get("FileNamePrefix") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CloudVod(AbstractModel): """点播相关参数。 """ def __init__(self): r""" :param _TencentVod: 腾讯云点播相关参数。 :type TencentVod: :class:`tencentcloud.trtc.v20190722.models.TencentVod` """ self._TencentVod = None @property def TencentVod(self): """腾讯云点播相关参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TencentVod` """ return self._TencentVod @TencentVod.setter def TencentVod(self, TencentVod): self._TencentVod = TencentVod def _deserialize(self, params): if params.get("TencentVod") is not None: self._TencentVod = TencentVod() self._TencentVod._deserialize(params.get("TencentVod")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ControlAIConversationRequest(AbstractModel): """ControlAIConversation请求参数结构体 """ def __init__(self): r""" :param _TaskId: 任务唯一标识 :type TaskId: str :param _Command: 控制命令,目前支持命令如下: - ServerPushText,服务端发送文本给AI机器人,AI机器人会播报该文本 :type Command: str :param _ServerPushText: 服务端发送播报文本命令,当Command为ServerPushText时必填 :type ServerPushText: :class:`tencentcloud.trtc.v20190722.models.ServerPushText` """ self._TaskId = None self._Command = None self._ServerPushText = None @property def TaskId(self): """任务唯一标识 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def Command(self): """控制命令,目前支持命令如下: - ServerPushText,服务端发送文本给AI机器人,AI机器人会播报该文本 :rtype: str """ return self._Command @Command.setter def Command(self, Command): self._Command = Command @property def ServerPushText(self): """服务端发送播报文本命令,当Command为ServerPushText时必填 :rtype: :class:`tencentcloud.trtc.v20190722.models.ServerPushText` """ return self._ServerPushText @ServerPushText.setter def ServerPushText(self, ServerPushText): self._ServerPushText = ServerPushText def _deserialize(self, params): self._TaskId = params.get("TaskId") self._Command = params.get("Command") if params.get("ServerPushText") is not None: self._ServerPushText = ServerPushText() self._ServerPushText._deserialize(params.get("ServerPushText")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ControlAIConversationResponse(AbstractModel): """ControlAIConversation返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class CreateBasicModerationRequest(AbstractModel): """CreateBasicModeration请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和TRTC的房间所对应的SdkAppId相同。 :type SdkAppId: int :param _RoomId: TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),为TRTC房间所对应的RoomId。 :type RoomId: str :param _UserId: 目标审核用户id :type UserId: str :param _RoomIdType: TRTC房间号的类型。【*注意】必须和TRTC的房间所对应的RoomId类型相同:0: 字符串类型的RoomId1: 32位整型的RoomId(默认) :type RoomIdType: int :param _AuditStorageParams: 音频文件上传到云存储的参数 :type AuditStorageParams: :class:`tencentcloud.trtc.v20190722.models.AuditStorageParams` """ self._SdkAppId = None self._RoomId = None self._UserId = None self._RoomIdType = None self._AuditStorageParams = None @property def SdkAppId(self): """TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和TRTC的房间所对应的SdkAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),为TRTC房间所对应的RoomId。 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def UserId(self): """目标审核用户id :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def RoomIdType(self): """TRTC房间号的类型。【*注意】必须和TRTC的房间所对应的RoomId类型相同:0: 字符串类型的RoomId1: 32位整型的RoomId(默认) :rtype: int """ return self._RoomIdType @RoomIdType.setter def RoomIdType(self, RoomIdType): self._RoomIdType = RoomIdType @property def AuditStorageParams(self): """音频文件上传到云存储的参数 :rtype: :class:`tencentcloud.trtc.v20190722.models.AuditStorageParams` """ return self._AuditStorageParams @AuditStorageParams.setter def AuditStorageParams(self, AuditStorageParams): self._AuditStorageParams = AuditStorageParams def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") self._UserId = params.get("UserId") self._RoomIdType = params.get("RoomIdType") if params.get("AuditStorageParams") is not None: self._AuditStorageParams = AuditStorageParams() self._AuditStorageParams._deserialize(params.get("AuditStorageParams")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateBasicModerationResponse(AbstractModel): """CreateBasicModeration返回参数结构体 """ def __init__(self): r""" :param _TaskId: 审核服务分配的任务ID。任务ID是对一次审核任务生命周期过程的唯一标识,结束任务时会失去意义。任务ID需要业务保存下来,作为下次针对这个任务操作的参数 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """审核服务分配的任务ID。任务ID是对一次审核任务生命周期过程的唯一标识,结束任务时会失去意义。任务ID需要业务保存下来,作为下次针对这个任务操作的参数 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class CreateCloudRecordingRequest(AbstractModel): """CreateCloudRecording请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和录制的房间所对应的SdkAppId相同。 :type SdkAppId: int :param _RoomId: TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),录制的TRTC房间所对应的RoomId。 注:房间号类型默认为整型,若房间号类型为字符串,请通过RoomIdType指定。 :type RoomId: str :param _UserId: 录制机器人的UserId,用于进房发起录制任务。 【*注意】这个UserId不能与当前房间内的主播观众[UserId](https://cloud.tencent.com/document/product/647/46351#userid)重复。如果一个房间发起多个录制任务时,机器人的userid也不能相互重复,否则会中断前一个录制任务。建议可以把房间ID作为UserId的标识的一部分,即录制机器人UserId在房间内唯一。 :type UserId: str :param _UserSig: 录制机器人UserId对应的校验签名,即UserId和UserSig相当于录制机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :type UserSig: str :param _RecordParams: 云端录制控制参数。 :type RecordParams: :class:`tencentcloud.trtc.v20190722.models.RecordParams` :param _StorageParams: 云端录制文件上传到云存储的参数(不支持同时设置云点播VOD和对象存储COS) :type StorageParams: :class:`tencentcloud.trtc.v20190722.models.StorageParams` :param _RoomIdType: TRTC房间号的类型。 【*注意】必须和录制的房间所对应的RoomId类型相同: 0: 字符串类型的RoomId 1: 32位整型的RoomId(默认) :type RoomIdType: int :param _MixTranscodeParams: 合流的转码参数,录制模式为合流的时候可以设置。 :type MixTranscodeParams: :class:`tencentcloud.trtc.v20190722.models.MixTranscodeParams` :param _MixLayoutParams: 合流的布局参数,录制模式为合流的时候可以设置。 :type MixLayoutParams: :class:`tencentcloud.trtc.v20190722.models.MixLayoutParams` :param _ResourceExpiredHour: 接口可以调用的时效性,从成功开启录制并获得任务ID后开始计算,超时后无法调用查询、更新和停止等接口,但是录制任务不会停止。 参数的单位是小时,默认72小时(3天),最大可设置720小时(30天),最小设置6小时。举例说明:如果不设置该参数,那么开始录制成功后,查询、更新和停止录制的调用时效为72个小时。 :type ResourceExpiredHour: int :param _PrivateMapKey: TRTC房间权限加密串,只有在TRTC控制台启用了高级权限控制的时候需要携带,在TRTC控制台如果开启高级权限控制后,TRTC 的后台服务系统会校验一个叫做 [PrivateMapKey] 的“权限票据”,权限票据中包含了一个加密后的 RoomId 和一个加密后的“权限位列表”。由于 PrivateMapKey 中包含 RoomId,所以只提供了 UserSig 没有提供 PrivateMapKey 时,并不能进入指定的房间。 :type PrivateMapKey: str """ self._SdkAppId = None self._RoomId = None self._UserId = None self._UserSig = None self._RecordParams = None self._StorageParams = None self._RoomIdType = None self._MixTranscodeParams = None self._MixLayoutParams = None self._ResourceExpiredHour = None self._PrivateMapKey = None @property def SdkAppId(self): """TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和录制的房间所对应的SdkAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),录制的TRTC房间所对应的RoomId。 注:房间号类型默认为整型,若房间号类型为字符串,请通过RoomIdType指定。 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def UserId(self): """录制机器人的UserId,用于进房发起录制任务。 【*注意】这个UserId不能与当前房间内的主播观众[UserId](https://cloud.tencent.com/document/product/647/46351#userid)重复。如果一个房间发起多个录制任务时,机器人的userid也不能相互重复,否则会中断前一个录制任务。建议可以把房间ID作为UserId的标识的一部分,即录制机器人UserId在房间内唯一。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def UserSig(self): """录制机器人UserId对应的校验签名,即UserId和UserSig相当于录制机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :rtype: str """ return self._UserSig @UserSig.setter def UserSig(self, UserSig): self._UserSig = UserSig @property def RecordParams(self): """云端录制控制参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.RecordParams` """ return self._RecordParams @RecordParams.setter def RecordParams(self, RecordParams): self._RecordParams = RecordParams @property def StorageParams(self): """云端录制文件上传到云存储的参数(不支持同时设置云点播VOD和对象存储COS) :rtype: :class:`tencentcloud.trtc.v20190722.models.StorageParams` """ return self._StorageParams @StorageParams.setter def StorageParams(self, StorageParams): self._StorageParams = StorageParams @property def RoomIdType(self): """TRTC房间号的类型。 【*注意】必须和录制的房间所对应的RoomId类型相同: 0: 字符串类型的RoomId 1: 32位整型的RoomId(默认) :rtype: int """ return self._RoomIdType @RoomIdType.setter def RoomIdType(self, RoomIdType): self._RoomIdType = RoomIdType @property def MixTranscodeParams(self): """合流的转码参数,录制模式为合流的时候可以设置。 :rtype: :class:`tencentcloud.trtc.v20190722.models.MixTranscodeParams` """ return self._MixTranscodeParams @MixTranscodeParams.setter def MixTranscodeParams(self, MixTranscodeParams): self._MixTranscodeParams = MixTranscodeParams @property def MixLayoutParams(self): """合流的布局参数,录制模式为合流的时候可以设置。 :rtype: :class:`tencentcloud.trtc.v20190722.models.MixLayoutParams` """ return self._MixLayoutParams @MixLayoutParams.setter def MixLayoutParams(self, MixLayoutParams): self._MixLayoutParams = MixLayoutParams @property def ResourceExpiredHour(self): """接口可以调用的时效性,从成功开启录制并获得任务ID后开始计算,超时后无法调用查询、更新和停止等接口,但是录制任务不会停止。 参数的单位是小时,默认72小时(3天),最大可设置720小时(30天),最小设置6小时。举例说明:如果不设置该参数,那么开始录制成功后,查询、更新和停止录制的调用时效为72个小时。 :rtype: int """ return self._ResourceExpiredHour @ResourceExpiredHour.setter def ResourceExpiredHour(self, ResourceExpiredHour): self._ResourceExpiredHour = ResourceExpiredHour @property def PrivateMapKey(self): """TRTC房间权限加密串,只有在TRTC控制台启用了高级权限控制的时候需要携带,在TRTC控制台如果开启高级权限控制后,TRTC 的后台服务系统会校验一个叫做 [PrivateMapKey] 的“权限票据”,权限票据中包含了一个加密后的 RoomId 和一个加密后的“权限位列表”。由于 PrivateMapKey 中包含 RoomId,所以只提供了 UserSig 没有提供 PrivateMapKey 时,并不能进入指定的房间。 :rtype: str """ return self._PrivateMapKey @PrivateMapKey.setter def PrivateMapKey(self, PrivateMapKey): self._PrivateMapKey = PrivateMapKey def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") self._UserId = params.get("UserId") self._UserSig = params.get("UserSig") if params.get("RecordParams") is not None: self._RecordParams = RecordParams() self._RecordParams._deserialize(params.get("RecordParams")) if params.get("StorageParams") is not None: self._StorageParams = StorageParams() self._StorageParams._deserialize(params.get("StorageParams")) self._RoomIdType = params.get("RoomIdType") if params.get("MixTranscodeParams") is not None: self._MixTranscodeParams = MixTranscodeParams() self._MixTranscodeParams._deserialize(params.get("MixTranscodeParams")) if params.get("MixLayoutParams") is not None: self._MixLayoutParams = MixLayoutParams() self._MixLayoutParams._deserialize(params.get("MixLayoutParams")) self._ResourceExpiredHour = params.get("ResourceExpiredHour") self._PrivateMapKey = params.get("PrivateMapKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreateCloudRecordingResponse(AbstractModel): """CreateCloudRecording返回参数结构体 """ def __init__(self): r""" :param _TaskId: 云录制服务分配的任务 ID。任务 ID 是对一次录制生命周期过程的唯一标识,结束录制时会失去意义。任务 ID需要业务保存下来,作为下次针对这个录制任务操作的参数。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """云录制服务分配的任务 ID。任务 ID 是对一次录制生命周期过程的唯一标识,结束录制时会失去意义。任务 ID需要业务保存下来,作为下次针对这个录制任务操作的参数。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class CreatePictureRequest(AbstractModel): """CreatePicture请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 应用id :type SdkAppId: int :param _Content: 图片内容经base64编码后的string格式,最大长度为2M :type Content: str :param _Suffix: 图片后缀名 :type Suffix: str :param _Height: 图片长度 :type Height: int :param _Width: 图片宽度 :type Width: int :param _XPosition: 显示位置x轴方向 :type XPosition: int :param _YPosition: 显示位置y轴方向 :type YPosition: int """ self._SdkAppId = None self._Content = None self._Suffix = None self._Height = None self._Width = None self._XPosition = None self._YPosition = None @property def SdkAppId(self): """应用id :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def Content(self): """图片内容经base64编码后的string格式,最大长度为2M :rtype: str """ return self._Content @Content.setter def Content(self, Content): self._Content = Content @property def Suffix(self): """图片后缀名 :rtype: str """ return self._Suffix @Suffix.setter def Suffix(self, Suffix): self._Suffix = Suffix @property def Height(self): """图片长度 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def Width(self): """图片宽度 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def XPosition(self): """显示位置x轴方向 :rtype: int """ return self._XPosition @XPosition.setter def XPosition(self, XPosition): self._XPosition = XPosition @property def YPosition(self): """显示位置y轴方向 :rtype: int """ return self._YPosition @YPosition.setter def YPosition(self, YPosition): self._YPosition = YPosition def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._Content = params.get("Content") self._Suffix = params.get("Suffix") self._Height = params.get("Height") self._Width = params.get("Width") self._XPosition = params.get("XPosition") self._YPosition = params.get("YPosition") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class CreatePictureResponse(AbstractModel): """CreatePicture返回参数结构体 """ def __init__(self): r""" :param _PictureId: 图片id :type PictureId: int :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._PictureId = None self._RequestId = None @property def PictureId(self): """图片id :rtype: int """ return self._PictureId @PictureId.setter def PictureId(self, PictureId): self._PictureId = PictureId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._PictureId = params.get("PictureId") self._RequestId = params.get("RequestId") class DeleteBasicModerationRequest(AbstractModel): """DeleteBasicModeration请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId,和TRTC的房间所使用的SDKAppId相同。 :type SdkAppId: int :param _TaskId: 审核任务的唯一Id,在启动审核任务成功后会返回。 :type TaskId: str """ self._SdkAppId = None self._TaskId = None @property def SdkAppId(self): """TRTC的SDKAppId,和TRTC的房间所使用的SDKAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """审核任务的唯一Id,在启动审核任务成功后会返回。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeleteBasicModerationResponse(AbstractModel): """DeleteBasicModeration返回参数结构体 """ def __init__(self): r""" :param _TaskId: 审核任务的唯一Id。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """审核任务的唯一Id。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class DeleteCloudRecordingRequest(AbstractModel): """DeleteCloudRecording请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId,和录制的房间所对应的SDKAppId相同。 :type SdkAppId: int :param _TaskId: 录制任务的唯一Id,在启动录制成功后会返回。 :type TaskId: str """ self._SdkAppId = None self._TaskId = None @property def SdkAppId(self): """TRTC的SDKAppId,和录制的房间所对应的SDKAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """录制任务的唯一Id,在启动录制成功后会返回。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeleteCloudRecordingResponse(AbstractModel): """DeleteCloudRecording返回参数结构体 """ def __init__(self): r""" :param _TaskId: 云录制服务分配的任务 ID。任务 ID 是对一次录制生命周期过程的唯一标识,结束录制时会失去意义。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """云录制服务分配的任务 ID。任务 ID 是对一次录制生命周期过程的唯一标识,结束录制时会失去意义。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class DeletePictureRequest(AbstractModel): """DeletePicture请求参数结构体 """ def __init__(self): r""" :param _PictureId: 图片id :type PictureId: int :param _SdkAppId: 应用id :type SdkAppId: int """ self._PictureId = None self._SdkAppId = None @property def PictureId(self): """图片id :rtype: int """ return self._PictureId @PictureId.setter def PictureId(self, PictureId): self._PictureId = PictureId @property def SdkAppId(self): """应用id :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId def _deserialize(self, params): self._PictureId = params.get("PictureId") self._SdkAppId = params.get("SdkAppId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DeletePictureResponse(AbstractModel): """DeletePicture返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class DescribeAIConversationRequest(AbstractModel): """DescribeAIConversation请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和开启转录任务的房间使用的SdkAppId相同。 :type SdkAppId: int :param _TaskId: 唯一标识一次任务。 :type TaskId: str :param _SessionId: 开启任务时填写的SessionId,如果没写则不返回。 :type SessionId: str """ self._SdkAppId = None self._TaskId = None self._SessionId = None @property def SdkAppId(self): """TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和开启转录任务的房间使用的SdkAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """唯一标识一次任务。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def SessionId(self): """开启任务时填写的SessionId,如果没写则不返回。 :rtype: str """ return self._SessionId @SessionId.setter def SessionId(self, SessionId): self._SessionId = SessionId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") self._SessionId = params.get("SessionId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeAIConversationResponse(AbstractModel): """DescribeAIConversation返回参数结构体 """ def __init__(self): r""" :param _StartTime: 任务开始时间。 :type StartTime: str :param _Status: 任务状态。有4个值:1、Idle表示任务未开始2、Preparing表示任务准备中3、InProgress表示任务正在运行4、Stopped表示任务已停止,正在清理资源中 :type Status: str :param _TaskId: 任务的唯一标识,在启动任务时生成 :type TaskId: str :param _SessionId: 开启对话任务时填写的SessionId,如果没写则不返回。 :type SessionId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._StartTime = None self._Status = None self._TaskId = None self._SessionId = None self._RequestId = None @property def StartTime(self): """任务开始时间。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def Status(self): """任务状态。有4个值:1、Idle表示任务未开始2、Preparing表示任务准备中3、InProgress表示任务正在运行4、Stopped表示任务已停止,正在清理资源中 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def TaskId(self): """任务的唯一标识,在启动任务时生成 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def SessionId(self): """开启对话任务时填写的SessionId,如果没写则不返回。 :rtype: str """ return self._SessionId @SessionId.setter def SessionId(self, SessionId): self._SessionId = SessionId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._StartTime = params.get("StartTime") self._Status = params.get("Status") self._TaskId = params.get("TaskId") self._SessionId = params.get("SessionId") self._RequestId = params.get("RequestId") class DescribeAITranscriptionRequest(AbstractModel): """DescribeAITranscription请求参数结构体 """ def __init__(self): r""" :param _TaskId: 查询任务状态,不使用时传入空字符串。 有两种查询方式: 1、只填写TaskId,这种方式使用TaskId来查询任务 2、TaskId为空字符串,填写SdkAppId和SessionId,这种方式不需要使用TaskId查询任务 :type TaskId: str :param _SdkAppId: TRTC的SdkAppId,和SessionId配合使用。 :type SdkAppId: int :param _SessionId: 开启转录任务时传入的SessionId,和SdkAppId配合使用。 :type SessionId: str """ self._TaskId = None self._SdkAppId = None self._SessionId = None @property def TaskId(self): """查询任务状态,不使用时传入空字符串。 有两种查询方式: 1、只填写TaskId,这种方式使用TaskId来查询任务 2、TaskId为空字符串,填写SdkAppId和SessionId,这种方式不需要使用TaskId查询任务 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def SdkAppId(self): """TRTC的SdkAppId,和SessionId配合使用。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def SessionId(self): """开启转录任务时传入的SessionId,和SdkAppId配合使用。 :rtype: str """ return self._SessionId @SessionId.setter def SessionId(self, SessionId): self._SessionId = SessionId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._SdkAppId = params.get("SdkAppId") self._SessionId = params.get("SessionId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeAITranscriptionResponse(AbstractModel): """DescribeAITranscription返回参数结构体 """ def __init__(self): r""" :param _StartTime: 任务开始时间。 :type StartTime: str :param _Status: 转录任务状态。 有4个值: 1、Idle表示任务未开始 2、Preparing表示任务准备中 3、InProgress表示任务正在运行 4、Stopped表示任务已停止,正在清理资源中 :type Status: str :param _TaskId: 唯一标识一次任务。 :type TaskId: str :param _SessionId: 开启转录任务时填写的SessionId,如果没写则不返回。 :type SessionId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._StartTime = None self._Status = None self._TaskId = None self._SessionId = None self._RequestId = None @property def StartTime(self): """任务开始时间。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def Status(self): """转录任务状态。 有4个值: 1、Idle表示任务未开始 2、Preparing表示任务准备中 3、InProgress表示任务正在运行 4、Stopped表示任务已停止,正在清理资源中 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def TaskId(self): """唯一标识一次任务。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def SessionId(self): """开启转录任务时填写的SessionId,如果没写则不返回。 :rtype: str """ return self._SessionId @SessionId.setter def SessionId(self, SessionId): self._SessionId = SessionId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._StartTime = params.get("StartTime") self._Status = params.get("Status") self._TaskId = params.get("TaskId") self._SessionId = params.get("SessionId") self._RequestId = params.get("RequestId") class DescribeCallDetailInfoRequest(AbstractModel): """DescribeCallDetailInfo请求参数结构体 """ def __init__(self): r""" :param _CommId: 通话 ID(唯一标识一次通话): SdkAppId_RoomId(房间号)_ CreateTime(房间创建时间,unix时间戳,单位为s)例:1400xxxxxx_218695_1590065777。通过 DescribeRoomInfo(查询历史房间列表)接口获取([查询历史房间列表](https://cloud.tencent.com/document/product/647/44050))。 :type CommId: str :param _StartTime: 查询开始时间,本地unix时间戳,单位为秒(如:1590065777), 注意:支持查询14天内的数据。 :type StartTime: int :param _EndTime: 查询结束时间,本地unix时间戳,单位为秒(如:1590065877) 注意:查询起止时间需小于1小时,超过则返回null,即与StartTime间隔时间不超过1小时。 :type EndTime: int :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx)。 :type SdkAppId: int :param _UserIds: 需查询的用户数组,默认不填返回6个用户。 :type UserIds: list of str :param _DataType: 需查询的指标,不填则只返回用户列表,填all则返回所有指标。 appCpu:APP CPU使用率; sysCpu:系统 CPU使用率; aBit:上/下行音频码率;单位:bps aBlock:音频卡顿时长;单位:ms bigvBit:上/下行视频码率;单位:bps bigvCapFps:视频采集帧率; bigvEncFps:视频发送帧率; bigvDecFps:渲染帧率; bigvBlock:视频卡顿时长;单位:ms aLoss:上/下行音频丢包率; bigvLoss:上/下行视频丢包率; bigvWidth:上/下行分辨率宽; bigvHeight:上/下行分辨率高; aCapEnergy:音频采集能量; aPlayEnergy:音频播放能量; rtt:SDK到云端的往返延时;单位: ms :type DataType: list of str :param _PageNumber: 当前页数,默认为0, 注意:PageNumber和PageSize 其中一个不填均默认返回6条数据。 :type PageNumber: int :param _PageSize: 每页个数,默认为6, 范围:[1,100] 注意:DataType不为null,UserIds长度不能超过6,PageSize最大值不超过6; DataType 为null,UserIds长度不超过100,PageSize最大不超过100。 :type PageSize: int """ self._CommId = None self._StartTime = None self._EndTime = None self._SdkAppId = None self._UserIds = None self._DataType = None self._PageNumber = None self._PageSize = None @property def CommId(self): """通话 ID(唯一标识一次通话): SdkAppId_RoomId(房间号)_ CreateTime(房间创建时间,unix时间戳,单位为s)例:1400xxxxxx_218695_1590065777。通过 DescribeRoomInfo(查询历史房间列表)接口获取([查询历史房间列表](https://cloud.tencent.com/document/product/647/44050))。 :rtype: str """ return self._CommId @CommId.setter def CommId(self, CommId): self._CommId = CommId @property def StartTime(self): """查询开始时间,本地unix时间戳,单位为秒(如:1590065777), 注意:支持查询14天内的数据。 :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,本地unix时间戳,单位为秒(如:1590065877) 注意:查询起止时间需小于1小时,超过则返回null,即与StartTime间隔时间不超过1小时。 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx)。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def UserIds(self): """需查询的用户数组,默认不填返回6个用户。 :rtype: list of str """ return self._UserIds @UserIds.setter def UserIds(self, UserIds): self._UserIds = UserIds @property def DataType(self): """需查询的指标,不填则只返回用户列表,填all则返回所有指标。 appCpu:APP CPU使用率; sysCpu:系统 CPU使用率; aBit:上/下行音频码率;单位:bps aBlock:音频卡顿时长;单位:ms bigvBit:上/下行视频码率;单位:bps bigvCapFps:视频采集帧率; bigvEncFps:视频发送帧率; bigvDecFps:渲染帧率; bigvBlock:视频卡顿时长;单位:ms aLoss:上/下行音频丢包率; bigvLoss:上/下行视频丢包率; bigvWidth:上/下行分辨率宽; bigvHeight:上/下行分辨率高; aCapEnergy:音频采集能量; aPlayEnergy:音频播放能量; rtt:SDK到云端的往返延时;单位: ms :rtype: list of str """ return self._DataType @DataType.setter def DataType(self, DataType): self._DataType = DataType @property def PageNumber(self): """当前页数,默认为0, 注意:PageNumber和PageSize 其中一个不填均默认返回6条数据。 :rtype: int """ return self._PageNumber @PageNumber.setter def PageNumber(self, PageNumber): self._PageNumber = PageNumber @property def PageSize(self): """每页个数,默认为6, 范围:[1,100] 注意:DataType不为null,UserIds长度不能超过6,PageSize最大值不超过6; DataType 为null,UserIds长度不超过100,PageSize最大不超过100。 :rtype: int """ return self._PageSize @PageSize.setter def PageSize(self, PageSize): self._PageSize = PageSize def _deserialize(self, params): self._CommId = params.get("CommId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._SdkAppId = params.get("SdkAppId") self._UserIds = params.get("UserIds") self._DataType = params.get("DataType") self._PageNumber = params.get("PageNumber") self._PageSize = params.get("PageSize") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeCallDetailInfoResponse(AbstractModel): """DescribeCallDetailInfo返回参数结构体 """ def __init__(self): r""" :param _Total: 返回的用户总条数 :type Total: int :param _UserList: 用户信息列表 :type UserList: list of UserInformation :param _Data: 质量数据 :type Data: list of QualityData :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Total = None self._UserList = None self._Data = None self._RequestId = None @property def Total(self): """返回的用户总条数 :rtype: int """ return self._Total @Total.setter def Total(self, Total): self._Total = Total @property def UserList(self): """用户信息列表 :rtype: list of UserInformation """ return self._UserList @UserList.setter def UserList(self, UserList): self._UserList = UserList @property def Data(self): """质量数据 :rtype: list of QualityData """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Total = params.get("Total") if params.get("UserList") is not None: self._UserList = [] for item in params.get("UserList"): obj = UserInformation() obj._deserialize(item) self._UserList.append(obj) if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = QualityData() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class DescribeCloudRecordingRequest(AbstractModel): """DescribeCloudRecording请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId,和录制的房间所对应的SDKAppId相同。 :type SdkAppId: int :param _TaskId: 录制任务的唯一Id,在启动录制成功后会返回。 :type TaskId: str """ self._SdkAppId = None self._TaskId = None @property def SdkAppId(self): """TRTC的SDKAppId,和录制的房间所对应的SDKAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """录制任务的唯一Id,在启动录制成功后会返回。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeCloudRecordingResponse(AbstractModel): """DescribeCloudRecording返回参数结构体 """ def __init__(self): r""" :param _TaskId: 录制任务的唯一Id。 :type TaskId: str :param _Status: 云端录制任务的状态信息。 Idle:表示当前录制任务空闲中 InProgress:表示当前录制任务正在进行中。 Exited:表示当前录制任务正在退出的过程中。 :type Status: str :param _StorageFileList: 录制文件信息。 :type StorageFileList: list of StorageFile :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._Status = None self._StorageFileList = None self._RequestId = None @property def TaskId(self): """录制任务的唯一Id。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def Status(self): """云端录制任务的状态信息。 Idle:表示当前录制任务空闲中 InProgress:表示当前录制任务正在进行中。 Exited:表示当前录制任务正在退出的过程中。 :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def StorageFileList(self): """录制文件信息。 :rtype: list of StorageFile """ return self._StorageFileList @StorageFileList.setter def StorageFileList(self, StorageFileList): self._StorageFileList = StorageFileList @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._Status = params.get("Status") if params.get("StorageFileList") is not None: self._StorageFileList = [] for item in params.get("StorageFileList"): obj = StorageFile() obj._deserialize(item) self._StorageFileList.append(obj) self._RequestId = params.get("RequestId") class DescribeMixTranscodingUsageRequest(AbstractModel): """DescribeMixTranscodingUsage请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询开始时间,格式为YYYY-MM-DD。 :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :type EndTime: str :param _SdkAppId: TRTC的SdkAppId,和房间所对应的SdkAppId相同。如果没有这个参数,返回用户下全部实时音视频应用的汇总。 :type SdkAppId: int """ self._StartTime = None self._EndTime = None self._SdkAppId = None @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def SdkAppId(self): """TRTC的SdkAppId,和房间所对应的SdkAppId相同。如果没有这个参数,返回用户下全部实时音视频应用的汇总。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._SdkAppId = params.get("SdkAppId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeMixTranscodingUsageResponse(AbstractModel): """DescribeMixTranscodingUsage返回参数结构体 """ def __init__(self): r""" :param _UsageKey: 用量类型,与UsageValue中各个位置的值对应。 :type UsageKey: list of str :param _UsageList: 各个时间点用量明细。 :type UsageList: list of TrtcUsage :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._UsageKey = None self._UsageList = None self._RequestId = None @property def UsageKey(self): """用量类型,与UsageValue中各个位置的值对应。 :rtype: list of str """ return self._UsageKey @UsageKey.setter def UsageKey(self, UsageKey): self._UsageKey = UsageKey @property def UsageList(self): """各个时间点用量明细。 :rtype: list of TrtcUsage """ return self._UsageList @UsageList.setter def UsageList(self, UsageList): self._UsageList = UsageList @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._UsageKey = params.get("UsageKey") if params.get("UsageList") is not None: self._UsageList = [] for item in params.get("UsageList"): obj = TrtcUsage() obj._deserialize(item) self._UsageList.append(obj) self._RequestId = params.get("RequestId") class DescribePictureRequest(AbstractModel): """DescribePicture请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 应用ID :type SdkAppId: int :param _PictureId: 图片ID,不填时返回该应用下所有图片 :type PictureId: int :param _PageSize: 每页数量,不填时默认为10 :type PageSize: int :param _PageNo: 页码,不填时默认为1 :type PageNo: int """ self._SdkAppId = None self._PictureId = None self._PageSize = None self._PageNo = None @property def SdkAppId(self): """应用ID :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def PictureId(self): """图片ID,不填时返回该应用下所有图片 :rtype: int """ return self._PictureId @PictureId.setter def PictureId(self, PictureId): self._PictureId = PictureId @property def PageSize(self): """每页数量,不填时默认为10 :rtype: int """ return self._PageSize @PageSize.setter def PageSize(self, PageSize): self._PageSize = PageSize @property def PageNo(self): """页码,不填时默认为1 :rtype: int """ return self._PageNo @PageNo.setter def PageNo(self, PageNo): self._PageNo = PageNo def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._PictureId = params.get("PictureId") self._PageSize = params.get("PageSize") self._PageNo = params.get("PageNo") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribePictureResponse(AbstractModel): """DescribePicture返回参数结构体 """ def __init__(self): r""" :param _Total: 返回的图片记录数 :type Total: int :param _PictureInfo: 图片信息列表 :type PictureInfo: list of PictureInfo :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Total = None self._PictureInfo = None self._RequestId = None @property def Total(self): """返回的图片记录数 :rtype: int """ return self._Total @Total.setter def Total(self, Total): self._Total = Total @property def PictureInfo(self): """图片信息列表 :rtype: list of PictureInfo """ return self._PictureInfo @PictureInfo.setter def PictureInfo(self, PictureInfo): self._PictureInfo = PictureInfo @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Total = params.get("Total") if params.get("PictureInfo") is not None: self._PictureInfo = [] for item in params.get("PictureInfo"): obj = PictureInfo() obj._deserialize(item) self._PictureInfo.append(obj) self._RequestId = params.get("RequestId") class DescribeRecordStatisticRequest(AbstractModel): """DescribeRecordStatistic请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询开始日期,格式为YYYY-MM-DD。 :type StartTime: str :param _EndTime: 查询结束日期,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :type EndTime: str :param _SdkAppId: 应用ID,可不传。传应用ID时返回的是该应用的用量,不传时返回多个应用的合计值。 :type SdkAppId: int """ self._StartTime = None self._EndTime = None self._SdkAppId = None @property def StartTime(self): """查询开始日期,格式为YYYY-MM-DD。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束日期,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def SdkAppId(self): """应用ID,可不传。传应用ID时返回的是该应用的用量,不传时返回多个应用的合计值。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._SdkAppId = params.get("SdkAppId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeRecordStatisticResponse(AbstractModel): """DescribeRecordStatistic返回参数结构体 """ def __init__(self): r""" :param _SdkAppIdUsages: 应用的用量信息数组。 :type SdkAppIdUsages: list of SdkAppIdRecordUsage :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._SdkAppIdUsages = None self._RequestId = None @property def SdkAppIdUsages(self): """应用的用量信息数组。 :rtype: list of SdkAppIdRecordUsage """ return self._SdkAppIdUsages @SdkAppIdUsages.setter def SdkAppIdUsages(self, SdkAppIdUsages): self._SdkAppIdUsages = SdkAppIdUsages @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("SdkAppIdUsages") is not None: self._SdkAppIdUsages = [] for item in params.get("SdkAppIdUsages"): obj = SdkAppIdRecordUsage() obj._deserialize(item) self._SdkAppIdUsages.append(obj) self._RequestId = params.get("RequestId") class DescribeRecordingUsageRequest(AbstractModel): """DescribeRecordingUsage请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询开始时间,格式为YYYY-MM-DD。 :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :type EndTime: str :param _MixType: 查询单流录制或合流录制,值为"single"或"multi"。 :type MixType: str :param _SdkAppId: TRTC的SdkAppId,和房间所对应的SdkAppId相同。如果没有这个参数,返回用户下全部实时音视频应用的汇总。 :type SdkAppId: int """ self._StartTime = None self._EndTime = None self._MixType = None self._SdkAppId = None @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def MixType(self): """查询单流录制或合流录制,值为"single"或"multi"。 :rtype: str """ return self._MixType @MixType.setter def MixType(self, MixType): self._MixType = MixType @property def SdkAppId(self): """TRTC的SdkAppId,和房间所对应的SdkAppId相同。如果没有这个参数,返回用户下全部实时音视频应用的汇总。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._MixType = params.get("MixType") self._SdkAppId = params.get("SdkAppId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeRecordingUsageResponse(AbstractModel): """DescribeRecordingUsage返回参数结构体 """ def __init__(self): r""" :param _UsageKey: 用量类型,与UsageValue中各个位置的值对应。 :type UsageKey: list of str :param _UsageList: 各个时间点用量明细。 :type UsageList: list of TrtcUsage :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._UsageKey = None self._UsageList = None self._RequestId = None @property def UsageKey(self): """用量类型,与UsageValue中各个位置的值对应。 :rtype: list of str """ return self._UsageKey @UsageKey.setter def UsageKey(self, UsageKey): self._UsageKey = UsageKey @property def UsageList(self): """各个时间点用量明细。 :rtype: list of TrtcUsage """ return self._UsageList @UsageList.setter def UsageList(self, UsageList): self._UsageList = UsageList @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._UsageKey = params.get("UsageKey") if params.get("UsageList") is not None: self._UsageList = [] for item in params.get("UsageList"): obj = TrtcUsage() obj._deserialize(item) self._UsageList.append(obj) self._RequestId = params.get("RequestId") class DescribeRelayUsageRequest(AbstractModel): """DescribeRelayUsage请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询开始时间,格式为YYYY-MM-DD。 :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :type EndTime: str :param _SdkAppId: TRTC的SdkAppId,和房间所对应的SdkAppId相同。如果没有这个参数,返回用户下全部实时音视频应用的汇总。 :type SdkAppId: int """ self._StartTime = None self._EndTime = None self._SdkAppId = None @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def SdkAppId(self): """TRTC的SdkAppId,和房间所对应的SdkAppId相同。如果没有这个参数,返回用户下全部实时音视频应用的汇总。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._SdkAppId = params.get("SdkAppId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeRelayUsageResponse(AbstractModel): """DescribeRelayUsage返回参数结构体 """ def __init__(self): r""" :param _UsageKey: 用量类型,与UsageValue中各个位置的值对应。 :type UsageKey: list of str :param _UsageList: 各个时间点用量明细。 :type UsageList: list of TrtcUsage :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._UsageKey = None self._UsageList = None self._RequestId = None @property def UsageKey(self): """用量类型,与UsageValue中各个位置的值对应。 :rtype: list of str """ return self._UsageKey @UsageKey.setter def UsageKey(self, UsageKey): self._UsageKey = UsageKey @property def UsageList(self): """各个时间点用量明细。 :rtype: list of TrtcUsage """ return self._UsageList @UsageList.setter def UsageList(self, UsageList): self._UsageList = UsageList @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._UsageKey = params.get("UsageKey") if params.get("UsageList") is not None: self._UsageList = [] for item in params.get("UsageList"): obj = TrtcUsage() obj._deserialize(item) self._UsageList.append(obj) self._RequestId = params.get("RequestId") class DescribeRoomInfoRequest(AbstractModel): """DescribeRoomInfo请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: int :param _StartTime: 查询开始时间,本地unix时间戳,单位为秒(如:1590065777)注意:最大支持查询14天内的数据 :type StartTime: int :param _EndTime: 查询结束时间,本地unix时间戳,单位为秒(如:1590065877) 注意:与StartTime间隔时间不超过24小时。 :type EndTime: int :param _RoomId: 房间号(如:223) :type RoomId: str :param _PageNumber: 当前页数,默认为0, 注意:PageNumber和PageSize 其中一个不填均默认返回10条数据。 :type PageNumber: int :param _PageSize: 每页个数,默认为10, 范围:[1,100] :type PageSize: int """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._RoomId = None self._PageNumber = None self._PageSize = None @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """查询开始时间,本地unix时间戳,单位为秒(如:1590065777)注意:最大支持查询14天内的数据 :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,本地unix时间戳,单位为秒(如:1590065877) 注意:与StartTime间隔时间不超过24小时。 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def RoomId(self): """房间号(如:223) :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def PageNumber(self): """当前页数,默认为0, 注意:PageNumber和PageSize 其中一个不填均默认返回10条数据。 :rtype: int """ return self._PageNumber @PageNumber.setter def PageNumber(self, PageNumber): self._PageNumber = PageNumber @property def PageSize(self): """每页个数,默认为10, 范围:[1,100] :rtype: int """ return self._PageSize @PageSize.setter def PageSize(self, PageSize): self._PageSize = PageSize def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._RoomId = params.get("RoomId") self._PageNumber = params.get("PageNumber") self._PageSize = params.get("PageSize") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeRoomInfoResponse(AbstractModel): """DescribeRoomInfo返回参数结构体 """ def __init__(self): r""" :param _Total: 返回当页数据总数 :type Total: int :param _RoomList: 房间信息列表 :type RoomList: list of RoomState :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Total = None self._RoomList = None self._RequestId = None @property def Total(self): """返回当页数据总数 :rtype: int """ return self._Total @Total.setter def Total(self, Total): self._Total = Total @property def RoomList(self): """房间信息列表 :rtype: list of RoomState """ return self._RoomList @RoomList.setter def RoomList(self, RoomList): self._RoomList = RoomList @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Total = params.get("Total") if params.get("RoomList") is not None: self._RoomList = [] for item in params.get("RoomList"): obj = RoomState() obj._deserialize(item) self._RoomList.append(obj) self._RequestId = params.get("RequestId") class DescribeScaleInfoRequest(AbstractModel): """DescribeScaleInfo请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: int :param _StartTime: 查询开始时间,本地unix时间戳,单位为秒(如:1590065777) 注意:支持查询14天内的数据。 :type StartTime: int :param _EndTime: 查询结束时间,本地unix时间戳,单位为秒(如:1590065877),建议与StartTime间隔时间超过24小时。 注意:按天统计,结束时间大于前一天,否则查询数据为空(如:需查询20号数据,结束时间需晚于20号0点)。 :type EndTime: int """ self._SdkAppId = None self._StartTime = None self._EndTime = None @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """查询开始时间,本地unix时间戳,单位为秒(如:1590065777) 注意:支持查询14天内的数据。 :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,本地unix时间戳,单位为秒(如:1590065877),建议与StartTime间隔时间超过24小时。 注意:按天统计,结束时间大于前一天,否则查询数据为空(如:需查询20号数据,结束时间需晚于20号0点)。 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeScaleInfoResponse(AbstractModel): """DescribeScaleInfo返回参数结构体 """ def __init__(self): r""" :param _Total: 返回的数据条数 :type Total: int :param _ScaleList: 返回的数据 :type ScaleList: list of ScaleInfomation :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Total = None self._ScaleList = None self._RequestId = None @property def Total(self): """返回的数据条数 :rtype: int """ return self._Total @Total.setter def Total(self, Total): self._Total = Total @property def ScaleList(self): """返回的数据 :rtype: list of ScaleInfomation """ return self._ScaleList @ScaleList.setter def ScaleList(self, ScaleList): self._ScaleList = ScaleList @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Total = params.get("Total") if params.get("ScaleList") is not None: self._ScaleList = [] for item in params.get("ScaleList"): obj = ScaleInfomation() obj._deserialize(item) self._ScaleList.append(obj) self._RequestId = params.get("RequestId") class DescribeStreamIngestRequest(AbstractModel): """DescribeStreamIngest请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId,和任务的房间所对应的SDKAppId相同 :type SdkAppId: int :param _TaskId: 任务的唯一Id,在启动任务成功后会返回。 :type TaskId: str """ self._SdkAppId = None self._TaskId = None @property def SdkAppId(self): """TRTC的SDKAppId,和任务的房间所对应的SDKAppId相同 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """任务的唯一Id,在启动任务成功后会返回。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeStreamIngestResponse(AbstractModel): """DescribeStreamIngest返回参数结构体 """ def __init__(self): r""" :param _Status: 任务的状态信息。 InProgress:表示当前任务正在进行中。 NotExist:表示当前任务不存在。 示例值:InProgress :type Status: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Status = None self._RequestId = None @property def Status(self): """任务的状态信息。 InProgress:表示当前任务正在进行中。 NotExist:表示当前任务不存在。 示例值:InProgress :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Status = params.get("Status") self._RequestId = params.get("RequestId") class DescribeTRTCMarketQualityDataRequest(AbstractModel): """DescribeTRTCMarketQualityData请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: str :param _StartTime: 查询开始时间,格式为YYYY-MM-DD。(查询时间范围根据监控仪表盘功能版本而定,【基础版】可查近30天,【进阶版】可查近60天) :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD。 :type EndTime: str :param _Period: 返回数据的粒度,支持设为以下值: d:按天。此时返回查询时间范围内 UTC 时间为零点的数据。 h:按小时。此时返回查询时间范围内 UTC 时间为整小时的数据。 :type Period: str """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._Period = None @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD。(查询时间范围根据监控仪表盘功能版本而定,【基础版】可查近30天,【进阶版】可查近60天) :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Period(self): """返回数据的粒度,支持设为以下值: d:按天。此时返回查询时间范围内 UTC 时间为零点的数据。 h:按小时。此时返回查询时间范围内 UTC 时间为整小时的数据。 :rtype: str """ return self._Period @Period.setter def Period(self, Period): self._Period = Period def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Period = params.get("Period") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTRTCMarketQualityDataResponse(AbstractModel): """DescribeTRTCMarketQualityData返回参数结构体 """ def __init__(self): r""" :param _Data: TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :type Data: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResult` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResult` """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = TRTCDataResult() self._Data._deserialize(params.get("Data")) self._RequestId = params.get("RequestId") class DescribeTRTCMarketQualityMetricDataRequest(AbstractModel): """DescribeTRTCMarketQualityMetricData请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: str :param _StartTime: 查询开始时间,格式为YYYY-MM-DD。(查询时间范围根据监控仪表盘功能版本而定,【基础版】可查近30天,【进阶版】可查近60天) :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD。 :type EndTime: str :param _Period: 返回数据的粒度,支持设为以下值: d:按天。此时返回查询时间范围内 UTC 时间为零点的数据。 h:按小时。此时返回查询时间范围内 UTC 时间为整小时的数据。 :type Period: str """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._Period = None @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD。(查询时间范围根据监控仪表盘功能版本而定,【基础版】可查近30天,【进阶版】可查近60天) :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Period(self): """返回数据的粒度,支持设为以下值: d:按天。此时返回查询时间范围内 UTC 时间为零点的数据。 h:按小时。此时返回查询时间范围内 UTC 时间为整小时的数据。 :rtype: str """ return self._Period @Period.setter def Period(self, Period): self._Period = Period def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Period = params.get("Period") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTRTCMarketQualityMetricDataResponse(AbstractModel): """DescribeTRTCMarketQualityMetricData返回参数结构体 """ def __init__(self): r""" :param _Data: TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :type Data: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResp` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResp` """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = TRTCDataResp() self._Data._deserialize(params.get("Data")) self._RequestId = params.get("RequestId") class DescribeTRTCMarketScaleDataRequest(AbstractModel): """DescribeTRTCMarketScaleData请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId :type SdkAppId: str :param _StartTime: 查询开始时间,格式为YYYY-MM-DD。(查询时间范围根据监控仪表盘功能版本而定,【基础版】可查近30天,【进阶版】可查近60天) :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD。 :type EndTime: str :param _Period: 返回数据的粒度,支持设为以下值: d:按天。此时返回查询时间范围内 UTC 时间为零点的数据。 h:按小时。此时返回查询时间范围内 UTC 时间为整小时的数据。 :type Period: str """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._Period = None @property def SdkAppId(self): """用户SdkAppId :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD。(查询时间范围根据监控仪表盘功能版本而定,【基础版】可查近30天,【进阶版】可查近60天) :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Period(self): """返回数据的粒度,支持设为以下值: d:按天。此时返回查询时间范围内 UTC 时间为零点的数据。 h:按小时。此时返回查询时间范围内 UTC 时间为整小时的数据。 :rtype: str """ return self._Period @Period.setter def Period(self, Period): self._Period = Period def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Period = params.get("Period") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTRTCMarketScaleDataResponse(AbstractModel): """DescribeTRTCMarketScaleData返回参数结构体 """ def __init__(self): r""" :param _Data: TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :type Data: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResult` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResult` """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = TRTCDataResult() self._Data._deserialize(params.get("Data")) self._RequestId = params.get("RequestId") class DescribeTRTCMarketScaleMetricDataRequest(AbstractModel): """DescribeTRTCMarketScaleMetricData请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId :type SdkAppId: str :param _StartTime: 查询开始时间,格式为YYYY-MM-DD。(查询时间范围根据监控仪表盘功能版本而定,【基础版】可查近30天,【进阶版】可查近60天) :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD。 :type EndTime: str :param _Period: 返回数据的粒度,支持设为以下值: d:按天。此时返回查询时间范围内 UTC 时间为零点的数据。 h:按小时。此时返回查询时间范围内 UTC 时间为整小时的数据。 :type Period: str """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._Period = None @property def SdkAppId(self): """用户SdkAppId :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD。(查询时间范围根据监控仪表盘功能版本而定,【基础版】可查近30天,【进阶版】可查近60天) :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def Period(self): """返回数据的粒度,支持设为以下值: d:按天。此时返回查询时间范围内 UTC 时间为零点的数据。 h:按小时。此时返回查询时间范围内 UTC 时间为整小时的数据。 :rtype: str """ return self._Period @Period.setter def Period(self, Period): self._Period = Period def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._Period = params.get("Period") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTRTCMarketScaleMetricDataResponse(AbstractModel): """DescribeTRTCMarketScaleMetricData返回参数结构体 """ def __init__(self): r""" :param _Data: TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :type Data: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResp` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResp` """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = TRTCDataResp() self._Data._deserialize(params.get("Data")) self._RequestId = params.get("RequestId") class DescribeTRTCRealTimeQualityDataRequest(AbstractModel): """DescribeTRTCRealTimeQualityData请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: str :param _StartTime: 开始时间,unix时间戳,单位:秒(查询时间范围根据监控仪表盘功能版本而定,基础版可查近3小时,进阶版可查近12小时) :type StartTime: int :param _EndTime: 结束时间,unix时间戳,单位:秒 :type EndTime: int :param _RoomId: 房间ID :type RoomId: str """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._RoomId = None @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """开始时间,unix时间戳,单位:秒(查询时间范围根据监控仪表盘功能版本而定,基础版可查近3小时,进阶版可查近12小时) :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间,unix时间戳,单位:秒 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def RoomId(self): """房间ID :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._RoomId = params.get("RoomId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTRTCRealTimeQualityDataResponse(AbstractModel): """DescribeTRTCRealTimeQualityData返回参数结构体 """ def __init__(self): r""" :param _Data: TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :type Data: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResult` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResult` """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = TRTCDataResult() self._Data._deserialize(params.get("Data")) self._RequestId = params.get("RequestId") class DescribeTRTCRealTimeQualityMetricDataRequest(AbstractModel): """DescribeTRTCRealTimeQualityMetricData请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: str :param _StartTime: 开始时间,unix时间戳,单位:秒(查询时间范围根据监控仪表盘功能版本而定,基础版可查近3小时,进阶版可查近12小时) :type StartTime: int :param _EndTime: 结束时间,unix时间戳,单位:秒 :type EndTime: int :param _RoomId: 房间ID :type RoomId: str """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._RoomId = None @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """开始时间,unix时间戳,单位:秒(查询时间范围根据监控仪表盘功能版本而定,基础版可查近3小时,进阶版可查近12小时) :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间,unix时间戳,单位:秒 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def RoomId(self): """房间ID :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._RoomId = params.get("RoomId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTRTCRealTimeQualityMetricDataResponse(AbstractModel): """DescribeTRTCRealTimeQualityMetricData返回参数结构体 """ def __init__(self): r""" :param _Data: TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :type Data: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResp` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResp` """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = TRTCDataResp() self._Data._deserialize(params.get("Data")) self._RequestId = params.get("RequestId") class DescribeTRTCRealTimeScaleDataRequest(AbstractModel): """DescribeTRTCRealTimeScaleData请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: str :param _StartTime: 开始时间,unix时间戳,单位:秒(查询时间范围根据监控仪表盘功能版本而定,基础版可查近3小时,进阶版可查近12小时) :type StartTime: int :param _EndTime: 结束时间,unix时间戳,单位:秒 :type EndTime: int :param _RoomId: 房间ID :type RoomId: str """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._RoomId = None @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """开始时间,unix时间戳,单位:秒(查询时间范围根据监控仪表盘功能版本而定,基础版可查近3小时,进阶版可查近12小时) :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间,unix时间戳,单位:秒 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def RoomId(self): """房间ID :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._RoomId = params.get("RoomId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTRTCRealTimeScaleDataResponse(AbstractModel): """DescribeTRTCRealTimeScaleData返回参数结构体 """ def __init__(self): r""" :param _Data: TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :type Data: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResult` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResult` """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = TRTCDataResult() self._Data._deserialize(params.get("Data")) self._RequestId = params.get("RequestId") class DescribeTRTCRealTimeScaleMetricDataRequest(AbstractModel): """DescribeTRTCRealTimeScaleMetricData请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: str :param _StartTime: 开始时间,unix时间戳,单位:秒(查询时间范围根据监控仪表盘功能版本而定,基础版可查近3小时,进阶版可查近12小时) :type StartTime: int :param _EndTime: 结束时间,unix时间戳,单位:秒 :type EndTime: int :param _RoomId: 房间ID :type RoomId: str """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._RoomId = None @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """开始时间,unix时间戳,单位:秒(查询时间范围根据监控仪表盘功能版本而定,基础版可查近3小时,进阶版可查近12小时) :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """结束时间,unix时间戳,单位:秒 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def RoomId(self): """房间ID :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._RoomId = params.get("RoomId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTRTCRealTimeScaleMetricDataResponse(AbstractModel): """DescribeTRTCRealTimeScaleMetricData返回参数结构体 """ def __init__(self): r""" :param _Data: TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :type Data: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResp` :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """TRTC监控数据出参 注意:此字段可能返回 null,表示取不到有效值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TRTCDataResp` """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = TRTCDataResp() self._Data._deserialize(params.get("Data")) self._RequestId = params.get("RequestId") class DescribeTrtcMcuTranscodeTimeRequest(AbstractModel): """DescribeTrtcMcuTranscodeTime请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询开始时间,格式为YYYY-MM-DD。 :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :type EndTime: str :param _SdkAppId: 应用ID,可不传。传应用ID时返回的是该应用的用量,不传时返回多个应用的合计值。 :type SdkAppId: int """ self._StartTime = None self._EndTime = None self._SdkAppId = None @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def SdkAppId(self): """应用ID,可不传。传应用ID时返回的是该应用的用量,不传时返回多个应用的合计值。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._SdkAppId = params.get("SdkAppId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTrtcMcuTranscodeTimeResponse(AbstractModel): """DescribeTrtcMcuTranscodeTime返回参数结构体 """ def __init__(self): r""" :param _Usages: 应用的用量信息数组。 :type Usages: list of OneSdkAppIdTranscodeTimeUsagesInfo :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Usages = None self._RequestId = None @property def Usages(self): """应用的用量信息数组。 :rtype: list of OneSdkAppIdTranscodeTimeUsagesInfo """ return self._Usages @Usages.setter def Usages(self, Usages): self._Usages = Usages @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Usages") is not None: self._Usages = [] for item in params.get("Usages"): obj = OneSdkAppIdTranscodeTimeUsagesInfo() obj._deserialize(item) self._Usages.append(obj) self._RequestId = params.get("RequestId") class DescribeTrtcRoomUsageRequest(AbstractModel): """DescribeTrtcRoomUsage请求参数结构体 """ def __init__(self): r""" :param _SdkAppid: TRTC的SdkAppId,和房间所对应的SdkAppId相同。 :type SdkAppid: int :param _StartTime: 查询开始时间,格式为YYYY-MM-DD HH:MM,精确到分钟级。 :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD HH:MM,单次查询不超过24h。 :type EndTime: str """ self._SdkAppid = None self._StartTime = None self._EndTime = None @property def SdkAppid(self): """TRTC的SdkAppId,和房间所对应的SdkAppId相同。 :rtype: int """ return self._SdkAppid @SdkAppid.setter def SdkAppid(self, SdkAppid): self._SdkAppid = SdkAppid @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD HH:MM,精确到分钟级。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD HH:MM,单次查询不超过24h。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime def _deserialize(self, params): self._SdkAppid = params.get("SdkAppid") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTrtcRoomUsageResponse(AbstractModel): """DescribeTrtcRoomUsage返回参数结构体 """ def __init__(self): r""" :param _Data: 房间维度用量数据,csv文件格式,单位:秒。 :type Data: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """房间维度用量数据,csv文件格式,单位:秒。 :rtype: str """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Data = params.get("Data") self._RequestId = params.get("RequestId") class DescribeTrtcUsageRequest(AbstractModel): """DescribeTrtcUsage请求参数结构体 """ def __init__(self): r""" :param _StartTime: 查询开始时间,格式为YYYY-MM-DD。 :type StartTime: str :param _EndTime: 查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :type EndTime: str :param _SdkAppId: TRTC的SdkAppId,和房间所对应的SdkAppId相同。如果没有这个参数,返回用户下全部实时音视频应用的汇总。 :type SdkAppId: int """ self._StartTime = None self._EndTime = None self._SdkAppId = None @property def StartTime(self): """查询开始时间,格式为YYYY-MM-DD。 :rtype: str """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,格式为YYYY-MM-DD。 单次查询统计区间最多不能超过31天。 :rtype: str """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def SdkAppId(self): """TRTC的SdkAppId,和房间所对应的SdkAppId相同。如果没有这个参数,返回用户下全部实时音视频应用的汇总。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId def _deserialize(self, params): self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._SdkAppId = params.get("SdkAppId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeTrtcUsageResponse(AbstractModel): """DescribeTrtcUsage返回参数结构体 """ def __init__(self): r""" :param _UsageKey: 用量类型,与UsageValue中各个位置的值对应。 :type UsageKey: list of str :param _UsageList: 各个时间点用量明细,单位:分钟 :type UsageList: list of TrtcUsage :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._UsageKey = None self._UsageList = None self._RequestId = None @property def UsageKey(self): """用量类型,与UsageValue中各个位置的值对应。 :rtype: list of str """ return self._UsageKey @UsageKey.setter def UsageKey(self, UsageKey): self._UsageKey = UsageKey @property def UsageList(self): """各个时间点用量明细,单位:分钟 :rtype: list of TrtcUsage """ return self._UsageList @UsageList.setter def UsageList(self, UsageList): self._UsageList = UsageList @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._UsageKey = params.get("UsageKey") if params.get("UsageList") is not None: self._UsageList = [] for item in params.get("UsageList"): obj = TrtcUsage() obj._deserialize(item) self._UsageList.append(obj) self._RequestId = params.get("RequestId") class DescribeUnusualEventRequest(AbstractModel): """DescribeUnusualEvent请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: int :param _StartTime: 查询开始时间,本地unix时间戳,单位为秒(如:1590065777) 注意:支持查询14天内的数据 :type StartTime: int :param _EndTime: 查询结束时间,本地unix时间戳,单位为秒(如:1590065877)注意:与StartTime间隔时间不超过1小时。 :type EndTime: int :param _RoomId: 房间号,查询房间内任意20条以内异常体验事件 :type RoomId: str """ self._SdkAppId = None self._StartTime = None self._EndTime = None self._RoomId = None @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StartTime(self): """查询开始时间,本地unix时间戳,单位为秒(如:1590065777) 注意:支持查询14天内的数据 :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,本地unix时间戳,单位为秒(如:1590065877)注意:与StartTime间隔时间不超过1小时。 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def RoomId(self): """房间号,查询房间内任意20条以内异常体验事件 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._RoomId = params.get("RoomId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeUnusualEventResponse(AbstractModel): """DescribeUnusualEvent返回参数结构体 """ def __init__(self): r""" :param _Total: 返回的数据总条数 范围:[0,20] :type Total: int :param _AbnormalExperienceList: 异常体验列表 :type AbnormalExperienceList: list of AbnormalExperience :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Total = None self._AbnormalExperienceList = None self._RequestId = None @property def Total(self): """返回的数据总条数 范围:[0,20] :rtype: int """ return self._Total @Total.setter def Total(self, Total): self._Total = Total @property def AbnormalExperienceList(self): """异常体验列表 :rtype: list of AbnormalExperience """ return self._AbnormalExperienceList @AbnormalExperienceList.setter def AbnormalExperienceList(self, AbnormalExperienceList): self._AbnormalExperienceList = AbnormalExperienceList @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Total = params.get("Total") if params.get("AbnormalExperienceList") is not None: self._AbnormalExperienceList = [] for item in params.get("AbnormalExperienceList"): obj = AbnormalExperience() obj._deserialize(item) self._AbnormalExperienceList.append(obj) self._RequestId = params.get("RequestId") class DescribeUserEventRequest(AbstractModel): """DescribeUserEvent请求参数结构体 """ def __init__(self): r""" :param _CommId: 通话 ID(唯一标识一次通话): SdkAppId_RoomId(房间号)_ CreateTime(房间创建时间,unix时间戳,单位为s)例:1400xxxxxx_218695_1590065777。通过 DescribeRoomInfo(查询历史房间列表)接口获取([查询历史房间列表](https://cloud.tencent.com/document/product/647/44050))。 :type CommId: str :param _StartTime: 查询开始时间,本地unix时间戳,单位为秒(如:1590065777) 注意:支持查询14天内的数据 :type StartTime: int :param _EndTime: 查询结束时间,本地unix时间戳,单位为秒(如:1590065877) 注意:查询时间大于房间结束时间,以房间结束时间为准。 :type EndTime: int :param _UserId: 用户UserId :type UserId: str :param _RoomId: 房间号(如:223) :type RoomId: str :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: int """ self._CommId = None self._StartTime = None self._EndTime = None self._UserId = None self._RoomId = None self._SdkAppId = None @property def CommId(self): """通话 ID(唯一标识一次通话): SdkAppId_RoomId(房间号)_ CreateTime(房间创建时间,unix时间戳,单位为s)例:1400xxxxxx_218695_1590065777。通过 DescribeRoomInfo(查询历史房间列表)接口获取([查询历史房间列表](https://cloud.tencent.com/document/product/647/44050))。 :rtype: str """ return self._CommId @CommId.setter def CommId(self, CommId): self._CommId = CommId @property def StartTime(self): """查询开始时间,本地unix时间戳,单位为秒(如:1590065777) 注意:支持查询14天内的数据 :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,本地unix时间戳,单位为秒(如:1590065877) 注意:查询时间大于房间结束时间,以房间结束时间为准。 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def UserId(self): """用户UserId :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def RoomId(self): """房间号(如:223) :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId def _deserialize(self, params): self._CommId = params.get("CommId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._UserId = params.get("UserId") self._RoomId = params.get("RoomId") self._SdkAppId = params.get("SdkAppId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeUserEventResponse(AbstractModel): """DescribeUserEvent返回参数结构体 """ def __init__(self): r""" :param _Data: 返回的事件列表,若没有数据,会返回空数组。 :type Data: list of EventList :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Data = None self._RequestId = None @property def Data(self): """返回的事件列表,若没有数据,会返回空数组。 :rtype: list of EventList """ return self._Data @Data.setter def Data(self, Data): self._Data = Data @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): if params.get("Data") is not None: self._Data = [] for item in params.get("Data"): obj = EventList() obj._deserialize(item) self._Data.append(obj) self._RequestId = params.get("RequestId") class DescribeUserInfoRequest(AbstractModel): """DescribeUserInfo请求参数结构体 """ def __init__(self): r""" :param _CommId: 通话 ID(唯一标识一次通话): SdkAppId_RoomId(房间号)_ CreateTime(房间创建时间,unix时间戳,单位为s)例:1400xxxxxx_218695_1590065777。通过 DescribeRoomInfo(查询历史房间列表)接口获取([查询历史房间列表](https://cloud.tencent.com/document/product/647/44050))。 :type CommId: str :param _StartTime: 查询开始时间,本地unix时间戳,单位为秒(如:1590065777)注意:最大支持查询14天内的数据 :type StartTime: int :param _EndTime: 查询结束时间,本地unix时间戳,单位为秒(如:1590065877) 注意:与StartTime间隔时间不超过4小时。 :type EndTime: int :param _SdkAppId: 用户SdkAppId(如:1400xxxxxx) :type SdkAppId: int :param _UserIds: 需查询的用户数组,不填默认返回6个用户 范围:[1,100]。 :type UserIds: list of str :param _PageNumber: 当前页数,默认为0, 注意:PageNumber和PageSize 其中一个不填均默认返回6条数据。 :type PageNumber: int :param _PageSize: 每页个数,默认为6, 范围:[1,100]。 :type PageSize: int """ self._CommId = None self._StartTime = None self._EndTime = None self._SdkAppId = None self._UserIds = None self._PageNumber = None self._PageSize = None @property def CommId(self): """通话 ID(唯一标识一次通话): SdkAppId_RoomId(房间号)_ CreateTime(房间创建时间,unix时间戳,单位为s)例:1400xxxxxx_218695_1590065777。通过 DescribeRoomInfo(查询历史房间列表)接口获取([查询历史房间列表](https://cloud.tencent.com/document/product/647/44050))。 :rtype: str """ return self._CommId @CommId.setter def CommId(self, CommId): self._CommId = CommId @property def StartTime(self): """查询开始时间,本地unix时间戳,单位为秒(如:1590065777)注意:最大支持查询14天内的数据 :rtype: int """ return self._StartTime @StartTime.setter def StartTime(self, StartTime): self._StartTime = StartTime @property def EndTime(self): """查询结束时间,本地unix时间戳,单位为秒(如:1590065877) 注意:与StartTime间隔时间不超过4小时。 :rtype: int """ return self._EndTime @EndTime.setter def EndTime(self, EndTime): self._EndTime = EndTime @property def SdkAppId(self): """用户SdkAppId(如:1400xxxxxx) :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def UserIds(self): """需查询的用户数组,不填默认返回6个用户 范围:[1,100]。 :rtype: list of str """ return self._UserIds @UserIds.setter def UserIds(self, UserIds): self._UserIds = UserIds @property def PageNumber(self): """当前页数,默认为0, 注意:PageNumber和PageSize 其中一个不填均默认返回6条数据。 :rtype: int """ return self._PageNumber @PageNumber.setter def PageNumber(self, PageNumber): self._PageNumber = PageNumber @property def PageSize(self): """每页个数,默认为6, 范围:[1,100]。 :rtype: int """ return self._PageSize @PageSize.setter def PageSize(self, PageSize): self._PageSize = PageSize def _deserialize(self, params): self._CommId = params.get("CommId") self._StartTime = params.get("StartTime") self._EndTime = params.get("EndTime") self._SdkAppId = params.get("SdkAppId") self._UserIds = params.get("UserIds") self._PageNumber = params.get("PageNumber") self._PageSize = params.get("PageSize") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeUserInfoResponse(AbstractModel): """DescribeUserInfo返回参数结构体 """ def __init__(self): r""" :param _Total: 返回的用户总条数 :type Total: int :param _UserList: 用户信息列表 :type UserList: list of UserInformation :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Total = None self._UserList = None self._RequestId = None @property def Total(self): """返回的用户总条数 :rtype: int """ return self._Total @Total.setter def Total(self, Total): self._Total = Total @property def UserList(self): """用户信息列表 :rtype: list of UserInformation """ return self._UserList @UserList.setter def UserList(self, UserList): self._UserList = UserList @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Total = params.get("Total") if params.get("UserList") is not None: self._UserList = [] for item in params.get("UserList"): obj = UserInformation() obj._deserialize(item) self._UserList.append(obj) self._RequestId = params.get("RequestId") class DescribeWebRecordRequest(AbstractModel): """DescribeWebRecord请求参数结构体 """ def __init__(self): r""" :param _TaskId: 开始页面录制时返回的任务id :type TaskId: str :param _SdkAppId: 发起页面录制时传递的SdkAppId :type SdkAppId: int :param _RecordId: 发起录制时传递的RecordId, 传入此值时需要传递SdkAppId :type RecordId: str """ self._TaskId = None self._SdkAppId = None self._RecordId = None @property def TaskId(self): """开始页面录制时返回的任务id :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def SdkAppId(self): """发起页面录制时传递的SdkAppId :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RecordId(self): """发起录制时传递的RecordId, 传入此值时需要传递SdkAppId :rtype: str """ return self._RecordId @RecordId.setter def RecordId(self, RecordId): self._RecordId = RecordId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._SdkAppId = params.get("SdkAppId") self._RecordId = params.get("RecordId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DescribeWebRecordResponse(AbstractModel): """DescribeWebRecord返回参数结构体 """ def __init__(self): r""" :param _Status: 1: 正在录制中 :type Status: int :param _TaskId: 在使用RecordId查询时返回 :type TaskId: str :param _RecordId: 在使用TaskId查询时返回 :type RecordId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Status = None self._TaskId = None self._RecordId = None self._RequestId = None @property def Status(self): """1: 正在录制中 :rtype: int """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def TaskId(self): """在使用RecordId查询时返回 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RecordId(self): """在使用TaskId查询时返回 :rtype: str """ return self._RecordId @RecordId.setter def RecordId(self, RecordId): self._RecordId = RecordId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Status = params.get("Status") self._TaskId = params.get("TaskId") self._RecordId = params.get("RecordId") self._RequestId = params.get("RequestId") class DismissRoomByStrRoomIdRequest(AbstractModel): """DismissRoomByStrRoomId请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId。 :type SdkAppId: int :param _RoomId: 字符串类型房间号。 本接口仅支持解散字符串类型房间号,如需解散数字类型房间号,请使用:DismissRoom :type RoomId: str """ self._SdkAppId = None self._RoomId = None @property def SdkAppId(self): """TRTC的SDKAppId。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """字符串类型房间号。 本接口仅支持解散字符串类型房间号,如需解散数字类型房间号,请使用:DismissRoom :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DismissRoomByStrRoomIdResponse(AbstractModel): """DismissRoomByStrRoomId返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class DismissRoomRequest(AbstractModel): """DismissRoom请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId。 :type SdkAppId: int :param _RoomId: 数字房间号。本接口仅支持解散数字类型房间号,如需解散字符串类型房间号,请使用DismissRoomByStrRoomId。 :type RoomId: int """ self._SdkAppId = None self._RoomId = None @property def SdkAppId(self): """TRTC的SDKAppId。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """数字房间号。本接口仅支持解散数字类型房间号,如需解散字符串类型房间号,请使用DismissRoomByStrRoomId。 :rtype: int """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class DismissRoomResponse(AbstractModel): """DismissRoom返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class EmulateMobileParams(AbstractModel): """渲染移动模式参数,不渲染移动模式时,请勿设置此参数。 """ def __init__(self): r""" :param _MobileDeviceType: 移动设备类型, 0: 手机 1: 平板 注意:此字段可能返回 null,表示取不到有效值。 :type MobileDeviceType: int :param _ScreenOrientation: 屏幕方向, 0: 竖屏, 1: 横屏 注意:此字段可能返回 null,表示取不到有效值。 :type ScreenOrientation: int """ self._MobileDeviceType = None self._ScreenOrientation = None @property def MobileDeviceType(self): """移动设备类型, 0: 手机 1: 平板 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._MobileDeviceType @MobileDeviceType.setter def MobileDeviceType(self, MobileDeviceType): self._MobileDeviceType = MobileDeviceType @property def ScreenOrientation(self): """屏幕方向, 0: 竖屏, 1: 横屏 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._ScreenOrientation @ScreenOrientation.setter def ScreenOrientation(self, ScreenOrientation): self._ScreenOrientation = ScreenOrientation def _deserialize(self, params): self._MobileDeviceType = params.get("MobileDeviceType") self._ScreenOrientation = params.get("ScreenOrientation") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class EncodeParams(AbstractModel): """MCU混流输出流编码参数 """ def __init__(self): r""" :param _AudioSampleRate: 混流-输出流音频采样率。取值为[48000, 44100, 32000, 24000, 16000, 8000],单位是Hz。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 :type AudioSampleRate: int :param _AudioBitrate: 混流-输出流音频码率。取值范围[8,500],单位为kbps。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 :type AudioBitrate: int :param _AudioChannels: 混流-输出流音频声道数,取值范围[1,2],1表示混流输出音频为单声道,2表示混流输出音频为双声道。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 :type AudioChannels: int :param _VideoWidth: 混流-输出流宽,音视频输出时必填。取值范围[0,1920],单位为像素值。 :type VideoWidth: int :param _VideoHeight: 混流-输出流高,音视频输出时必填。取值范围[0,1080],单位为像素值。 :type VideoHeight: int :param _VideoBitrate: 混流-输出流码率,音视频输出时必填。取值范围[1,10000],单位为kbps。 :type VideoBitrate: int :param _VideoFramerate: 混流-输出流帧率,音视频输出时必填。取值范围[1,60],表示混流的输出帧率可选范围为1到60fps。 :type VideoFramerate: int :param _VideoGop: 混流-输出流gop,音视频输出时必填。取值范围[1,5],单位为秒。 :type VideoGop: int :param _BackgroundColor: 混流-输出流背景色,取值是十进制整数。常用的颜色有: 红色:0xff0000,对应的十进制整数是16724736。 黄色:0xffff00。对应的十进制整数是16776960。 绿色:0x33cc00。对应的十进制整数是3394560。 蓝色:0x0066ff。对应的十进制整数是26367。 黑色:0x000000。对应的十进制整数是0。 白色:0xFFFFFF。对应的十进制整数是16777215。 灰色:0x999999。对应的十进制整数是10066329。 :type BackgroundColor: int :param _BackgroundImageId: 混流-输出流背景图片,取值为实时音视频控制台上传的图片ID。 :type BackgroundImageId: int :param _AudioCodec: 混流-输出流音频编码类型,取值范围[0,1, 2],0为LC-AAC,1为HE-AAC,2为HE-AACv2。默认值为0。当音频编码设置为HE-AACv2时,只支持输出流音频声道数为双声道。HE-AAC和HE-AACv2支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 :type AudioCodec: int :param _BackgroundImageUrl: 混流-输出流背景图片URL地址,支持png、jpg、jpeg、bmp格式,暂不支持透明通道。URL链接长度限制为512字节。BackgroundImageUrl和BackgroundImageId参数都填时,以BackgroundImageUrl为准。图片大小限制不超过2MB。 :type BackgroundImageUrl: str """ self._AudioSampleRate = None self._AudioBitrate = None self._AudioChannels = None self._VideoWidth = None self._VideoHeight = None self._VideoBitrate = None self._VideoFramerate = None self._VideoGop = None self._BackgroundColor = None self._BackgroundImageId = None self._AudioCodec = None self._BackgroundImageUrl = None @property def AudioSampleRate(self): """混流-输出流音频采样率。取值为[48000, 44100, 32000, 24000, 16000, 8000],单位是Hz。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 :rtype: int """ return self._AudioSampleRate @AudioSampleRate.setter def AudioSampleRate(self, AudioSampleRate): self._AudioSampleRate = AudioSampleRate @property def AudioBitrate(self): """混流-输出流音频码率。取值范围[8,500],单位为kbps。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 :rtype: int """ return self._AudioBitrate @AudioBitrate.setter def AudioBitrate(self, AudioBitrate): self._AudioBitrate = AudioBitrate @property def AudioChannels(self): """混流-输出流音频声道数,取值范围[1,2],1表示混流输出音频为单声道,2表示混流输出音频为双声道。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 :rtype: int """ return self._AudioChannels @AudioChannels.setter def AudioChannels(self, AudioChannels): self._AudioChannels = AudioChannels @property def VideoWidth(self): """混流-输出流宽,音视频输出时必填。取值范围[0,1920],单位为像素值。 :rtype: int """ return self._VideoWidth @VideoWidth.setter def VideoWidth(self, VideoWidth): self._VideoWidth = VideoWidth @property def VideoHeight(self): """混流-输出流高,音视频输出时必填。取值范围[0,1080],单位为像素值。 :rtype: int """ return self._VideoHeight @VideoHeight.setter def VideoHeight(self, VideoHeight): self._VideoHeight = VideoHeight @property def VideoBitrate(self): """混流-输出流码率,音视频输出时必填。取值范围[1,10000],单位为kbps。 :rtype: int """ return self._VideoBitrate @VideoBitrate.setter def VideoBitrate(self, VideoBitrate): self._VideoBitrate = VideoBitrate @property def VideoFramerate(self): """混流-输出流帧率,音视频输出时必填。取值范围[1,60],表示混流的输出帧率可选范围为1到60fps。 :rtype: int """ return self._VideoFramerate @VideoFramerate.setter def VideoFramerate(self, VideoFramerate): self._VideoFramerate = VideoFramerate @property def VideoGop(self): """混流-输出流gop,音视频输出时必填。取值范围[1,5],单位为秒。 :rtype: int """ return self._VideoGop @VideoGop.setter def VideoGop(self, VideoGop): self._VideoGop = VideoGop @property def BackgroundColor(self): """混流-输出流背景色,取值是十进制整数。常用的颜色有: 红色:0xff0000,对应的十进制整数是16724736。 黄色:0xffff00。对应的十进制整数是16776960。 绿色:0x33cc00。对应的十进制整数是3394560。 蓝色:0x0066ff。对应的十进制整数是26367。 黑色:0x000000。对应的十进制整数是0。 白色:0xFFFFFF。对应的十进制整数是16777215。 灰色:0x999999。对应的十进制整数是10066329。 :rtype: int """ return self._BackgroundColor @BackgroundColor.setter def BackgroundColor(self, BackgroundColor): self._BackgroundColor = BackgroundColor @property def BackgroundImageId(self): """混流-输出流背景图片,取值为实时音视频控制台上传的图片ID。 :rtype: int """ return self._BackgroundImageId @BackgroundImageId.setter def BackgroundImageId(self, BackgroundImageId): self._BackgroundImageId = BackgroundImageId @property def AudioCodec(self): """混流-输出流音频编码类型,取值范围[0,1, 2],0为LC-AAC,1为HE-AAC,2为HE-AACv2。默认值为0。当音频编码设置为HE-AACv2时,只支持输出流音频声道数为双声道。HE-AAC和HE-AACv2支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 :rtype: int """ return self._AudioCodec @AudioCodec.setter def AudioCodec(self, AudioCodec): self._AudioCodec = AudioCodec @property def BackgroundImageUrl(self): """混流-输出流背景图片URL地址,支持png、jpg、jpeg、bmp格式,暂不支持透明通道。URL链接长度限制为512字节。BackgroundImageUrl和BackgroundImageId参数都填时,以BackgroundImageUrl为准。图片大小限制不超过2MB。 :rtype: str """ return self._BackgroundImageUrl @BackgroundImageUrl.setter def BackgroundImageUrl(self, BackgroundImageUrl): self._BackgroundImageUrl = BackgroundImageUrl def _deserialize(self, params): self._AudioSampleRate = params.get("AudioSampleRate") self._AudioBitrate = params.get("AudioBitrate") self._AudioChannels = params.get("AudioChannels") self._VideoWidth = params.get("VideoWidth") self._VideoHeight = params.get("VideoHeight") self._VideoBitrate = params.get("VideoBitrate") self._VideoFramerate = params.get("VideoFramerate") self._VideoGop = params.get("VideoGop") self._BackgroundColor = params.get("BackgroundColor") self._BackgroundImageId = params.get("BackgroundImageId") self._AudioCodec = params.get("AudioCodec") self._BackgroundImageUrl = params.get("BackgroundImageUrl") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class EventList(AbstractModel): """sdk或webrtc的事件列表。 """ def __init__(self): r""" :param _Content: 数据内容 :type Content: list of EventMessage :param _PeerId: 发送端的userId :type PeerId: str """ self._Content = None self._PeerId = None @property def Content(self): """数据内容 :rtype: list of EventMessage """ return self._Content @Content.setter def Content(self, Content): self._Content = Content @property def PeerId(self): """发送端的userId :rtype: str """ return self._PeerId @PeerId.setter def PeerId(self, PeerId): self._PeerId = PeerId def _deserialize(self, params): if params.get("Content") is not None: self._Content = [] for item in params.get("Content"): obj = EventMessage() obj._deserialize(item) self._Content.append(obj) self._PeerId = params.get("PeerId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class EventMessage(AbstractModel): """事件信息,包括,事件时间戳,事件ID, """ def __init__(self): r""" :param _Type: 视频流类型: 0:与视频无关的事件; 2:视频为大画面; 3:视频为小画面; 7:视频为旁路画面; :type Type: int :param _Time: 事件上报的时间戳,unix时间(1589891188801ms) :type Time: int :param _EventId: 事件Id:分为sdk的事件和webrtc的事件,详情见:附录/事件 ID 映射表:https://cloud.tencent.com/document/product/647/44916 :type EventId: int :param _ParamOne: 事件的第一个参数,如视频分辨率宽 :type ParamOne: int :param _ParamTwo: 事件的第二个参数,如视频分辨率高 :type ParamTwo: int """ self._Type = None self._Time = None self._EventId = None self._ParamOne = None self._ParamTwo = None @property def Type(self): """视频流类型: 0:与视频无关的事件; 2:视频为大画面; 3:视频为小画面; 7:视频为旁路画面; :rtype: int """ return self._Type @Type.setter def Type(self, Type): self._Type = Type @property def Time(self): """事件上报的时间戳,unix时间(1589891188801ms) :rtype: int """ return self._Time @Time.setter def Time(self, Time): self._Time = Time @property def EventId(self): """事件Id:分为sdk的事件和webrtc的事件,详情见:附录/事件 ID 映射表:https://cloud.tencent.com/document/product/647/44916 :rtype: int """ return self._EventId @EventId.setter def EventId(self, EventId): self._EventId = EventId @property def ParamOne(self): """事件的第一个参数,如视频分辨率宽 :rtype: int """ return self._ParamOne @ParamOne.setter def ParamOne(self, ParamOne): self._ParamOne = ParamOne @property def ParamTwo(self): """事件的第二个参数,如视频分辨率高 :rtype: int """ return self._ParamTwo @ParamTwo.setter def ParamTwo(self, ParamTwo): self._ParamTwo = ParamTwo def _deserialize(self, params): self._Type = params.get("Type") self._Time = params.get("Time") self._EventId = params.get("EventId") self._ParamOne = params.get("ParamOne") self._ParamTwo = params.get("ParamTwo") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class LayoutParams(AbstractModel): """MCU混流布局参数 """ def __init__(self): r""" :param _Template: 混流布局模板ID,0为悬浮模板(默认);1为九宫格模板;2为屏幕分享模板;3为画中画模板;4为自定义模板。 :type Template: int :param _MainVideoUserId: 屏幕分享模板、悬浮模板、画中画模板中有效,代表大画面对应的用户ID。 :type MainVideoUserId: str :param _MainVideoStreamType: 屏幕分享模板、悬浮模板、画中画模板中有效,代表大画面对应的流类型,0为摄像头,1为屏幕分享。左侧大画面为web用户时此值填0。 :type MainVideoStreamType: int :param _SmallVideoLayoutParams: 画中画模板中有效,代表小画面的布局参数。 :type SmallVideoLayoutParams: :class:`tencentcloud.trtc.v20190722.models.SmallVideoLayoutParams` :param _MainVideoRightAlign: 屏幕分享模板有效。设置为1时代表大画面居右,小画面居左布局。默认为0。 :type MainVideoRightAlign: int :param _MixVideoUids: 指定混视频的用户ID列表。设置此参数后,输出流混合此参数中包含用户的音视频,以及其他用户的纯音频。悬浮模板、九宫格、屏幕分享模板有效,最多可设置16个用户。 :type MixVideoUids: list of str :param _PresetLayoutConfig: 自定义模板中有效,指定用户视频在混合画面中的位置。 :type PresetLayoutConfig: list of PresetLayoutConfig :param _PlaceHolderMode: 自定义模板中有效,设置为1时代表启用占位图功能,0时代表不启用占位图功能,默认为0。启用占位图功能时,在预设位置的用户没有上行视频时可显示对应的占位图。 :type PlaceHolderMode: int :param _PureAudioHoldPlaceMode: 悬浮模板、九宫格、屏幕分享模板生效,用于控制纯音频上行是否占用画面布局位置。设置为0是代表后台默认处理方式,悬浮小画面占布局位置,九宫格画面占布局位置、屏幕分享小画面不占布局位置;设置为1时代表纯音频上行占布局位置;设置为2时代表纯音频上行不占布局位置。默认为0。 :type PureAudioHoldPlaceMode: int :param _WaterMarkParams: 水印参数。 :type WaterMarkParams: :class:`tencentcloud.trtc.v20190722.models.WaterMarkParams` :param _RenderMode: 屏幕分享模板、悬浮模板、九宫格模板、画中画模版有效,画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底,不填采用后台的默认渲染方式(屏幕分享大画面为缩放,其他为裁剪)。若此参数不生效,请提交工单寻求帮助。 :type RenderMode: int """ self._Template = None self._MainVideoUserId = None self._MainVideoStreamType = None self._SmallVideoLayoutParams = None self._MainVideoRightAlign = None self._MixVideoUids = None self._PresetLayoutConfig = None self._PlaceHolderMode = None self._PureAudioHoldPlaceMode = None self._WaterMarkParams = None self._RenderMode = None @property def Template(self): """混流布局模板ID,0为悬浮模板(默认);1为九宫格模板;2为屏幕分享模板;3为画中画模板;4为自定义模板。 :rtype: int """ return self._Template @Template.setter def Template(self, Template): self._Template = Template @property def MainVideoUserId(self): """屏幕分享模板、悬浮模板、画中画模板中有效,代表大画面对应的用户ID。 :rtype: str """ return self._MainVideoUserId @MainVideoUserId.setter def MainVideoUserId(self, MainVideoUserId): self._MainVideoUserId = MainVideoUserId @property def MainVideoStreamType(self): """屏幕分享模板、悬浮模板、画中画模板中有效,代表大画面对应的流类型,0为摄像头,1为屏幕分享。左侧大画面为web用户时此值填0。 :rtype: int """ return self._MainVideoStreamType @MainVideoStreamType.setter def MainVideoStreamType(self, MainVideoStreamType): self._MainVideoStreamType = MainVideoStreamType @property def SmallVideoLayoutParams(self): """画中画模板中有效,代表小画面的布局参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.SmallVideoLayoutParams` """ return self._SmallVideoLayoutParams @SmallVideoLayoutParams.setter def SmallVideoLayoutParams(self, SmallVideoLayoutParams): self._SmallVideoLayoutParams = SmallVideoLayoutParams @property def MainVideoRightAlign(self): """屏幕分享模板有效。设置为1时代表大画面居右,小画面居左布局。默认为0。 :rtype: int """ return self._MainVideoRightAlign @MainVideoRightAlign.setter def MainVideoRightAlign(self, MainVideoRightAlign): self._MainVideoRightAlign = MainVideoRightAlign @property def MixVideoUids(self): """指定混视频的用户ID列表。设置此参数后,输出流混合此参数中包含用户的音视频,以及其他用户的纯音频。悬浮模板、九宫格、屏幕分享模板有效,最多可设置16个用户。 :rtype: list of str """ return self._MixVideoUids @MixVideoUids.setter def MixVideoUids(self, MixVideoUids): self._MixVideoUids = MixVideoUids @property def PresetLayoutConfig(self): """自定义模板中有效,指定用户视频在混合画面中的位置。 :rtype: list of PresetLayoutConfig """ return self._PresetLayoutConfig @PresetLayoutConfig.setter def PresetLayoutConfig(self, PresetLayoutConfig): self._PresetLayoutConfig = PresetLayoutConfig @property def PlaceHolderMode(self): """自定义模板中有效,设置为1时代表启用占位图功能,0时代表不启用占位图功能,默认为0。启用占位图功能时,在预设位置的用户没有上行视频时可显示对应的占位图。 :rtype: int """ return self._PlaceHolderMode @PlaceHolderMode.setter def PlaceHolderMode(self, PlaceHolderMode): self._PlaceHolderMode = PlaceHolderMode @property def PureAudioHoldPlaceMode(self): """悬浮模板、九宫格、屏幕分享模板生效,用于控制纯音频上行是否占用画面布局位置。设置为0是代表后台默认处理方式,悬浮小画面占布局位置,九宫格画面占布局位置、屏幕分享小画面不占布局位置;设置为1时代表纯音频上行占布局位置;设置为2时代表纯音频上行不占布局位置。默认为0。 :rtype: int """ return self._PureAudioHoldPlaceMode @PureAudioHoldPlaceMode.setter def PureAudioHoldPlaceMode(self, PureAudioHoldPlaceMode): self._PureAudioHoldPlaceMode = PureAudioHoldPlaceMode @property def WaterMarkParams(self): """水印参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.WaterMarkParams` """ return self._WaterMarkParams @WaterMarkParams.setter def WaterMarkParams(self, WaterMarkParams): self._WaterMarkParams = WaterMarkParams @property def RenderMode(self): """屏幕分享模板、悬浮模板、九宫格模板、画中画模版有效,画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底,不填采用后台的默认渲染方式(屏幕分享大画面为缩放,其他为裁剪)。若此参数不生效,请提交工单寻求帮助。 :rtype: int """ return self._RenderMode @RenderMode.setter def RenderMode(self, RenderMode): self._RenderMode = RenderMode def _deserialize(self, params): self._Template = params.get("Template") self._MainVideoUserId = params.get("MainVideoUserId") self._MainVideoStreamType = params.get("MainVideoStreamType") if params.get("SmallVideoLayoutParams") is not None: self._SmallVideoLayoutParams = SmallVideoLayoutParams() self._SmallVideoLayoutParams._deserialize(params.get("SmallVideoLayoutParams")) self._MainVideoRightAlign = params.get("MainVideoRightAlign") self._MixVideoUids = params.get("MixVideoUids") if params.get("PresetLayoutConfig") is not None: self._PresetLayoutConfig = [] for item in params.get("PresetLayoutConfig"): obj = PresetLayoutConfig() obj._deserialize(item) self._PresetLayoutConfig.append(obj) self._PlaceHolderMode = params.get("PlaceHolderMode") self._PureAudioHoldPlaceMode = params.get("PureAudioHoldPlaceMode") if params.get("WaterMarkParams") is not None: self._WaterMarkParams = WaterMarkParams() self._WaterMarkParams._deserialize(params.get("WaterMarkParams")) self._RenderMode = params.get("RenderMode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MaxVideoUser(AbstractModel): """指定动态布局中悬浮布局和屏幕分享布局的大画面信息,只在悬浮布局和屏幕分享布局有效。 """ def __init__(self): r""" :param _UserMediaStream: 用户媒体流参数。 :type UserMediaStream: :class:`tencentcloud.trtc.v20190722.models.UserMediaStream` """ self._UserMediaStream = None @property def UserMediaStream(self): """用户媒体流参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.UserMediaStream` """ return self._UserMediaStream @UserMediaStream.setter def UserMediaStream(self, UserMediaStream): self._UserMediaStream = UserMediaStream def _deserialize(self, params): if params.get("UserMediaStream") is not None: self._UserMediaStream = UserMediaStream() self._UserMediaStream._deserialize(params.get("UserMediaStream")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuAudioParams(AbstractModel): """混流转推的音频相关参数。 """ def __init__(self): r""" :param _AudioEncode: 音频编码参数。 :type AudioEncode: :class:`tencentcloud.trtc.v20190722.models.AudioEncode` :param _SubscribeAudioList: 音频用户白名单,start时,为空或不填表示混所有主播音频,填具体值表示混指定主播音频;update时,不填表示不更新,为空表示更新为混所有主播音频,填具体值表示更新为混指定主播音频。 使用黑白名单时,黑白名单必须同时填写。都不填写时表示不更新。同一个用户同时在黑白名单时,以黑名单为主。 :type SubscribeAudioList: list of McuUserInfoParams :param _UnSubscribeAudioList: 音频用户黑名单,为空或不填表示无黑名单,填具体值表示不混指定主播音频。update时,不填表示不更新,为空表示更新为清空黑名单,填具体值表示更新为不混指定主播音频。 使用黑白名单时,黑白名单必须同时填写。都不填写时表示不更新。同一个用户同时在黑白名单时,以黑名单为主。 :type UnSubscribeAudioList: list of McuUserInfoParams """ self._AudioEncode = None self._SubscribeAudioList = None self._UnSubscribeAudioList = None @property def AudioEncode(self): """音频编码参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.AudioEncode` """ return self._AudioEncode @AudioEncode.setter def AudioEncode(self, AudioEncode): self._AudioEncode = AudioEncode @property def SubscribeAudioList(self): """音频用户白名单,start时,为空或不填表示混所有主播音频,填具体值表示混指定主播音频;update时,不填表示不更新,为空表示更新为混所有主播音频,填具体值表示更新为混指定主播音频。 使用黑白名单时,黑白名单必须同时填写。都不填写时表示不更新。同一个用户同时在黑白名单时,以黑名单为主。 :rtype: list of McuUserInfoParams """ return self._SubscribeAudioList @SubscribeAudioList.setter def SubscribeAudioList(self, SubscribeAudioList): self._SubscribeAudioList = SubscribeAudioList @property def UnSubscribeAudioList(self): """音频用户黑名单,为空或不填表示无黑名单,填具体值表示不混指定主播音频。update时,不填表示不更新,为空表示更新为清空黑名单,填具体值表示更新为不混指定主播音频。 使用黑白名单时,黑白名单必须同时填写。都不填写时表示不更新。同一个用户同时在黑白名单时,以黑名单为主。 :rtype: list of McuUserInfoParams """ return self._UnSubscribeAudioList @UnSubscribeAudioList.setter def UnSubscribeAudioList(self, UnSubscribeAudioList): self._UnSubscribeAudioList = UnSubscribeAudioList def _deserialize(self, params): if params.get("AudioEncode") is not None: self._AudioEncode = AudioEncode() self._AudioEncode._deserialize(params.get("AudioEncode")) if params.get("SubscribeAudioList") is not None: self._SubscribeAudioList = [] for item in params.get("SubscribeAudioList"): obj = McuUserInfoParams() obj._deserialize(item) self._SubscribeAudioList.append(obj) if params.get("UnSubscribeAudioList") is not None: self._UnSubscribeAudioList = [] for item in params.get("UnSubscribeAudioList"): obj = McuUserInfoParams() obj._deserialize(item) self._UnSubscribeAudioList.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuBackgroundCustomRender(AbstractModel): """混流自定义渲染参数 """ def __init__(self): r""" :param _Width: 自定义渲染画面的宽度,单位为像素值,需大于0,且不能超过子布局的宽。 :type Width: int :param _Height: 自定义渲染画面的高度,单位为像素值,需大于0,且不能超过子布局的高。 :type Height: int :param _Radius: 自定义渲染画面的圆角半径,单位为像素值,不能超过渲染画面Width和Height最小值的一半,不指定默认为0,表示直角。 :type Radius: int """ self._Width = None self._Height = None self._Radius = None @property def Width(self): """自定义渲染画面的宽度,单位为像素值,需大于0,且不能超过子布局的宽。 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """自定义渲染画面的高度,单位为像素值,需大于0,且不能超过子布局的高。 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def Radius(self): """自定义渲染画面的圆角半径,单位为像素值,不能超过渲染画面Width和Height最小值的一半,不指定默认为0,表示直角。 :rtype: int """ return self._Radius @Radius.setter def Radius(self, Radius): self._Radius = Radius def _deserialize(self, params): self._Width = params.get("Width") self._Height = params.get("Height") self._Radius = params.get("Radius") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuCloudVod(AbstractModel): """Mcu转推录制,点播相关参数。 """ def __init__(self): r""" :param _McuTencentVod: 腾讯云点播相关参数。 :type McuTencentVod: :class:`tencentcloud.trtc.v20190722.models.McuTencentVod` """ self._McuTencentVod = None @property def McuTencentVod(self): """腾讯云点播相关参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuTencentVod` """ return self._McuTencentVod @McuTencentVod.setter def McuTencentVod(self, McuTencentVod): self._McuTencentVod = McuTencentVod def _deserialize(self, params): if params.get("McuTencentVod") is not None: self._McuTencentVod = McuTencentVod() self._McuTencentVod._deserialize(params.get("McuTencentVod")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuCustomCrop(AbstractModel): """混流自定义裁剪参数 """ def __init__(self): r""" :param _LocationX: 自定义裁剪起始位置的X偏移,单位为像素值,大于等于0。 :type LocationX: int :param _LocationY: 自定义裁剪起始位置的Y偏移,单位为像素值,大于等于0。 :type LocationY: int :param _Width: 自定义裁剪画面的宽度,单位为像素值,大于0,且LocationX+Width不超过10000 :type Width: int :param _Height: 自定义裁剪画面的高度,单位为像素值,大于0,且LocationY+Height不超过10000 :type Height: int """ self._LocationX = None self._LocationY = None self._Width = None self._Height = None @property def LocationX(self): """自定义裁剪起始位置的X偏移,单位为像素值,大于等于0。 :rtype: int """ return self._LocationX @LocationX.setter def LocationX(self, LocationX): self._LocationX = LocationX @property def LocationY(self): """自定义裁剪起始位置的Y偏移,单位为像素值,大于等于0。 :rtype: int """ return self._LocationY @LocationY.setter def LocationY(self, LocationY): self._LocationY = LocationY @property def Width(self): """自定义裁剪画面的宽度,单位为像素值,大于0,且LocationX+Width不超过10000 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """自定义裁剪画面的高度,单位为像素值,大于0,且LocationY+Height不超过10000 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height def _deserialize(self, params): self._LocationX = params.get("LocationX") self._LocationY = params.get("LocationY") self._Width = params.get("Width") self._Height = params.get("Height") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuFeedBackRoomParams(AbstractModel): """回推房间参数。 """ def __init__(self): r""" :param _RoomId: 回推房间的RoomId。 :type RoomId: str :param _RoomIdType: 房间类型,必须和回推房间所对应的RoomId类型相同,0为整形房间号,1为字符串房间号。 :type RoomIdType: int :param _UserId: 回推房间使用的UserId(https://cloud.tencent.com/document/product/647/46351#userid),注意这个userId不能与其他TRTC或者转推服务等已经使用的UserId重复,建议可以把房间ID作为userId的标识的一部分。 :type UserId: str :param _UserSig: 回推房间UserId对应的用户签名,相当于登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :type UserSig: str """ self._RoomId = None self._RoomIdType = None self._UserId = None self._UserSig = None @property def RoomId(self): """回推房间的RoomId。 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def RoomIdType(self): """房间类型,必须和回推房间所对应的RoomId类型相同,0为整形房间号,1为字符串房间号。 :rtype: int """ return self._RoomIdType @RoomIdType.setter def RoomIdType(self, RoomIdType): self._RoomIdType = RoomIdType @property def UserId(self): """回推房间使用的UserId(https://cloud.tencent.com/document/product/647/46351#userid),注意这个userId不能与其他TRTC或者转推服务等已经使用的UserId重复,建议可以把房间ID作为userId的标识的一部分。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def UserSig(self): """回推房间UserId对应的用户签名,相当于登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :rtype: str """ return self._UserSig @UserSig.setter def UserSig(self, UserSig): self._UserSig = UserSig def _deserialize(self, params): self._RoomId = params.get("RoomId") self._RoomIdType = params.get("RoomIdType") self._UserId = params.get("UserId") self._UserSig = params.get("UserSig") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuLayout(AbstractModel): """混流布局参数。 """ def __init__(self): r""" :param _UserMediaStream: 用户媒体流参数。不填时腾讯云后台按照上行主播的进房顺序自动填充。 :type UserMediaStream: :class:`tencentcloud.trtc.v20190722.models.UserMediaStream` :param _ImageWidth: 子画面在输出时的宽度,单位为像素值,不填默认为0。 :type ImageWidth: int :param _ImageHeight: 子画面在输出时的高度,单位为像素值,不填默认为0。 :type ImageHeight: int :param _LocationX: 子画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。 :type LocationX: int :param _LocationY: 子画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。 :type LocationY: int :param _ZOrder: 子画面在输出时的层级,不填默认为0。 :type ZOrder: int :param _RenderMode: 子画面在输出时的显示模式:0为裁剪,1为缩放并显示背景,2为缩放并显示黑底。不填默认为0。 :type RenderMode: int :param _BackGroundColor: 【此参数配置无效,暂不支持】子画面的背景颜色,常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 :type BackGroundColor: str :param _BackgroundImageUrl: 子画面的背景图url,填写该参数,当用户关闭摄像头或未进入TRTC房间时,会在布局位置填充为指定图片。若指定图片与布局位置尺寸比例不一致,则会对图片进行拉伸处理,优先级高于BackGroundColor。支持png、jpg、jpeg、bmp、gif、webm格式。图片大小限制不超过5MB。 注:您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,子画面的背景图将不会生效。 :type BackgroundImageUrl: str :param _CustomCrop: 客户自定义裁剪,针对原始输入流裁剪 :type CustomCrop: :class:`tencentcloud.trtc.v20190722.models.McuCustomCrop` :param _BackgroundRenderMode: 子背景图在输出时的显示模式:0为裁剪,1为缩放并显示背景,2为缩放并显示黑底,3为变比例伸缩,4为自定义渲染。不填默认为3。 :type BackgroundRenderMode: int :param _TransparentUrl: 子画面的透明模版url,指向一张包含透明通道的模板图片。填写该参数,后台混流时会提取该模板图片的透明通道,将其缩放作为目标画面的透明通道,再和其他画面进行混合。您可以通过透明模版实现目标画面的半透明效果和任意形状裁剪(如圆角、星形、心形等)。 支持png格式。图片大小限制不超过5MB。 注:1,模板图片宽高比应接近目标画面宽高比,以避免缩放适配目标画面时出现模板效果变形;2,透明模版只有RenderMode为0(裁剪)时才生效;3,您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,透明模版将不会生效。 :type TransparentUrl: str :param _BackgroundCustomRender: 子背景图的自定义渲染参数,当BackgroundRenderMode为4时必须配置。 :type BackgroundCustomRender: :class:`tencentcloud.trtc.v20190722.models.McuBackgroundCustomRender` :param _BackGroundColorMode: 子背景色生效模式,默认值为0表示均不生效。 bit0:占位图缩放是否生效。 bit1:上行流缩放是否生效。 您可以将相应bit位置1启动生效,例如: 0(00)表示子背景色不生效。 1(01)表示子背景色只在占位图缩放时生效。 2(10)表示子背景色只在上行流缩放时生效。 3(11)表示子背景色在占位图缩放和上行流缩放时均生效。 :type BackGroundColorMode: int """ self._UserMediaStream = None self._ImageWidth = None self._ImageHeight = None self._LocationX = None self._LocationY = None self._ZOrder = None self._RenderMode = None self._BackGroundColor = None self._BackgroundImageUrl = None self._CustomCrop = None self._BackgroundRenderMode = None self._TransparentUrl = None self._BackgroundCustomRender = None self._BackGroundColorMode = None @property def UserMediaStream(self): """用户媒体流参数。不填时腾讯云后台按照上行主播的进房顺序自动填充。 :rtype: :class:`tencentcloud.trtc.v20190722.models.UserMediaStream` """ return self._UserMediaStream @UserMediaStream.setter def UserMediaStream(self, UserMediaStream): self._UserMediaStream = UserMediaStream @property def ImageWidth(self): """子画面在输出时的宽度,单位为像素值,不填默认为0。 :rtype: int """ return self._ImageWidth @ImageWidth.setter def ImageWidth(self, ImageWidth): self._ImageWidth = ImageWidth @property def ImageHeight(self): """子画面在输出时的高度,单位为像素值,不填默认为0。 :rtype: int """ return self._ImageHeight @ImageHeight.setter def ImageHeight(self, ImageHeight): self._ImageHeight = ImageHeight @property def LocationX(self): """子画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。 :rtype: int """ return self._LocationX @LocationX.setter def LocationX(self, LocationX): self._LocationX = LocationX @property def LocationY(self): """子画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。 :rtype: int """ return self._LocationY @LocationY.setter def LocationY(self, LocationY): self._LocationY = LocationY @property def ZOrder(self): """子画面在输出时的层级,不填默认为0。 :rtype: int """ return self._ZOrder @ZOrder.setter def ZOrder(self, ZOrder): self._ZOrder = ZOrder @property def RenderMode(self): """子画面在输出时的显示模式:0为裁剪,1为缩放并显示背景,2为缩放并显示黑底。不填默认为0。 :rtype: int """ return self._RenderMode @RenderMode.setter def RenderMode(self, RenderMode): self._RenderMode = RenderMode @property def BackGroundColor(self): """【此参数配置无效,暂不支持】子画面的背景颜色,常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 :rtype: str """ return self._BackGroundColor @BackGroundColor.setter def BackGroundColor(self, BackGroundColor): self._BackGroundColor = BackGroundColor @property def BackgroundImageUrl(self): """子画面的背景图url,填写该参数,当用户关闭摄像头或未进入TRTC房间时,会在布局位置填充为指定图片。若指定图片与布局位置尺寸比例不一致,则会对图片进行拉伸处理,优先级高于BackGroundColor。支持png、jpg、jpeg、bmp、gif、webm格式。图片大小限制不超过5MB。 注:您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,子画面的背景图将不会生效。 :rtype: str """ return self._BackgroundImageUrl @BackgroundImageUrl.setter def BackgroundImageUrl(self, BackgroundImageUrl): self._BackgroundImageUrl = BackgroundImageUrl @property def CustomCrop(self): """客户自定义裁剪,针对原始输入流裁剪 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuCustomCrop` """ return self._CustomCrop @CustomCrop.setter def CustomCrop(self, CustomCrop): self._CustomCrop = CustomCrop @property def BackgroundRenderMode(self): """子背景图在输出时的显示模式:0为裁剪,1为缩放并显示背景,2为缩放并显示黑底,3为变比例伸缩,4为自定义渲染。不填默认为3。 :rtype: int """ return self._BackgroundRenderMode @BackgroundRenderMode.setter def BackgroundRenderMode(self, BackgroundRenderMode): self._BackgroundRenderMode = BackgroundRenderMode @property def TransparentUrl(self): """子画面的透明模版url,指向一张包含透明通道的模板图片。填写该参数,后台混流时会提取该模板图片的透明通道,将其缩放作为目标画面的透明通道,再和其他画面进行混合。您可以通过透明模版实现目标画面的半透明效果和任意形状裁剪(如圆角、星形、心形等)。 支持png格式。图片大小限制不超过5MB。 注:1,模板图片宽高比应接近目标画面宽高比,以避免缩放适配目标画面时出现模板效果变形;2,透明模版只有RenderMode为0(裁剪)时才生效;3,您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,透明模版将不会生效。 :rtype: str """ return self._TransparentUrl @TransparentUrl.setter def TransparentUrl(self, TransparentUrl): self._TransparentUrl = TransparentUrl @property def BackgroundCustomRender(self): """子背景图的自定义渲染参数,当BackgroundRenderMode为4时必须配置。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuBackgroundCustomRender` """ return self._BackgroundCustomRender @BackgroundCustomRender.setter def BackgroundCustomRender(self, BackgroundCustomRender): self._BackgroundCustomRender = BackgroundCustomRender @property def BackGroundColorMode(self): """子背景色生效模式,默认值为0表示均不生效。 bit0:占位图缩放是否生效。 bit1:上行流缩放是否生效。 您可以将相应bit位置1启动生效,例如: 0(00)表示子背景色不生效。 1(01)表示子背景色只在占位图缩放时生效。 2(10)表示子背景色只在上行流缩放时生效。 3(11)表示子背景色在占位图缩放和上行流缩放时均生效。 :rtype: int """ return self._BackGroundColorMode @BackGroundColorMode.setter def BackGroundColorMode(self, BackGroundColorMode): self._BackGroundColorMode = BackGroundColorMode def _deserialize(self, params): if params.get("UserMediaStream") is not None: self._UserMediaStream = UserMediaStream() self._UserMediaStream._deserialize(params.get("UserMediaStream")) self._ImageWidth = params.get("ImageWidth") self._ImageHeight = params.get("ImageHeight") self._LocationX = params.get("LocationX") self._LocationY = params.get("LocationY") self._ZOrder = params.get("ZOrder") self._RenderMode = params.get("RenderMode") self._BackGroundColor = params.get("BackGroundColor") self._BackgroundImageUrl = params.get("BackgroundImageUrl") if params.get("CustomCrop") is not None: self._CustomCrop = McuCustomCrop() self._CustomCrop._deserialize(params.get("CustomCrop")) self._BackgroundRenderMode = params.get("BackgroundRenderMode") self._TransparentUrl = params.get("TransparentUrl") if params.get("BackgroundCustomRender") is not None: self._BackgroundCustomRender = McuBackgroundCustomRender() self._BackgroundCustomRender._deserialize(params.get("BackgroundCustomRender")) self._BackGroundColorMode = params.get("BackGroundColorMode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuLayoutParams(AbstractModel): """混流布局参数。 """ def __init__(self): r""" :param _MixLayoutMode: 布局模式:动态布局(1:悬浮布局(默认),2:屏幕分享布局,3:九宫格布局),静态布局(4:自定义布局)。最多支持混入16路音视频流,如果用户只上行音频,也会被算作一路;自定义布局中,如果子画面只设置占位图,也被算作一路。 :type MixLayoutMode: int :param _PureAudioHoldPlaceMode: 纯音频上行是否占布局位置,只在动态布局中有效。0表示纯音频不占布局位置,1表示纯音频占布局位置,不填默认为0。 :type PureAudioHoldPlaceMode: int :param _MixLayoutList: 自定义模板中有效,指定用户视频在混合画面中的位置,最多支持设置16个输入流。 :type MixLayoutList: list of McuLayout :param _MaxVideoUser: 指定动态布局中悬浮布局和屏幕分享布局的大画面信息,只在悬浮布局和屏幕分享布局有效。 :type MaxVideoUser: :class:`tencentcloud.trtc.v20190722.models.MaxVideoUser` :param _RenderMode: 屏幕分享模板、悬浮模板、九宫格模版有效,画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底 :type RenderMode: int """ self._MixLayoutMode = None self._PureAudioHoldPlaceMode = None self._MixLayoutList = None self._MaxVideoUser = None self._RenderMode = None @property def MixLayoutMode(self): """布局模式:动态布局(1:悬浮布局(默认),2:屏幕分享布局,3:九宫格布局),静态布局(4:自定义布局)。最多支持混入16路音视频流,如果用户只上行音频,也会被算作一路;自定义布局中,如果子画面只设置占位图,也被算作一路。 :rtype: int """ return self._MixLayoutMode @MixLayoutMode.setter def MixLayoutMode(self, MixLayoutMode): self._MixLayoutMode = MixLayoutMode @property def PureAudioHoldPlaceMode(self): """纯音频上行是否占布局位置,只在动态布局中有效。0表示纯音频不占布局位置,1表示纯音频占布局位置,不填默认为0。 :rtype: int """ return self._PureAudioHoldPlaceMode @PureAudioHoldPlaceMode.setter def PureAudioHoldPlaceMode(self, PureAudioHoldPlaceMode): self._PureAudioHoldPlaceMode = PureAudioHoldPlaceMode @property def MixLayoutList(self): """自定义模板中有效,指定用户视频在混合画面中的位置,最多支持设置16个输入流。 :rtype: list of McuLayout """ return self._MixLayoutList @MixLayoutList.setter def MixLayoutList(self, MixLayoutList): self._MixLayoutList = MixLayoutList @property def MaxVideoUser(self): """指定动态布局中悬浮布局和屏幕分享布局的大画面信息,只在悬浮布局和屏幕分享布局有效。 :rtype: :class:`tencentcloud.trtc.v20190722.models.MaxVideoUser` """ return self._MaxVideoUser @MaxVideoUser.setter def MaxVideoUser(self, MaxVideoUser): self._MaxVideoUser = MaxVideoUser @property def RenderMode(self): """屏幕分享模板、悬浮模板、九宫格模版有效,画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底 :rtype: int """ return self._RenderMode @RenderMode.setter def RenderMode(self, RenderMode): self._RenderMode = RenderMode def _deserialize(self, params): self._MixLayoutMode = params.get("MixLayoutMode") self._PureAudioHoldPlaceMode = params.get("PureAudioHoldPlaceMode") if params.get("MixLayoutList") is not None: self._MixLayoutList = [] for item in params.get("MixLayoutList"): obj = McuLayout() obj._deserialize(item) self._MixLayoutList.append(obj) if params.get("MaxVideoUser") is not None: self._MaxVideoUser = MaxVideoUser() self._MaxVideoUser._deserialize(params.get("MaxVideoUser")) self._RenderMode = params.get("RenderMode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuLayoutVolume(AbstractModel): """音量布局SEI参数,可以自定义AppData和PayloadType类型。 该参数内容可以为空,表示携带默认的音量布局SEI。 """ def __init__(self): r""" :param _AppData: AppData的内容,会被写入自定义SEI中的app_data字段,长度需小于4096。 :type AppData: str :param _PayloadType: SEI消息的payload_type,默认值100,取值范围100-254(244除外,244为我们内部自定义的时间戳SEI) :type PayloadType: int :param _Interval: SEI发送间隔,单位毫秒,默认值为1000。 :type Interval: int :param _FollowIdr: 取值范围[0,1],填1:发送关键帧时会确保带SEI;填0:发送关键帧时不确保带SEI。默认值为0。 :type FollowIdr: int """ self._AppData = None self._PayloadType = None self._Interval = None self._FollowIdr = None @property def AppData(self): """AppData的内容,会被写入自定义SEI中的app_data字段,长度需小于4096。 :rtype: str """ return self._AppData @AppData.setter def AppData(self, AppData): self._AppData = AppData @property def PayloadType(self): """SEI消息的payload_type,默认值100,取值范围100-254(244除外,244为我们内部自定义的时间戳SEI) :rtype: int """ return self._PayloadType @PayloadType.setter def PayloadType(self, PayloadType): self._PayloadType = PayloadType @property def Interval(self): """SEI发送间隔,单位毫秒,默认值为1000。 :rtype: int """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def FollowIdr(self): """取值范围[0,1],填1:发送关键帧时会确保带SEI;填0:发送关键帧时不确保带SEI。默认值为0。 :rtype: int """ return self._FollowIdr @FollowIdr.setter def FollowIdr(self, FollowIdr): self._FollowIdr = FollowIdr def _deserialize(self, params): self._AppData = params.get("AppData") self._PayloadType = params.get("PayloadType") self._Interval = params.get("Interval") self._FollowIdr = params.get("FollowIdr") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuPassThrough(AbstractModel): """自定义透传SEI """ def __init__(self): r""" :param _PayloadContent: 透传SEI的payload内容。 :type PayloadContent: str :param _PayloadType: SEI消息的PayloadType,取值范围5、100-254(244除外,244为我们内部自定义的时间戳SEI)。 注:部分播放器可能不支持PayloadType为5带PayloadUuid的标准类型,建议优先使用其他PayloadType。 :type PayloadType: int :param _PayloadUuid: PayloadType为5,PayloadUuid必须填写。PayloadType不是5时,不需要填写,填写会被后台忽略。该值必须是32长度的十六进制。 :type PayloadUuid: str :param _Interval: SEI发送间隔,单位毫秒,默认值为1000。 :type Interval: int :param _FollowIdr: 取值范围[0,1],填1:发送关键帧时会确保带SEI;填0:发送关键帧时不确保带SEI。默认值为0。 :type FollowIdr: int """ self._PayloadContent = None self._PayloadType = None self._PayloadUuid = None self._Interval = None self._FollowIdr = None @property def PayloadContent(self): """透传SEI的payload内容。 :rtype: str """ return self._PayloadContent @PayloadContent.setter def PayloadContent(self, PayloadContent): self._PayloadContent = PayloadContent @property def PayloadType(self): """SEI消息的PayloadType,取值范围5、100-254(244除外,244为我们内部自定义的时间戳SEI)。 注:部分播放器可能不支持PayloadType为5带PayloadUuid的标准类型,建议优先使用其他PayloadType。 :rtype: int """ return self._PayloadType @PayloadType.setter def PayloadType(self, PayloadType): self._PayloadType = PayloadType @property def PayloadUuid(self): """PayloadType为5,PayloadUuid必须填写。PayloadType不是5时,不需要填写,填写会被后台忽略。该值必须是32长度的十六进制。 :rtype: str """ return self._PayloadUuid @PayloadUuid.setter def PayloadUuid(self, PayloadUuid): self._PayloadUuid = PayloadUuid @property def Interval(self): """SEI发送间隔,单位毫秒,默认值为1000。 :rtype: int """ return self._Interval @Interval.setter def Interval(self, Interval): self._Interval = Interval @property def FollowIdr(self): """取值范围[0,1],填1:发送关键帧时会确保带SEI;填0:发送关键帧时不确保带SEI。默认值为0。 :rtype: int """ return self._FollowIdr @FollowIdr.setter def FollowIdr(self, FollowIdr): self._FollowIdr = FollowIdr def _deserialize(self, params): self._PayloadContent = params.get("PayloadContent") self._PayloadType = params.get("PayloadType") self._PayloadUuid = params.get("PayloadUuid") self._Interval = params.get("Interval") self._FollowIdr = params.get("FollowIdr") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuPublishCdnParam(AbstractModel): """转推参数。 """ def __init__(self): r""" :param _PublishCdnUrl: CDN转推URL,只支持rtmp链接。 注:若更新转推时,URL有任何变化,都会断流重推。 :type PublishCdnUrl: str :param _IsTencentCdn: 是否是腾讯云CDN,0为转推非腾讯云CDN,1为转推腾讯CDN,不携带该参数默认为1。注意:1,为避免误产生转推费用,该参数建议明确填写,转推非腾讯云CDN时会产生转推费用,详情参见接口文档说明;2,国内站默认只支持转推腾讯云CDN,如您有转推第三方CDN需求,请联系腾讯云技术支持。 :type IsTencentCdn: int """ self._PublishCdnUrl = None self._IsTencentCdn = None @property def PublishCdnUrl(self): """CDN转推URL,只支持rtmp链接。 注:若更新转推时,URL有任何变化,都会断流重推。 :rtype: str """ return self._PublishCdnUrl @PublishCdnUrl.setter def PublishCdnUrl(self, PublishCdnUrl): self._PublishCdnUrl = PublishCdnUrl @property def IsTencentCdn(self): """是否是腾讯云CDN,0为转推非腾讯云CDN,1为转推腾讯CDN,不携带该参数默认为1。注意:1,为避免误产生转推费用,该参数建议明确填写,转推非腾讯云CDN时会产生转推费用,详情参见接口文档说明;2,国内站默认只支持转推腾讯云CDN,如您有转推第三方CDN需求,请联系腾讯云技术支持。 :rtype: int """ return self._IsTencentCdn @IsTencentCdn.setter def IsTencentCdn(self, IsTencentCdn): self._IsTencentCdn = IsTencentCdn def _deserialize(self, params): self._PublishCdnUrl = params.get("PublishCdnUrl") self._IsTencentCdn = params.get("IsTencentCdn") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuRecordParams(AbstractModel): """转推录制参数 """ def __init__(self): r""" :param _UniRecord: 转推录制模式, 0/不填: 暂不支持,行为未定义; 1: 不开启录制; 2: 开启录制(使用控制台自动录制模板参数,参考:[跳转文档](https://cloud.tencent.com/document/product/647/111748#.E5.BD.95.E5.88.B6.E6.8E.A7.E5.88.B6.E6.96.B9.E6.A1.88)); 3: 开启录制(使用API指定参数)。 :type UniRecord: int :param _RecordKey: 录制任务 key,标识一个录制任务;您可以通过该参数,将多个转推任务录制成一个文件。不指定该参数时,只录制当前转推任务。 【限制长度为128字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线(_)和连词符(-)】 :type RecordKey: str :param _RecordWaitTime: 【仅当UniRecord=3时此参数有效】 续录等待时间,对应录制模板“续录等待时长”,单位:秒。该值需大于等于 5,且小于等于 86400(24小时),默认值为 30。启用续录时,录制任务空闲超过RecordWaitTime的时长,自动结束。 :type RecordWaitTime: int :param _RecordFormat: 【仅当UniRecord=3时此参数有效】 录制输出文件格式列表,对应录制模板“文件格式”,支持“hls”、"mp4"、"aac"三种格式,默认值为"mp4"。其中"mp4"和"aac"格式,不能同时指定。 只录制 mp4格式,示例值:["mp4"]。同时录制mp4 和 HLS 格式,示例值:["mp4","hls"]。 :type RecordFormat: list of str :param _MaxMediaFileDuration: 【仅当UniRecord=3时此参数有效】 单个文件录制时长,对应录制模板“单个录制文件时长”,单位:分钟。该值需大于等于 1,且小于等于 1440(24小时),默认值为 1440。只对"mp4"或"aac"格式生效。实际单文件录制时长还受单文件大小不超过 2G 限制,超过2G则强制拆分。 :type MaxMediaFileDuration: int :param _StreamType: 【仅当UniRecord=3时此参数有效】 录制的音视频类型,对应录制模板“录制格式”,0:音视频,1:纯音频,2:纯视频。最终录制文件内容是录制指定类型和转推内容的交集。 :type StreamType: int :param _UserDefineRecordPrefix: 录制文件名前缀,不超过64字符。只有存储为vod时生效。 【限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线(_)和连词符(-)】 :type UserDefineRecordPrefix: str :param _McuStorageParams: 【仅当UniRecord=3时此参数有效】 录制文件存储参数,对应控制台“存储位置”及相关参数。目前支持云点播VOD和对象存储COS两种存储方式,只能填写一种。 :type McuStorageParams: :class:`tencentcloud.trtc.v20190722.models.McuStorageParams` """ self._UniRecord = None self._RecordKey = None self._RecordWaitTime = None self._RecordFormat = None self._MaxMediaFileDuration = None self._StreamType = None self._UserDefineRecordPrefix = None self._McuStorageParams = None @property def UniRecord(self): """转推录制模式, 0/不填: 暂不支持,行为未定义; 1: 不开启录制; 2: 开启录制(使用控制台自动录制模板参数,参考:[跳转文档](https://cloud.tencent.com/document/product/647/111748#.E5.BD.95.E5.88.B6.E6.8E.A7.E5.88.B6.E6.96.B9.E6.A1.88)); 3: 开启录制(使用API指定参数)。 :rtype: int """ return self._UniRecord @UniRecord.setter def UniRecord(self, UniRecord): self._UniRecord = UniRecord @property def RecordKey(self): """录制任务 key,标识一个录制任务;您可以通过该参数,将多个转推任务录制成一个文件。不指定该参数时,只录制当前转推任务。 【限制长度为128字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线(_)和连词符(-)】 :rtype: str """ return self._RecordKey @RecordKey.setter def RecordKey(self, RecordKey): self._RecordKey = RecordKey @property def RecordWaitTime(self): """【仅当UniRecord=3时此参数有效】 续录等待时间,对应录制模板“续录等待时长”,单位:秒。该值需大于等于 5,且小于等于 86400(24小时),默认值为 30。启用续录时,录制任务空闲超过RecordWaitTime的时长,自动结束。 :rtype: int """ return self._RecordWaitTime @RecordWaitTime.setter def RecordWaitTime(self, RecordWaitTime): self._RecordWaitTime = RecordWaitTime @property def RecordFormat(self): """【仅当UniRecord=3时此参数有效】 录制输出文件格式列表,对应录制模板“文件格式”,支持“hls”、"mp4"、"aac"三种格式,默认值为"mp4"。其中"mp4"和"aac"格式,不能同时指定。 只录制 mp4格式,示例值:["mp4"]。同时录制mp4 和 HLS 格式,示例值:["mp4","hls"]。 :rtype: list of str """ return self._RecordFormat @RecordFormat.setter def RecordFormat(self, RecordFormat): self._RecordFormat = RecordFormat @property def MaxMediaFileDuration(self): """【仅当UniRecord=3时此参数有效】 单个文件录制时长,对应录制模板“单个录制文件时长”,单位:分钟。该值需大于等于 1,且小于等于 1440(24小时),默认值为 1440。只对"mp4"或"aac"格式生效。实际单文件录制时长还受单文件大小不超过 2G 限制,超过2G则强制拆分。 :rtype: int """ return self._MaxMediaFileDuration @MaxMediaFileDuration.setter def MaxMediaFileDuration(self, MaxMediaFileDuration): self._MaxMediaFileDuration = MaxMediaFileDuration @property def StreamType(self): """【仅当UniRecord=3时此参数有效】 录制的音视频类型,对应录制模板“录制格式”,0:音视频,1:纯音频,2:纯视频。最终录制文件内容是录制指定类型和转推内容的交集。 :rtype: int """ return self._StreamType @StreamType.setter def StreamType(self, StreamType): self._StreamType = StreamType @property def UserDefineRecordPrefix(self): """录制文件名前缀,不超过64字符。只有存储为vod时生效。 【限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线(_)和连词符(-)】 :rtype: str """ return self._UserDefineRecordPrefix @UserDefineRecordPrefix.setter def UserDefineRecordPrefix(self, UserDefineRecordPrefix): self._UserDefineRecordPrefix = UserDefineRecordPrefix @property def McuStorageParams(self): """【仅当UniRecord=3时此参数有效】 录制文件存储参数,对应控制台“存储位置”及相关参数。目前支持云点播VOD和对象存储COS两种存储方式,只能填写一种。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuStorageParams` """ return self._McuStorageParams @McuStorageParams.setter def McuStorageParams(self, McuStorageParams): self._McuStorageParams = McuStorageParams def _deserialize(self, params): self._UniRecord = params.get("UniRecord") self._RecordKey = params.get("RecordKey") self._RecordWaitTime = params.get("RecordWaitTime") self._RecordFormat = params.get("RecordFormat") self._MaxMediaFileDuration = params.get("MaxMediaFileDuration") self._StreamType = params.get("StreamType") self._UserDefineRecordPrefix = params.get("UserDefineRecordPrefix") if params.get("McuStorageParams") is not None: self._McuStorageParams = McuStorageParams() self._McuStorageParams._deserialize(params.get("McuStorageParams")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuSeiParams(AbstractModel): """混流SEI参数 """ def __init__(self): r""" :param _LayoutVolume: 音量布局SEI :type LayoutVolume: :class:`tencentcloud.trtc.v20190722.models.McuLayoutVolume` :param _PassThrough: 透传SEI :type PassThrough: :class:`tencentcloud.trtc.v20190722.models.McuPassThrough` """ self._LayoutVolume = None self._PassThrough = None @property def LayoutVolume(self): """音量布局SEI :rtype: :class:`tencentcloud.trtc.v20190722.models.McuLayoutVolume` """ return self._LayoutVolume @LayoutVolume.setter def LayoutVolume(self, LayoutVolume): self._LayoutVolume = LayoutVolume @property def PassThrough(self): """透传SEI :rtype: :class:`tencentcloud.trtc.v20190722.models.McuPassThrough` """ return self._PassThrough @PassThrough.setter def PassThrough(self, PassThrough): self._PassThrough = PassThrough def _deserialize(self, params): if params.get("LayoutVolume") is not None: self._LayoutVolume = McuLayoutVolume() self._LayoutVolume._deserialize(params.get("LayoutVolume")) if params.get("PassThrough") is not None: self._PassThrough = McuPassThrough() self._PassThrough._deserialize(params.get("PassThrough")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuStorageParams(AbstractModel): """Mcu转推录制,第三方存储参数。 """ def __init__(self): r""" :param _CloudStorage: 第三方云存储的账号信息(特别说明:若您选择存储至对象存储COS将会收取录制文件投递至COS的费用,详见云端录制收费说明,存储至VOD将不收取此项费用。)。 :type CloudStorage: :class:`tencentcloud.trtc.v20190722.models.CloudStorage` :param _McuCloudVod: 腾讯云云点播的账号信息。 :type McuCloudVod: :class:`tencentcloud.trtc.v20190722.models.McuCloudVod` """ self._CloudStorage = None self._McuCloudVod = None @property def CloudStorage(self): """第三方云存储的账号信息(特别说明:若您选择存储至对象存储COS将会收取录制文件投递至COS的费用,详见云端录制收费说明,存储至VOD将不收取此项费用。)。 :rtype: :class:`tencentcloud.trtc.v20190722.models.CloudStorage` """ return self._CloudStorage @CloudStorage.setter def CloudStorage(self, CloudStorage): self._CloudStorage = CloudStorage @property def McuCloudVod(self): """腾讯云云点播的账号信息。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuCloudVod` """ return self._McuCloudVod @McuCloudVod.setter def McuCloudVod(self, McuCloudVod): self._McuCloudVod = McuCloudVod def _deserialize(self, params): if params.get("CloudStorage") is not None: self._CloudStorage = CloudStorage() self._CloudStorage._deserialize(params.get("CloudStorage")) if params.get("McuCloudVod") is not None: self._McuCloudVod = McuCloudVod() self._McuCloudVod._deserialize(params.get("McuCloudVod")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuTencentVod(AbstractModel): """Mcu转推录制,腾讯云点播相关参数。 """ def __init__(self): r""" :param _Procedure: 媒体后续任务处理操作,即完成媒体上传后,可自动发起任务流操作。参数值为任务流模板名,云点播支持 创建任务流模板 并为模板命名。 :type Procedure: str :param _ExpireTime: 媒体文件过期时间,为当前时间的绝对过期时间;保存一天,就填"86400",永久保存就填"0",默认永久保存。 :type ExpireTime: int :param _StorageRegion: 指定上传园区,仅适用于对上传地域有特殊需求的用户。 :type StorageRegion: str :param _ClassId: 分类ID,用于对媒体进行分类管理,可通过 创建分类 接口,创建分类,获得分类 ID。 默认值:0,表示其他分类。 :type ClassId: int :param _SubAppId: 点播 子应用 ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。 :type SubAppId: int :param _SessionContext: 任务流上下文,任务完成回调时透传。 :type SessionContext: str :param _SourceContext: 上传上下文,上传完成回调时透传。 :type SourceContext: str """ self._Procedure = None self._ExpireTime = None self._StorageRegion = None self._ClassId = None self._SubAppId = None self._SessionContext = None self._SourceContext = None @property def Procedure(self): """媒体后续任务处理操作,即完成媒体上传后,可自动发起任务流操作。参数值为任务流模板名,云点播支持 创建任务流模板 并为模板命名。 :rtype: str """ return self._Procedure @Procedure.setter def Procedure(self, Procedure): self._Procedure = Procedure @property def ExpireTime(self): """媒体文件过期时间,为当前时间的绝对过期时间;保存一天,就填"86400",永久保存就填"0",默认永久保存。 :rtype: int """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def StorageRegion(self): """指定上传园区,仅适用于对上传地域有特殊需求的用户。 :rtype: str """ return self._StorageRegion @StorageRegion.setter def StorageRegion(self, StorageRegion): self._StorageRegion = StorageRegion @property def ClassId(self): """分类ID,用于对媒体进行分类管理,可通过 创建分类 接口,创建分类,获得分类 ID。 默认值:0,表示其他分类。 :rtype: int """ return self._ClassId @ClassId.setter def ClassId(self, ClassId): self._ClassId = ClassId @property def SubAppId(self): """点播 子应用 ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。 :rtype: int """ return self._SubAppId @SubAppId.setter def SubAppId(self, SubAppId): self._SubAppId = SubAppId @property def SessionContext(self): """任务流上下文,任务完成回调时透传。 :rtype: str """ return self._SessionContext @SessionContext.setter def SessionContext(self, SessionContext): self._SessionContext = SessionContext @property def SourceContext(self): """上传上下文,上传完成回调时透传。 :rtype: str """ return self._SourceContext @SourceContext.setter def SourceContext(self, SourceContext): self._SourceContext = SourceContext def _deserialize(self, params): self._Procedure = params.get("Procedure") self._ExpireTime = params.get("ExpireTime") self._StorageRegion = params.get("StorageRegion") self._ClassId = params.get("ClassId") self._SubAppId = params.get("SubAppId") self._SessionContext = params.get("SessionContext") self._SourceContext = params.get("SourceContext") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuUserInfoParams(AbstractModel): """混流用户参数 """ def __init__(self): r""" :param _UserInfo: 用户参数。 :type UserInfo: :class:`tencentcloud.trtc.v20190722.models.MixUserInfo` :param _SoundLevel: 混音的音量调整:取值范围是0到100,100为原始上行音量,不填默认为100,值越小则音量越低。 注:该参数只在音量白名单下配置生效,其他场景配置无效。 :type SoundLevel: int """ self._UserInfo = None self._SoundLevel = None @property def UserInfo(self): """用户参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.MixUserInfo` """ return self._UserInfo @UserInfo.setter def UserInfo(self, UserInfo): self._UserInfo = UserInfo @property def SoundLevel(self): """混音的音量调整:取值范围是0到100,100为原始上行音量,不填默认为100,值越小则音量越低。 注:该参数只在音量白名单下配置生效,其他场景配置无效。 :rtype: int """ return self._SoundLevel @SoundLevel.setter def SoundLevel(self, SoundLevel): self._SoundLevel = SoundLevel def _deserialize(self, params): if params.get("UserInfo") is not None: self._UserInfo = MixUserInfo() self._UserInfo._deserialize(params.get("UserInfo")) self._SoundLevel = params.get("SoundLevel") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuVideoParams(AbstractModel): """混流转推的视频相关参数。 """ def __init__(self): r""" :param _VideoEncode: 输出流视频编码参数。 :type VideoEncode: :class:`tencentcloud.trtc.v20190722.models.VideoEncode` :param _LayoutParams: 混流布局参数。 :type LayoutParams: :class:`tencentcloud.trtc.v20190722.models.McuLayoutParams` :param _BackGroundColor: 整个画布背景颜色,常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 :type BackGroundColor: str :param _BackgroundImageUrl: 整个画布的背景图url,优先级高于BackGroundColor。支持png、jpg、jpeg格式。图片大小限制不超过5MB。 注:您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,背景图将不会生效。 :type BackgroundImageUrl: str :param _WaterMarkList: 混流布局的水印参数。 :type WaterMarkList: list of McuWaterMarkParams :param _BackgroundRenderMode: 背景图在输出时的显示模式:0为裁剪,1为缩放并显示黑底,2为变比例伸缩。后台默认为变比例伸缩。 :type BackgroundRenderMode: int """ self._VideoEncode = None self._LayoutParams = None self._BackGroundColor = None self._BackgroundImageUrl = None self._WaterMarkList = None self._BackgroundRenderMode = None @property def VideoEncode(self): """输出流视频编码参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.VideoEncode` """ return self._VideoEncode @VideoEncode.setter def VideoEncode(self, VideoEncode): self._VideoEncode = VideoEncode @property def LayoutParams(self): """混流布局参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuLayoutParams` """ return self._LayoutParams @LayoutParams.setter def LayoutParams(self, LayoutParams): self._LayoutParams = LayoutParams @property def BackGroundColor(self): """整个画布背景颜色,常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 :rtype: str """ return self._BackGroundColor @BackGroundColor.setter def BackGroundColor(self, BackGroundColor): self._BackGroundColor = BackGroundColor @property def BackgroundImageUrl(self): """整个画布的背景图url,优先级高于BackGroundColor。支持png、jpg、jpeg格式。图片大小限制不超过5MB。 注:您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,背景图将不会生效。 :rtype: str """ return self._BackgroundImageUrl @BackgroundImageUrl.setter def BackgroundImageUrl(self, BackgroundImageUrl): self._BackgroundImageUrl = BackgroundImageUrl @property def WaterMarkList(self): """混流布局的水印参数。 :rtype: list of McuWaterMarkParams """ return self._WaterMarkList @WaterMarkList.setter def WaterMarkList(self, WaterMarkList): self._WaterMarkList = WaterMarkList @property def BackgroundRenderMode(self): """背景图在输出时的显示模式:0为裁剪,1为缩放并显示黑底,2为变比例伸缩。后台默认为变比例伸缩。 :rtype: int """ return self._BackgroundRenderMode @BackgroundRenderMode.setter def BackgroundRenderMode(self, BackgroundRenderMode): self._BackgroundRenderMode = BackgroundRenderMode def _deserialize(self, params): if params.get("VideoEncode") is not None: self._VideoEncode = VideoEncode() self._VideoEncode._deserialize(params.get("VideoEncode")) if params.get("LayoutParams") is not None: self._LayoutParams = McuLayoutParams() self._LayoutParams._deserialize(params.get("LayoutParams")) self._BackGroundColor = params.get("BackGroundColor") self._BackgroundImageUrl = params.get("BackgroundImageUrl") if params.get("WaterMarkList") is not None: self._WaterMarkList = [] for item in params.get("WaterMarkList"): obj = McuWaterMarkParams() obj._deserialize(item) self._WaterMarkList.append(obj) self._BackgroundRenderMode = params.get("BackgroundRenderMode") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuWaterMarkImage(AbstractModel): """图片水印参数。 """ def __init__(self): r""" :param _WaterMarkUrl: 水印图片URL地址,支持png、jpg、jpeg格式。图片大小限制不超过5MB。 注:您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,水印图片将不会生效。 :type WaterMarkUrl: str :param _WaterMarkWidth: 水印在输出时的宽。单位为像素值。 :type WaterMarkWidth: int :param _WaterMarkHeight: 水印在输出时的高。单位为像素值。 :type WaterMarkHeight: int :param _LocationX: 水印在输出时的X偏移。单位为像素值。 :type LocationX: int :param _LocationY: 水印在输出时的Y偏移。单位为像素值。 :type LocationY: int :param _ZOrder: 水印在输出时的层级,不填默认为0。 :type ZOrder: int :param _DynamicPosType: 动态水印类型,默认为0。0:关闭;1:随机位置,每秒变动一次;2:边界扫描反弹,每帧变动一次。 :type DynamicPosType: int """ self._WaterMarkUrl = None self._WaterMarkWidth = None self._WaterMarkHeight = None self._LocationX = None self._LocationY = None self._ZOrder = None self._DynamicPosType = None @property def WaterMarkUrl(self): """水印图片URL地址,支持png、jpg、jpeg格式。图片大小限制不超过5MB。 注:您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,水印图片将不会生效。 :rtype: str """ return self._WaterMarkUrl @WaterMarkUrl.setter def WaterMarkUrl(self, WaterMarkUrl): self._WaterMarkUrl = WaterMarkUrl @property def WaterMarkWidth(self): """水印在输出时的宽。单位为像素值。 :rtype: int """ return self._WaterMarkWidth @WaterMarkWidth.setter def WaterMarkWidth(self, WaterMarkWidth): self._WaterMarkWidth = WaterMarkWidth @property def WaterMarkHeight(self): """水印在输出时的高。单位为像素值。 :rtype: int """ return self._WaterMarkHeight @WaterMarkHeight.setter def WaterMarkHeight(self, WaterMarkHeight): self._WaterMarkHeight = WaterMarkHeight @property def LocationX(self): """水印在输出时的X偏移。单位为像素值。 :rtype: int """ return self._LocationX @LocationX.setter def LocationX(self, LocationX): self._LocationX = LocationX @property def LocationY(self): """水印在输出时的Y偏移。单位为像素值。 :rtype: int """ return self._LocationY @LocationY.setter def LocationY(self, LocationY): self._LocationY = LocationY @property def ZOrder(self): """水印在输出时的层级,不填默认为0。 :rtype: int """ return self._ZOrder @ZOrder.setter def ZOrder(self, ZOrder): self._ZOrder = ZOrder @property def DynamicPosType(self): """动态水印类型,默认为0。0:关闭;1:随机位置,每秒变动一次;2:边界扫描反弹,每帧变动一次。 :rtype: int """ return self._DynamicPosType @DynamicPosType.setter def DynamicPosType(self, DynamicPosType): self._DynamicPosType = DynamicPosType def _deserialize(self, params): self._WaterMarkUrl = params.get("WaterMarkUrl") self._WaterMarkWidth = params.get("WaterMarkWidth") self._WaterMarkHeight = params.get("WaterMarkHeight") self._LocationX = params.get("LocationX") self._LocationY = params.get("LocationY") self._ZOrder = params.get("ZOrder") self._DynamicPosType = params.get("DynamicPosType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuWaterMarkParams(AbstractModel): """水印参数。 """ def __init__(self): r""" :param _WaterMarkType: 水印类型,0为图片(默认),1为文字。 :type WaterMarkType: int :param _WaterMarkImage: 图片水印参数。WaterMarkType为0指定。 :type WaterMarkImage: :class:`tencentcloud.trtc.v20190722.models.McuWaterMarkImage` :param _WaterMarkText: 文字水印参数。WaterMarkType为1指定。 :type WaterMarkText: :class:`tencentcloud.trtc.v20190722.models.McuWaterMarkText` """ self._WaterMarkType = None self._WaterMarkImage = None self._WaterMarkText = None @property def WaterMarkType(self): """水印类型,0为图片(默认),1为文字。 :rtype: int """ return self._WaterMarkType @WaterMarkType.setter def WaterMarkType(self, WaterMarkType): self._WaterMarkType = WaterMarkType @property def WaterMarkImage(self): """图片水印参数。WaterMarkType为0指定。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuWaterMarkImage` """ return self._WaterMarkImage @WaterMarkImage.setter def WaterMarkImage(self, WaterMarkImage): self._WaterMarkImage = WaterMarkImage @property def WaterMarkText(self): """文字水印参数。WaterMarkType为1指定。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuWaterMarkText` """ return self._WaterMarkText @WaterMarkText.setter def WaterMarkText(self, WaterMarkText): self._WaterMarkText = WaterMarkText def _deserialize(self, params): self._WaterMarkType = params.get("WaterMarkType") if params.get("WaterMarkImage") is not None: self._WaterMarkImage = McuWaterMarkImage() self._WaterMarkImage._deserialize(params.get("WaterMarkImage")) if params.get("WaterMarkText") is not None: self._WaterMarkText = McuWaterMarkText() self._WaterMarkText._deserialize(params.get("WaterMarkText")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class McuWaterMarkText(AbstractModel): """文字水印参数。 """ def __init__(self): r""" :param _Text: 文字水印内容。 :type Text: str :param _WaterMarkWidth: 水印在输出时的宽。单位为像素值。 :type WaterMarkWidth: int :param _WaterMarkHeight: 水印在输出时的高。单位为像素值。 :type WaterMarkHeight: int :param _LocationX: 水印在输出时的X偏移。单位为像素值。 :type LocationX: int :param _LocationY: 水印在输出时的Y偏移。单位为像素值。 :type LocationY: int :param _FontSize: 字体大小 :type FontSize: int :param _FontColor: 字体颜色,默认为白色。常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 :type FontColor: str :param _BackGroundColor: 字体背景色,不配置默认为透明。常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 :type BackGroundColor: str :param _DynamicPosType: 动态水印类型,默认为0。0:关闭;1:随机位置,每秒变动一次;2:边界扫描反弹,每帧变动一次。 :type DynamicPosType: int :param _ZOrder: 水印在输出时的层级,不填默认为0。 :type ZOrder: int :param _Font: 水印字体,不填默认为Tencent。支持设置以下值: Tencent (默认) SourceHanSans :type Font: str """ self._Text = None self._WaterMarkWidth = None self._WaterMarkHeight = None self._LocationX = None self._LocationY = None self._FontSize = None self._FontColor = None self._BackGroundColor = None self._DynamicPosType = None self._ZOrder = None self._Font = None @property def Text(self): """文字水印内容。 :rtype: str """ return self._Text @Text.setter def Text(self, Text): self._Text = Text @property def WaterMarkWidth(self): """水印在输出时的宽。单位为像素值。 :rtype: int """ return self._WaterMarkWidth @WaterMarkWidth.setter def WaterMarkWidth(self, WaterMarkWidth): self._WaterMarkWidth = WaterMarkWidth @property def WaterMarkHeight(self): """水印在输出时的高。单位为像素值。 :rtype: int """ return self._WaterMarkHeight @WaterMarkHeight.setter def WaterMarkHeight(self, WaterMarkHeight): self._WaterMarkHeight = WaterMarkHeight @property def LocationX(self): """水印在输出时的X偏移。单位为像素值。 :rtype: int """ return self._LocationX @LocationX.setter def LocationX(self, LocationX): self._LocationX = LocationX @property def LocationY(self): """水印在输出时的Y偏移。单位为像素值。 :rtype: int """ return self._LocationY @LocationY.setter def LocationY(self, LocationY): self._LocationY = LocationY @property def FontSize(self): """字体大小 :rtype: int """ return self._FontSize @FontSize.setter def FontSize(self, FontSize): self._FontSize = FontSize @property def FontColor(self): """字体颜色,默认为白色。常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 :rtype: str """ return self._FontColor @FontColor.setter def FontColor(self, FontColor): self._FontColor = FontColor @property def BackGroundColor(self): """字体背景色,不配置默认为透明。常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 :rtype: str """ return self._BackGroundColor @BackGroundColor.setter def BackGroundColor(self, BackGroundColor): self._BackGroundColor = BackGroundColor @property def DynamicPosType(self): """动态水印类型,默认为0。0:关闭;1:随机位置,每秒变动一次;2:边界扫描反弹,每帧变动一次。 :rtype: int """ return self._DynamicPosType @DynamicPosType.setter def DynamicPosType(self, DynamicPosType): self._DynamicPosType = DynamicPosType @property def ZOrder(self): """水印在输出时的层级,不填默认为0。 :rtype: int """ return self._ZOrder @ZOrder.setter def ZOrder(self, ZOrder): self._ZOrder = ZOrder @property def Font(self): """水印字体,不填默认为Tencent。支持设置以下值: Tencent (默认) SourceHanSans :rtype: str """ return self._Font @Font.setter def Font(self, Font): self._Font = Font def _deserialize(self, params): self._Text = params.get("Text") self._WaterMarkWidth = params.get("WaterMarkWidth") self._WaterMarkHeight = params.get("WaterMarkHeight") self._LocationX = params.get("LocationX") self._LocationY = params.get("LocationY") self._FontSize = params.get("FontSize") self._FontColor = params.get("FontColor") self._BackGroundColor = params.get("BackGroundColor") self._DynamicPosType = params.get("DynamicPosType") self._ZOrder = params.get("ZOrder") self._Font = params.get("Font") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MixLayout(AbstractModel): """用户自定义混流布局参数列表。 """ def __init__(self): r""" :param _Top: 画布上该画面左上角的 y 轴坐标,取值范围 [0, 1920],不能超过画布的高。 :type Top: int :param _Left: 画布上该画面左上角的 x 轴坐标,取值范围 [0, 1920],不能超过画布的宽。 :type Left: int :param _Width: 画布上该画面宽度的相对值,取值范围 [0, 1920],与Left相加不应超过画布的宽。 :type Width: int :param _Height: 画布上该画面高度的相对值,取值范围 [0, 1920],与Top相加不应超过画布的高。 :type Height: int :param _UserId: 字符串内容为待显示在该画面的主播对应的UserId,如果不指定,会按照主播加入房间的顺序匹配。 :type UserId: str :param _Alpha: 画布的透明度值,取值范围[0, 255]。0表示不透明,255表示全透明。默认值为0。 :type Alpha: int :param _RenderMode: 0 :拉伸模式,这个模式下整个视频内容会全部显示,并填满子画面,在源视频和目的视频宽高比不一致的时候,画面不会缺少内容,但是画面可能产生形变; 1 :剪裁模式(默认),这个模式下会严格按照目的视频的宽高比对源视频剪裁之后再拉伸,并填满子画面画布,在源视频和目的视频宽高比不一致的时候,画面保持不变形,但是会被剪裁; 2 :填黑模式,这个模式下会严格保持源视频的宽高比进行等比缩放,在源视频和目的视频宽高比不一致的时候,画面的上下侧边缘或者左右侧边缘会露出子画面画布的背景; 3 :智能拉伸模式,这个模式类似剪裁模式,区别是在源视频和目的视频宽高比不一致的时候,限制了最大剪裁比例为画面的宽度或者高度的20%; :type RenderMode: int :param _MediaId: 对应订阅流的主辅路标识: 0:主流(默认); 1:辅流; :type MediaId: int :param _ImageLayer: 该画布的图层顺序, 这个值越小表示图层越靠后。默认值为0。 :type ImageLayer: int :param _SubBackgroundImage: 图片的url地址, 只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' :type SubBackgroundImage: str """ self._Top = None self._Left = None self._Width = None self._Height = None self._UserId = None self._Alpha = None self._RenderMode = None self._MediaId = None self._ImageLayer = None self._SubBackgroundImage = None @property def Top(self): """画布上该画面左上角的 y 轴坐标,取值范围 [0, 1920],不能超过画布的高。 :rtype: int """ return self._Top @Top.setter def Top(self, Top): self._Top = Top @property def Left(self): """画布上该画面左上角的 x 轴坐标,取值范围 [0, 1920],不能超过画布的宽。 :rtype: int """ return self._Left @Left.setter def Left(self, Left): self._Left = Left @property def Width(self): """画布上该画面宽度的相对值,取值范围 [0, 1920],与Left相加不应超过画布的宽。 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """画布上该画面高度的相对值,取值范围 [0, 1920],与Top相加不应超过画布的高。 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def UserId(self): """字符串内容为待显示在该画面的主播对应的UserId,如果不指定,会按照主播加入房间的顺序匹配。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def Alpha(self): """画布的透明度值,取值范围[0, 255]。0表示不透明,255表示全透明。默认值为0。 :rtype: int """ return self._Alpha @Alpha.setter def Alpha(self, Alpha): self._Alpha = Alpha @property def RenderMode(self): """0 :拉伸模式,这个模式下整个视频内容会全部显示,并填满子画面,在源视频和目的视频宽高比不一致的时候,画面不会缺少内容,但是画面可能产生形变; 1 :剪裁模式(默认),这个模式下会严格按照目的视频的宽高比对源视频剪裁之后再拉伸,并填满子画面画布,在源视频和目的视频宽高比不一致的时候,画面保持不变形,但是会被剪裁; 2 :填黑模式,这个模式下会严格保持源视频的宽高比进行等比缩放,在源视频和目的视频宽高比不一致的时候,画面的上下侧边缘或者左右侧边缘会露出子画面画布的背景; 3 :智能拉伸模式,这个模式类似剪裁模式,区别是在源视频和目的视频宽高比不一致的时候,限制了最大剪裁比例为画面的宽度或者高度的20%; :rtype: int """ return self._RenderMode @RenderMode.setter def RenderMode(self, RenderMode): self._RenderMode = RenderMode @property def MediaId(self): """对应订阅流的主辅路标识: 0:主流(默认); 1:辅流; :rtype: int """ return self._MediaId @MediaId.setter def MediaId(self, MediaId): self._MediaId = MediaId @property def ImageLayer(self): """该画布的图层顺序, 这个值越小表示图层越靠后。默认值为0。 :rtype: int """ return self._ImageLayer @ImageLayer.setter def ImageLayer(self, ImageLayer): self._ImageLayer = ImageLayer @property def SubBackgroundImage(self): """图片的url地址, 只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' :rtype: str """ return self._SubBackgroundImage @SubBackgroundImage.setter def SubBackgroundImage(self, SubBackgroundImage): self._SubBackgroundImage = SubBackgroundImage def _deserialize(self, params): self._Top = params.get("Top") self._Left = params.get("Left") self._Width = params.get("Width") self._Height = params.get("Height") self._UserId = params.get("UserId") self._Alpha = params.get("Alpha") self._RenderMode = params.get("RenderMode") self._MediaId = params.get("MediaId") self._ImageLayer = params.get("ImageLayer") self._SubBackgroundImage = params.get("SubBackgroundImage") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MixLayoutParams(AbstractModel): """录制的混流布局参数。 """ def __init__(self): r""" :param _MixLayoutMode: 布局模式: 1:悬浮布局; 2:屏幕分享布局; 3:九宫格布局; 4:自定义布局; 悬浮布局:默认第一个进入房间的主播(也可以指定一个主播)的视频画面会铺满整个屏幕。其他主播的视频画面从左下角开始依次按照进房顺序水平排列,显示为小画面,小画面悬浮于大画面之上。当画面数量小于等于17个时,每行4个(4 x 4排列)。当画面数量大于17个时,重新布局小画面为每行5个(5 x 5)排列。最多支持25个画面,如果用户只发送音频,仍然会占用画面位置。 屏幕分享布局:指定一个主播在屏幕左侧的大画面位置(如果不指定,那么大画面位置为背景色),其他主播自上而下依次垂直排列于右侧。当画面数量少于17个的时候,右侧每列最多8人,最多占据两列。当画面数量多于17个的时候,超过17个画面的主播从左下角开始依次水平排列。最多支持25个画面,如果主播只发送音频,仍然会占用画面位置。 九宫格布局:根据主播的数量自动调整每个画面的大小,每个主播的画面大小一致,最多支持25个画面。 自定义布局:根据需要在MixLayoutList内定制每个主播画面的布局。 :type MixLayoutMode: int :param _MixLayoutList: 如果MixLayoutMode 选择为4自定义布局模式的话,设置此参数为每个主播所对应的布局画面的详细信息,最大不超过25个。 :type MixLayoutList: list of MixLayout :param _BackGroundColor: 录制背景颜色,RGB的颜色表的16进制表示,每个颜色通过8bit长度标识,默认为黑色。比如橙色对应的RGB为 R:255 G:165 B:0, 那么对应的字符串描述为#FFA500,格式规范:‘#‘开头,后面跟固定RGB的颜色值 :type BackGroundColor: str :param _MaxResolutionUserId: 在布局模式为1:悬浮布局和 2:屏幕分享布局时,设定为显示大视频画面的UserId。不填的话:悬浮布局默认是第一个进房间的主播,屏幕分享布局默认是背景色 :type MaxResolutionUserId: str :param _MediaId: 主辅路标识, 0:主流(默认); 1:辅流(屏幕分享); 这个位置的MediaId代表的是对应MaxResolutionUserId的主辅路,MixLayoutList内代表的是自定义用户的主辅路。 :type MediaId: int :param _BackgroundImageUrl: 图片的url地址,只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' :type BackgroundImageUrl: str :param _PlaceHolderMode: 设置为1时代表启用占位图功能,0时代表不启用占位图功能,默认为0。启用占位图功能时,在预设位置的用户没有上行视频时可显示对应的占位图。 :type PlaceHolderMode: int :param _BackgroundImageRenderMode: 背景画面宽高比不一致的时候处理方案,与MixLayoufList定义的RenderMode一致。 :type BackgroundImageRenderMode: int :param _DefaultSubBackgroundImage: 子画面占位图url地址,只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' :type DefaultSubBackgroundImage: str :param _WaterMarkList: 水印布局参数, 最多支持25个。 :type WaterMarkList: list of WaterMark :param _RenderMode: 模板布局下,背景画面宽高比不一致的时候处理方案。自定义布局不生效,与MixLayoufList定义的RenderMode一致。 :type RenderMode: int :param _MaxResolutionUserAlign: 屏幕分享模板有效。设置为1时代表大画面居右,小画面居左布局。默认为0。 :type MaxResolutionUserAlign: int """ self._MixLayoutMode = None self._MixLayoutList = None self._BackGroundColor = None self._MaxResolutionUserId = None self._MediaId = None self._BackgroundImageUrl = None self._PlaceHolderMode = None self._BackgroundImageRenderMode = None self._DefaultSubBackgroundImage = None self._WaterMarkList = None self._RenderMode = None self._MaxResolutionUserAlign = None @property def MixLayoutMode(self): """布局模式: 1:悬浮布局; 2:屏幕分享布局; 3:九宫格布局; 4:自定义布局; 悬浮布局:默认第一个进入房间的主播(也可以指定一个主播)的视频画面会铺满整个屏幕。其他主播的视频画面从左下角开始依次按照进房顺序水平排列,显示为小画面,小画面悬浮于大画面之上。当画面数量小于等于17个时,每行4个(4 x 4排列)。当画面数量大于17个时,重新布局小画面为每行5个(5 x 5)排列。最多支持25个画面,如果用户只发送音频,仍然会占用画面位置。 屏幕分享布局:指定一个主播在屏幕左侧的大画面位置(如果不指定,那么大画面位置为背景色),其他主播自上而下依次垂直排列于右侧。当画面数量少于17个的时候,右侧每列最多8人,最多占据两列。当画面数量多于17个的时候,超过17个画面的主播从左下角开始依次水平排列。最多支持25个画面,如果主播只发送音频,仍然会占用画面位置。 九宫格布局:根据主播的数量自动调整每个画面的大小,每个主播的画面大小一致,最多支持25个画面。 自定义布局:根据需要在MixLayoutList内定制每个主播画面的布局。 :rtype: int """ return self._MixLayoutMode @MixLayoutMode.setter def MixLayoutMode(self, MixLayoutMode): self._MixLayoutMode = MixLayoutMode @property def MixLayoutList(self): """如果MixLayoutMode 选择为4自定义布局模式的话,设置此参数为每个主播所对应的布局画面的详细信息,最大不超过25个。 :rtype: list of MixLayout """ return self._MixLayoutList @MixLayoutList.setter def MixLayoutList(self, MixLayoutList): self._MixLayoutList = MixLayoutList @property def BackGroundColor(self): """录制背景颜色,RGB的颜色表的16进制表示,每个颜色通过8bit长度标识,默认为黑色。比如橙色对应的RGB为 R:255 G:165 B:0, 那么对应的字符串描述为#FFA500,格式规范:‘#‘开头,后面跟固定RGB的颜色值 :rtype: str """ return self._BackGroundColor @BackGroundColor.setter def BackGroundColor(self, BackGroundColor): self._BackGroundColor = BackGroundColor @property def MaxResolutionUserId(self): """在布局模式为1:悬浮布局和 2:屏幕分享布局时,设定为显示大视频画面的UserId。不填的话:悬浮布局默认是第一个进房间的主播,屏幕分享布局默认是背景色 :rtype: str """ return self._MaxResolutionUserId @MaxResolutionUserId.setter def MaxResolutionUserId(self, MaxResolutionUserId): self._MaxResolutionUserId = MaxResolutionUserId @property def MediaId(self): """主辅路标识, 0:主流(默认); 1:辅流(屏幕分享); 这个位置的MediaId代表的是对应MaxResolutionUserId的主辅路,MixLayoutList内代表的是自定义用户的主辅路。 :rtype: int """ return self._MediaId @MediaId.setter def MediaId(self, MediaId): self._MediaId = MediaId @property def BackgroundImageUrl(self): """图片的url地址,只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' :rtype: str """ return self._BackgroundImageUrl @BackgroundImageUrl.setter def BackgroundImageUrl(self, BackgroundImageUrl): self._BackgroundImageUrl = BackgroundImageUrl @property def PlaceHolderMode(self): """设置为1时代表启用占位图功能,0时代表不启用占位图功能,默认为0。启用占位图功能时,在预设位置的用户没有上行视频时可显示对应的占位图。 :rtype: int """ return self._PlaceHolderMode @PlaceHolderMode.setter def PlaceHolderMode(self, PlaceHolderMode): self._PlaceHolderMode = PlaceHolderMode @property def BackgroundImageRenderMode(self): """背景画面宽高比不一致的时候处理方案,与MixLayoufList定义的RenderMode一致。 :rtype: int """ return self._BackgroundImageRenderMode @BackgroundImageRenderMode.setter def BackgroundImageRenderMode(self, BackgroundImageRenderMode): self._BackgroundImageRenderMode = BackgroundImageRenderMode @property def DefaultSubBackgroundImage(self): """子画面占位图url地址,只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' :rtype: str """ return self._DefaultSubBackgroundImage @DefaultSubBackgroundImage.setter def DefaultSubBackgroundImage(self, DefaultSubBackgroundImage): self._DefaultSubBackgroundImage = DefaultSubBackgroundImage @property def WaterMarkList(self): """水印布局参数, 最多支持25个。 :rtype: list of WaterMark """ return self._WaterMarkList @WaterMarkList.setter def WaterMarkList(self, WaterMarkList): self._WaterMarkList = WaterMarkList @property def RenderMode(self): """模板布局下,背景画面宽高比不一致的时候处理方案。自定义布局不生效,与MixLayoufList定义的RenderMode一致。 :rtype: int """ return self._RenderMode @RenderMode.setter def RenderMode(self, RenderMode): self._RenderMode = RenderMode @property def MaxResolutionUserAlign(self): """屏幕分享模板有效。设置为1时代表大画面居右,小画面居左布局。默认为0。 :rtype: int """ return self._MaxResolutionUserAlign @MaxResolutionUserAlign.setter def MaxResolutionUserAlign(self, MaxResolutionUserAlign): self._MaxResolutionUserAlign = MaxResolutionUserAlign def _deserialize(self, params): self._MixLayoutMode = params.get("MixLayoutMode") if params.get("MixLayoutList") is not None: self._MixLayoutList = [] for item in params.get("MixLayoutList"): obj = MixLayout() obj._deserialize(item) self._MixLayoutList.append(obj) self._BackGroundColor = params.get("BackGroundColor") self._MaxResolutionUserId = params.get("MaxResolutionUserId") self._MediaId = params.get("MediaId") self._BackgroundImageUrl = params.get("BackgroundImageUrl") self._PlaceHolderMode = params.get("PlaceHolderMode") self._BackgroundImageRenderMode = params.get("BackgroundImageRenderMode") self._DefaultSubBackgroundImage = params.get("DefaultSubBackgroundImage") if params.get("WaterMarkList") is not None: self._WaterMarkList = [] for item in params.get("WaterMarkList"): obj = WaterMark() obj._deserialize(item) self._WaterMarkList.append(obj) self._RenderMode = params.get("RenderMode") self._MaxResolutionUserAlign = params.get("MaxResolutionUserAlign") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MixTranscodeParams(AbstractModel): """录制的音视频转码参数。 """ def __init__(self): r""" :param _VideoParams: 录制视频转码参数,注意如果设置了这个参数,那么里面的字段都是必填的,没有默认值,如果不填这个参数,那么取值为默认值。 :type VideoParams: :class:`tencentcloud.trtc.v20190722.models.VideoParams` :param _AudioParams: 录制音频转码参数,注意如果设置了这个参数,那么里面的字段都是必填的,没有默认值,如果不填这个参数,那么取值为默认值。 :type AudioParams: :class:`tencentcloud.trtc.v20190722.models.AudioParams` """ self._VideoParams = None self._AudioParams = None @property def VideoParams(self): """录制视频转码参数,注意如果设置了这个参数,那么里面的字段都是必填的,没有默认值,如果不填这个参数,那么取值为默认值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.VideoParams` """ return self._VideoParams @VideoParams.setter def VideoParams(self, VideoParams): self._VideoParams = VideoParams @property def AudioParams(self): """录制音频转码参数,注意如果设置了这个参数,那么里面的字段都是必填的,没有默认值,如果不填这个参数,那么取值为默认值。 :rtype: :class:`tencentcloud.trtc.v20190722.models.AudioParams` """ return self._AudioParams @AudioParams.setter def AudioParams(self, AudioParams): self._AudioParams = AudioParams def _deserialize(self, params): if params.get("VideoParams") is not None: self._VideoParams = VideoParams() self._VideoParams._deserialize(params.get("VideoParams")) if params.get("AudioParams") is not None: self._AudioParams = AudioParams() self._AudioParams._deserialize(params.get("AudioParams")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class MixUserInfo(AbstractModel): """TRTC用户参数。 """ def __init__(self): r""" :param _UserId: 用户ID。 :type UserId: str :param _RoomId: 动态布局时房间信息必须和主房间信息保持一致,自定义布局时房间信息必须和MixLayoutList中对应用户的房间信息保持一致,不填时默认与主房间信息一致。 :type RoomId: str :param _RoomIdType: 房间号类型,0为整型房间号,1为字符串房间号。 :type RoomIdType: int """ self._UserId = None self._RoomId = None self._RoomIdType = None @property def UserId(self): """用户ID。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def RoomId(self): """动态布局时房间信息必须和主房间信息保持一致,自定义布局时房间信息必须和MixLayoutList中对应用户的房间信息保持一致,不填时默认与主房间信息一致。 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def RoomIdType(self): """房间号类型,0为整型房间号,1为字符串房间号。 :rtype: int """ return self._RoomIdType @RoomIdType.setter def RoomIdType(self, RoomIdType): self._RoomIdType = RoomIdType def _deserialize(self, params): self._UserId = params.get("UserId") self._RoomId = params.get("RoomId") self._RoomIdType = params.get("RoomIdType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ModifyCloudRecordingRequest(AbstractModel): """ModifyCloudRecording请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId,和录制的房间所对应的SDKAppId相同。 :type SdkAppId: int :param _TaskId: 录制任务的唯一Id,在启动录制成功后会返回。 :type TaskId: str :param _MixLayoutParams: 需要更新的混流的布局参数。 :type MixLayoutParams: :class:`tencentcloud.trtc.v20190722.models.MixLayoutParams` :param _SubscribeStreamUserIds: 指定订阅流白名单或者黑名单。 :type SubscribeStreamUserIds: :class:`tencentcloud.trtc.v20190722.models.SubscribeStreamUserIds` """ self._SdkAppId = None self._TaskId = None self._MixLayoutParams = None self._SubscribeStreamUserIds = None @property def SdkAppId(self): """TRTC的SDKAppId,和录制的房间所对应的SDKAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """录制任务的唯一Id,在启动录制成功后会返回。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def MixLayoutParams(self): """需要更新的混流的布局参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.MixLayoutParams` """ return self._MixLayoutParams @MixLayoutParams.setter def MixLayoutParams(self, MixLayoutParams): self._MixLayoutParams = MixLayoutParams @property def SubscribeStreamUserIds(self): """指定订阅流白名单或者黑名单。 :rtype: :class:`tencentcloud.trtc.v20190722.models.SubscribeStreamUserIds` """ return self._SubscribeStreamUserIds @SubscribeStreamUserIds.setter def SubscribeStreamUserIds(self, SubscribeStreamUserIds): self._SubscribeStreamUserIds = SubscribeStreamUserIds def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") if params.get("MixLayoutParams") is not None: self._MixLayoutParams = MixLayoutParams() self._MixLayoutParams._deserialize(params.get("MixLayoutParams")) if params.get("SubscribeStreamUserIds") is not None: self._SubscribeStreamUserIds = SubscribeStreamUserIds() self._SubscribeStreamUserIds._deserialize(params.get("SubscribeStreamUserIds")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ModifyCloudRecordingResponse(AbstractModel): """ModifyCloudRecording返回参数结构体 """ def __init__(self): r""" :param _TaskId: 云录制服务分配的任务 ID。任务 ID 是对一次录制生命周期过程的唯一标识,结束录制时会失去意义。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """云录制服务分配的任务 ID。任务 ID 是对一次录制生命周期过程的唯一标识,结束录制时会失去意义。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class ModifyPictureRequest(AbstractModel): """ModifyPicture请求参数结构体 """ def __init__(self): r""" :param _PictureId: 图片id :type PictureId: int :param _SdkAppId: 应用id :type SdkAppId: int :param _Height: 图片长度 :type Height: int :param _Width: 图片宽度 :type Width: int :param _XPosition: 显示位置x轴方向 :type XPosition: int :param _YPosition: 显示位置y轴方向 :type YPosition: int """ self._PictureId = None self._SdkAppId = None self._Height = None self._Width = None self._XPosition = None self._YPosition = None @property def PictureId(self): """图片id :rtype: int """ return self._PictureId @PictureId.setter def PictureId(self, PictureId): self._PictureId = PictureId @property def SdkAppId(self): """应用id :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def Height(self): """图片长度 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def Width(self): """图片宽度 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def XPosition(self): """显示位置x轴方向 :rtype: int """ return self._XPosition @XPosition.setter def XPosition(self, XPosition): self._XPosition = XPosition @property def YPosition(self): """显示位置y轴方向 :rtype: int """ return self._YPosition @YPosition.setter def YPosition(self, YPosition): self._YPosition = YPosition def _deserialize(self, params): self._PictureId = params.get("PictureId") self._SdkAppId = params.get("SdkAppId") self._Height = params.get("Height") self._Width = params.get("Width") self._XPosition = params.get("XPosition") self._YPosition = params.get("YPosition") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ModifyPictureResponse(AbstractModel): """ModifyPicture返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class OneSdkAppIdTranscodeTimeUsagesInfo(AbstractModel): """旁路转码时长的查询结果 """ def __init__(self): r""" :param _SdkAppIdTranscodeTimeUsages: 旁路转码时长查询结果数组 :type SdkAppIdTranscodeTimeUsages: list of SdkAppIdTrtcMcuTranscodeTimeUsage :param _TotalNum: 查询记录数量 :type TotalNum: int :param _SdkAppId: 所查询的应用ID,可能值为:1-应用的应用ID,2-total,显示为total则表示查询的是所有应用的用量合计值。 :type SdkAppId: str """ self._SdkAppIdTranscodeTimeUsages = None self._TotalNum = None self._SdkAppId = None @property def SdkAppIdTranscodeTimeUsages(self): """旁路转码时长查询结果数组 :rtype: list of SdkAppIdTrtcMcuTranscodeTimeUsage """ return self._SdkAppIdTranscodeTimeUsages @SdkAppIdTranscodeTimeUsages.setter def SdkAppIdTranscodeTimeUsages(self, SdkAppIdTranscodeTimeUsages): self._SdkAppIdTranscodeTimeUsages = SdkAppIdTranscodeTimeUsages @property def TotalNum(self): """查询记录数量 :rtype: int """ return self._TotalNum @TotalNum.setter def TotalNum(self, TotalNum): self._TotalNum = TotalNum @property def SdkAppId(self): """所查询的应用ID,可能值为:1-应用的应用ID,2-total,显示为total则表示查询的是所有应用的用量合计值。 :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId def _deserialize(self, params): if params.get("SdkAppIdTranscodeTimeUsages") is not None: self._SdkAppIdTranscodeTimeUsages = [] for item in params.get("SdkAppIdTranscodeTimeUsages"): obj = SdkAppIdTrtcMcuTranscodeTimeUsage() obj._deserialize(item) self._SdkAppIdTranscodeTimeUsages.append(obj) self._TotalNum = params.get("TotalNum") self._SdkAppId = params.get("SdkAppId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class OutputParams(AbstractModel): """MCU混流的输出参数 """ def __init__(self): r""" :param _StreamId: 直播流 ID,由用户自定义设置,该流 ID 不能与用户旁路的流 ID 相同,限制64字节。 :type StreamId: str :param _PureAudioStream: 取值范围[0,1], 填0:直播流为音视频(默认); 填1:直播流为纯音频 :type PureAudioStream: int :param _RecordId: 自定义录制文件名称前缀。请先在实时音视频控制台开通录制功能,https://cloud.tencent.com/document/product/647/50768。 【注意】该方式仅对旧版云端录制功能的应用生效,新版云端录制功能的应用请用接口CreateCloudRecording发起录制。新、旧云端录制类型判断方式请见:https://cloud.tencent.com/document/product/647/50768#record :type RecordId: str :param _RecordAudioOnly: 取值范围[0,1],填0无实际含义; 填1:指定录制文件格式为mp3。此参数不建议使用,建议在实时音视频控制台配置纯音频录制模板。 :type RecordAudioOnly: int """ self._StreamId = None self._PureAudioStream = None self._RecordId = None self._RecordAudioOnly = None @property def StreamId(self): """直播流 ID,由用户自定义设置,该流 ID 不能与用户旁路的流 ID 相同,限制64字节。 :rtype: str """ return self._StreamId @StreamId.setter def StreamId(self, StreamId): self._StreamId = StreamId @property def PureAudioStream(self): """取值范围[0,1], 填0:直播流为音视频(默认); 填1:直播流为纯音频 :rtype: int """ return self._PureAudioStream @PureAudioStream.setter def PureAudioStream(self, PureAudioStream): self._PureAudioStream = PureAudioStream @property def RecordId(self): """自定义录制文件名称前缀。请先在实时音视频控制台开通录制功能,https://cloud.tencent.com/document/product/647/50768。 【注意】该方式仅对旧版云端录制功能的应用生效,新版云端录制功能的应用请用接口CreateCloudRecording发起录制。新、旧云端录制类型判断方式请见:https://cloud.tencent.com/document/product/647/50768#record :rtype: str """ return self._RecordId @RecordId.setter def RecordId(self, RecordId): self._RecordId = RecordId @property def RecordAudioOnly(self): """取值范围[0,1],填0无实际含义; 填1:指定录制文件格式为mp3。此参数不建议使用,建议在实时音视频控制台配置纯音频录制模板。 :rtype: int """ return self._RecordAudioOnly @RecordAudioOnly.setter def RecordAudioOnly(self, RecordAudioOnly): self._RecordAudioOnly = RecordAudioOnly def _deserialize(self, params): self._StreamId = params.get("StreamId") self._PureAudioStream = params.get("PureAudioStream") self._RecordId = params.get("RecordId") self._RecordAudioOnly = params.get("RecordAudioOnly") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PictureInfo(AbstractModel): """图片列表信息 """ def __init__(self): r""" :param _Height: 图片长度 :type Height: int :param _Width: 图片宽度 :type Width: int :param _XPosition: 显示位置x轴方向 :type XPosition: int :param _YPosition: 显示位置y轴方向 :type YPosition: int :param _SdkAppId: 应用id :type SdkAppId: int :param _PictureId: 图片id :type PictureId: int """ self._Height = None self._Width = None self._XPosition = None self._YPosition = None self._SdkAppId = None self._PictureId = None @property def Height(self): """图片长度 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def Width(self): """图片宽度 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def XPosition(self): """显示位置x轴方向 :rtype: int """ return self._XPosition @XPosition.setter def XPosition(self, XPosition): self._XPosition = XPosition @property def YPosition(self): """显示位置y轴方向 :rtype: int """ return self._YPosition @YPosition.setter def YPosition(self, YPosition): self._YPosition = YPosition @property def SdkAppId(self): """应用id :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def PictureId(self): """图片id :rtype: int """ return self._PictureId @PictureId.setter def PictureId(self, PictureId): self._PictureId = PictureId def _deserialize(self, params): self._Height = params.get("Height") self._Width = params.get("Width") self._XPosition = params.get("XPosition") self._YPosition = params.get("YPosition") self._SdkAppId = params.get("SdkAppId") self._PictureId = params.get("PictureId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PresetLayoutConfig(AbstractModel): """自定义模板中有效,指定用户视频在混合画面中的位置。 """ def __init__(self): r""" :param _UserId: 指定显示在该画面上的用户ID。如果不指定用户ID,会按照用户加入房间的顺序自动匹配PresetLayoutConfig中的画面设置。 :type UserId: str :param _StreamType: 当该画面指定用户时,代表用户的流类型。0为摄像头,1为屏幕分享。小画面为web用户时此值填0。 :type StreamType: int :param _ImageWidth: 该画面在输出时的宽度,单位为像素值,不填默认为0。 :type ImageWidth: int :param _ImageHeight: 该画面在输出时的高度,单位为像素值,不填默认为0。 :type ImageHeight: int :param _LocationX: 该画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。 :type LocationX: int :param _LocationY: 该画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。 :type LocationY: int :param _ZOrder: 该画面在输出时的层级,不填默认为0。 :type ZOrder: int :param _RenderMode: 该画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底。不填默认为0。 :type RenderMode: int :param _MixInputType: 该当前位置用户混入的流类型:0为混入音视频,1为只混入视频,2为只混入音频。默认为0,建议配合指定用户ID使用。 :type MixInputType: int :param _PlaceImageId: 占位图ID。启用占位图功能时,在当前位置的用户没有上行视频时显示占位图。占位图大小不能超过2M,在实时音视频控制台上传并生成,https://cloud.tencent.com/document/product/647/50769 :type PlaceImageId: int """ self._UserId = None self._StreamType = None self._ImageWidth = None self._ImageHeight = None self._LocationX = None self._LocationY = None self._ZOrder = None self._RenderMode = None self._MixInputType = None self._PlaceImageId = None @property def UserId(self): """指定显示在该画面上的用户ID。如果不指定用户ID,会按照用户加入房间的顺序自动匹配PresetLayoutConfig中的画面设置。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def StreamType(self): """当该画面指定用户时,代表用户的流类型。0为摄像头,1为屏幕分享。小画面为web用户时此值填0。 :rtype: int """ return self._StreamType @StreamType.setter def StreamType(self, StreamType): self._StreamType = StreamType @property def ImageWidth(self): """该画面在输出时的宽度,单位为像素值,不填默认为0。 :rtype: int """ return self._ImageWidth @ImageWidth.setter def ImageWidth(self, ImageWidth): self._ImageWidth = ImageWidth @property def ImageHeight(self): """该画面在输出时的高度,单位为像素值,不填默认为0。 :rtype: int """ return self._ImageHeight @ImageHeight.setter def ImageHeight(self, ImageHeight): self._ImageHeight = ImageHeight @property def LocationX(self): """该画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。 :rtype: int """ return self._LocationX @LocationX.setter def LocationX(self, LocationX): self._LocationX = LocationX @property def LocationY(self): """该画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。 :rtype: int """ return self._LocationY @LocationY.setter def LocationY(self, LocationY): self._LocationY = LocationY @property def ZOrder(self): """该画面在输出时的层级,不填默认为0。 :rtype: int """ return self._ZOrder @ZOrder.setter def ZOrder(self, ZOrder): self._ZOrder = ZOrder @property def RenderMode(self): """该画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底。不填默认为0。 :rtype: int """ return self._RenderMode @RenderMode.setter def RenderMode(self, RenderMode): self._RenderMode = RenderMode @property def MixInputType(self): """该当前位置用户混入的流类型:0为混入音视频,1为只混入视频,2为只混入音频。默认为0,建议配合指定用户ID使用。 :rtype: int """ return self._MixInputType @MixInputType.setter def MixInputType(self, MixInputType): self._MixInputType = MixInputType @property def PlaceImageId(self): """占位图ID。启用占位图功能时,在当前位置的用户没有上行视频时显示占位图。占位图大小不能超过2M,在实时音视频控制台上传并生成,https://cloud.tencent.com/document/product/647/50769 :rtype: int """ return self._PlaceImageId @PlaceImageId.setter def PlaceImageId(self, PlaceImageId): self._PlaceImageId = PlaceImageId def _deserialize(self, params): self._UserId = params.get("UserId") self._StreamType = params.get("StreamType") self._ImageWidth = params.get("ImageWidth") self._ImageHeight = params.get("ImageHeight") self._LocationX = params.get("LocationX") self._LocationY = params.get("LocationY") self._ZOrder = params.get("ZOrder") self._RenderMode = params.get("RenderMode") self._MixInputType = params.get("MixInputType") self._PlaceImageId = params.get("PlaceImageId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class PublishCdnParams(AbstractModel): """第三方CDN转推参数 """ def __init__(self): r""" :param _BizId: 腾讯云直播BizId。 :type BizId: int :param _PublishCdnUrls: 第三方CDN转推的目的地址,同时只支持转推一个第三方CDN地址。 :type PublishCdnUrls: list of str """ self._BizId = None self._PublishCdnUrls = None @property def BizId(self): """腾讯云直播BizId。 :rtype: int """ return self._BizId @BizId.setter def BizId(self, BizId): self._BizId = BizId @property def PublishCdnUrls(self): """第三方CDN转推的目的地址,同时只支持转推一个第三方CDN地址。 :rtype: list of str """ return self._PublishCdnUrls @PublishCdnUrls.setter def PublishCdnUrls(self, PublishCdnUrls): self._PublishCdnUrls = PublishCdnUrls def _deserialize(self, params): self._BizId = params.get("BizId") self._PublishCdnUrls = params.get("PublishCdnUrls") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class QualityData(AbstractModel): """Es返回的质量数据 """ def __init__(self): r""" :param _Content: 数据内容 :type Content: list of TimeValue :param _UserId: 用户ID :type UserId: str :param _PeerId: 对端Id,为空时表示上行数据 :type PeerId: str :param _DataType: 数据类型 :type DataType: str """ self._Content = None self._UserId = None self._PeerId = None self._DataType = None @property def Content(self): """数据内容 :rtype: list of TimeValue """ return self._Content @Content.setter def Content(self, Content): self._Content = Content @property def UserId(self): """用户ID :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def PeerId(self): """对端Id,为空时表示上行数据 :rtype: str """ return self._PeerId @PeerId.setter def PeerId(self, PeerId): self._PeerId = PeerId @property def DataType(self): """数据类型 :rtype: str """ return self._DataType @DataType.setter def DataType(self, DataType): self._DataType = DataType def _deserialize(self, params): if params.get("Content") is not None: self._Content = [] for item in params.get("Content"): obj = TimeValue() obj._deserialize(item) self._Content.append(obj) self._UserId = params.get("UserId") self._PeerId = params.get("PeerId") self._DataType = params.get("DataType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RecognizeConfig(AbstractModel): """语音识别使用的配置 """ def __init__(self): r""" :param _Language: 语音转文字支持识别的语言,默认是"zh" 中文 可通过购买「AI智能识别时长包」解锁或领取包月套餐体验版解锁不同语言. 详细说明参考:[AI智能识别计费说明](https://cloud.tencent.com/document/product/647/111976) 语音转文本不同套餐版本支持的语言如下: **基础版**: - "zh": 中文 - "zh-TW": 中国台湾 - "en": 英语 **标准版:** - "8k_zh_large": 普方大模型引擎. 当前模型同时支持中文等语言的识别,模型参数量极大,语言模型性能增强,针对电话音频中各类场景、各类中文方言的识别准确率极大提升. - "16k_zh_large": 普方英大模型引擎. 当前模型同时支持中文、英文、多种中文方言等语言的识别,模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升. - "16k_multi_lang": 多语种大模型引擎. 当前模型同时支持英语、日语、韩语、阿拉伯语、菲律宾语、法语、印地语、印尼语、马来语、葡萄牙语、西班牙语、泰语、土耳其语、越南语、德语的识别,可实现15个语种的自动识别(句子/段落级别). - "16k_zh_en": 中英大模型引擎. 当前模型同时支持中文、英语识别,模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升. **高级版:** - "zh-dialect": 中国方言 - "zh-yue": 中国粤语 - "vi": 越南语 - "ja": 日语 - "ko": 韩语 - "id": 印度尼西亚语 - "th": 泰语 - "pt": 葡萄牙语 - "tr": 土耳其语 - "ar": 阿拉伯语 - "es": 西班牙语 - "hi": 印地语 - "fr": 法语 - "ms": 马来语 - "fil": 菲律宾语 - "de": 德语 - "it": 意大利语 - "ru": 俄语 - "sv": 瑞典语 - "da": 丹麦语 - "no": 挪威语 **注意:** 如果缺少满足您需求的语言,请联系我们技术人员。 示例值:zh :type Language: str :param _AlternativeLanguage: **发起模糊识别为高级版能力,默认按照高级版收费,仅支持填写基础版和高级版语言.** 注意:不支持填写"zh-dialect" :type AlternativeLanguage: list of str :param _Model: 目前已不支持 :type Model: str :param _TranslationLanguage: 填写则翻译,目前支持的语言: 中文: zh 英语: en 越南语: vi 日语: ja 韩语: ko 印度尼西亚语: id 泰语: th 葡萄牙语: pt 土耳其语: tr 阿拉伯语: ar 西班牙语: es 印地语: hi 法语: fr 马来语: ms 菲律宾语: fil 德语: de 意大利语: it 俄语: ru 瑞典语: sv 挪威语: no 丹麦语: da :type TranslationLanguage: str """ self._Language = None self._AlternativeLanguage = None self._Model = None self._TranslationLanguage = None @property def Language(self): """ 语音转文字支持识别的语言,默认是"zh" 中文 可通过购买「AI智能识别时长包」解锁或领取包月套餐体验版解锁不同语言. 详细说明参考:[AI智能识别计费说明](https://cloud.tencent.com/document/product/647/111976) 语音转文本不同套餐版本支持的语言如下: **基础版**: - "zh": 中文 - "zh-TW": 中国台湾 - "en": 英语 **标准版:** - "8k_zh_large": 普方大模型引擎. 当前模型同时支持中文等语言的识别,模型参数量极大,语言模型性能增强,针对电话音频中各类场景、各类中文方言的识别准确率极大提升. - "16k_zh_large": 普方英大模型引擎. 当前模型同时支持中文、英文、多种中文方言等语言的识别,模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升. - "16k_multi_lang": 多语种大模型引擎. 当前模型同时支持英语、日语、韩语、阿拉伯语、菲律宾语、法语、印地语、印尼语、马来语、葡萄牙语、西班牙语、泰语、土耳其语、越南语、德语的识别,可实现15个语种的自动识别(句子/段落级别). - "16k_zh_en": 中英大模型引擎. 当前模型同时支持中文、英语识别,模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升. **高级版:** - "zh-dialect": 中国方言 - "zh-yue": 中国粤语 - "vi": 越南语 - "ja": 日语 - "ko": 韩语 - "id": 印度尼西亚语 - "th": 泰语 - "pt": 葡萄牙语 - "tr": 土耳其语 - "ar": 阿拉伯语 - "es": 西班牙语 - "hi": 印地语 - "fr": 法语 - "ms": 马来语 - "fil": 菲律宾语 - "de": 德语 - "it": 意大利语 - "ru": 俄语 - "sv": 瑞典语 - "da": 丹麦语 - "no": 挪威语 **注意:** 如果缺少满足您需求的语言,请联系我们技术人员。 示例值:zh :rtype: str """ return self._Language @Language.setter def Language(self, Language): self._Language = Language @property def AlternativeLanguage(self): """**发起模糊识别为高级版能力,默认按照高级版收费,仅支持填写基础版和高级版语言.** 注意:不支持填写"zh-dialect" :rtype: list of str """ return self._AlternativeLanguage @AlternativeLanguage.setter def AlternativeLanguage(self, AlternativeLanguage): self._AlternativeLanguage = AlternativeLanguage @property def Model(self): warnings.warn("parameter `Model` is deprecated", DeprecationWarning) """目前已不支持 :rtype: str """ return self._Model @Model.setter def Model(self, Model): warnings.warn("parameter `Model` is deprecated", DeprecationWarning) self._Model = Model @property def TranslationLanguage(self): warnings.warn("parameter `TranslationLanguage` is deprecated", DeprecationWarning) """填写则翻译,目前支持的语言: 中文: zh 英语: en 越南语: vi 日语: ja 韩语: ko 印度尼西亚语: id 泰语: th 葡萄牙语: pt 土耳其语: tr 阿拉伯语: ar 西班牙语: es 印地语: hi 法语: fr 马来语: ms 菲律宾语: fil 德语: de 意大利语: it 俄语: ru 瑞典语: sv 挪威语: no 丹麦语: da :rtype: str """ return self._TranslationLanguage @TranslationLanguage.setter def TranslationLanguage(self, TranslationLanguage): warnings.warn("parameter `TranslationLanguage` is deprecated", DeprecationWarning) self._TranslationLanguage = TranslationLanguage def _deserialize(self, params): self._Language = params.get("Language") self._AlternativeLanguage = params.get("AlternativeLanguage") self._Model = params.get("Model") self._TranslationLanguage = params.get("TranslationLanguage") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RecordParams(AbstractModel): """云端录制控制参数。 """ def __init__(self): r""" :param _RecordMode: 录制模式: 1:单流录制,分别录制房间的订阅UserId的音频和视频,将录制文件上传至云存储; 2:合流录制,将房间内订阅UserId的音视频混录成一个音视频文件,将录制文件上传至云存储; :type RecordMode: int :param _MaxIdleTime: 房间内持续没有主播的状态超过MaxIdleTime的时长,自动停止录制,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。 :type MaxIdleTime: int :param _StreamType: 录制的媒体流类型: 0:录制音频+视频流(默认); 1:仅录制音频流; 2:仅录制视频流, :type StreamType: int :param _SubscribeStreamUserIds: 指定订阅流白名单或者黑名单。 :type SubscribeStreamUserIds: :class:`tencentcloud.trtc.v20190722.models.SubscribeStreamUserIds` :param _OutputFormat: 输出文件的格式(存储至COS等第三方存储时有效)。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4。2:输出文件格式为hls+aac 。3:输出文件格式为mp4。4:输出文件格式为aac。 存储到云点播VOD时此参数无效,存储到VOD时请通过TencentVod(https://cloud.tencent.com/document/api/647/44055#TencentVod)内的MediaType设置。 :type OutputFormat: int :param _AvMerge: 单流录制模式下,用户的音视频是否合并,0:单流音视频不合并(默认)。1:单流音视频合并成一个ts。合流录制此参数无需设置,默认音视频合并。 :type AvMerge: int :param _MaxMediaFileDuration: 如果是aac或者mp4文件格式,超过长度限制后,系统会自动拆分视频文件。单位:分钟。默认为1440min(24h),取值范围为1-1440。【单文件限制最大为2G,满足文件大小 >2G 或录制时长度 > 24h任意一个条件,文件都会自动切分】 Hls 格式录制此参数不生效。 :type MaxMediaFileDuration: int :param _MediaId: 指定录制主辅流,0:主流+辅流(默认);1:主流;2:辅流。 :type MediaId: int :param _FillType: 上行视频停止时,录制的补帧类型,0:补最后一帧 1:补黑帧 :type FillType: int """ self._RecordMode = None self._MaxIdleTime = None self._StreamType = None self._SubscribeStreamUserIds = None self._OutputFormat = None self._AvMerge = None self._MaxMediaFileDuration = None self._MediaId = None self._FillType = None @property def RecordMode(self): """录制模式: 1:单流录制,分别录制房间的订阅UserId的音频和视频,将录制文件上传至云存储; 2:合流录制,将房间内订阅UserId的音视频混录成一个音视频文件,将录制文件上传至云存储; :rtype: int """ return self._RecordMode @RecordMode.setter def RecordMode(self, RecordMode): self._RecordMode = RecordMode @property def MaxIdleTime(self): """房间内持续没有主播的状态超过MaxIdleTime的时长,自动停止录制,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。 :rtype: int """ return self._MaxIdleTime @MaxIdleTime.setter def MaxIdleTime(self, MaxIdleTime): self._MaxIdleTime = MaxIdleTime @property def StreamType(self): """录制的媒体流类型: 0:录制音频+视频流(默认); 1:仅录制音频流; 2:仅录制视频流, :rtype: int """ return self._StreamType @StreamType.setter def StreamType(self, StreamType): self._StreamType = StreamType @property def SubscribeStreamUserIds(self): """指定订阅流白名单或者黑名单。 :rtype: :class:`tencentcloud.trtc.v20190722.models.SubscribeStreamUserIds` """ return self._SubscribeStreamUserIds @SubscribeStreamUserIds.setter def SubscribeStreamUserIds(self, SubscribeStreamUserIds): self._SubscribeStreamUserIds = SubscribeStreamUserIds @property def OutputFormat(self): """输出文件的格式(存储至COS等第三方存储时有效)。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4。2:输出文件格式为hls+aac 。3:输出文件格式为mp4。4:输出文件格式为aac。 存储到云点播VOD时此参数无效,存储到VOD时请通过TencentVod(https://cloud.tencent.com/document/api/647/44055#TencentVod)内的MediaType设置。 :rtype: int """ return self._OutputFormat @OutputFormat.setter def OutputFormat(self, OutputFormat): self._OutputFormat = OutputFormat @property def AvMerge(self): """单流录制模式下,用户的音视频是否合并,0:单流音视频不合并(默认)。1:单流音视频合并成一个ts。合流录制此参数无需设置,默认音视频合并。 :rtype: int """ return self._AvMerge @AvMerge.setter def AvMerge(self, AvMerge): self._AvMerge = AvMerge @property def MaxMediaFileDuration(self): """如果是aac或者mp4文件格式,超过长度限制后,系统会自动拆分视频文件。单位:分钟。默认为1440min(24h),取值范围为1-1440。【单文件限制最大为2G,满足文件大小 >2G 或录制时长度 > 24h任意一个条件,文件都会自动切分】 Hls 格式录制此参数不生效。 :rtype: int """ return self._MaxMediaFileDuration @MaxMediaFileDuration.setter def MaxMediaFileDuration(self, MaxMediaFileDuration): self._MaxMediaFileDuration = MaxMediaFileDuration @property def MediaId(self): """指定录制主辅流,0:主流+辅流(默认);1:主流;2:辅流。 :rtype: int """ return self._MediaId @MediaId.setter def MediaId(self, MediaId): self._MediaId = MediaId @property def FillType(self): """上行视频停止时,录制的补帧类型,0:补最后一帧 1:补黑帧 :rtype: int """ return self._FillType @FillType.setter def FillType(self, FillType): self._FillType = FillType def _deserialize(self, params): self._RecordMode = params.get("RecordMode") self._MaxIdleTime = params.get("MaxIdleTime") self._StreamType = params.get("StreamType") if params.get("SubscribeStreamUserIds") is not None: self._SubscribeStreamUserIds = SubscribeStreamUserIds() self._SubscribeStreamUserIds._deserialize(params.get("SubscribeStreamUserIds")) self._OutputFormat = params.get("OutputFormat") self._AvMerge = params.get("AvMerge") self._MaxMediaFileDuration = params.get("MaxMediaFileDuration") self._MediaId = params.get("MediaId") self._FillType = params.get("FillType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RecordUsage(AbstractModel): """录制的使用信息。 """ def __init__(self): r""" :param _TimeKey: 本组数据对应的时间点,格式如:2020-09-07或2020-09-07 00:05:05。 :type TimeKey: str :param _Class1VideoTime: 视频时长-标清SD,单位:秒。 :type Class1VideoTime: int :param _Class2VideoTime: 视频时长-高清HD,单位:秒。 :type Class2VideoTime: int :param _Class3VideoTime: 视频时长-超清HD,单位:秒。 :type Class3VideoTime: int :param _AudioTime: 语音时长,单位:秒。 :type AudioTime: int """ self._TimeKey = None self._Class1VideoTime = None self._Class2VideoTime = None self._Class3VideoTime = None self._AudioTime = None @property def TimeKey(self): """本组数据对应的时间点,格式如:2020-09-07或2020-09-07 00:05:05。 :rtype: str """ return self._TimeKey @TimeKey.setter def TimeKey(self, TimeKey): self._TimeKey = TimeKey @property def Class1VideoTime(self): """视频时长-标清SD,单位:秒。 :rtype: int """ return self._Class1VideoTime @Class1VideoTime.setter def Class1VideoTime(self, Class1VideoTime): self._Class1VideoTime = Class1VideoTime @property def Class2VideoTime(self): """视频时长-高清HD,单位:秒。 :rtype: int """ return self._Class2VideoTime @Class2VideoTime.setter def Class2VideoTime(self, Class2VideoTime): self._Class2VideoTime = Class2VideoTime @property def Class3VideoTime(self): """视频时长-超清HD,单位:秒。 :rtype: int """ return self._Class3VideoTime @Class3VideoTime.setter def Class3VideoTime(self, Class3VideoTime): self._Class3VideoTime = Class3VideoTime @property def AudioTime(self): """语音时长,单位:秒。 :rtype: int """ return self._AudioTime @AudioTime.setter def AudioTime(self, AudioTime): self._AudioTime = AudioTime def _deserialize(self, params): self._TimeKey = params.get("TimeKey") self._Class1VideoTime = params.get("Class1VideoTime") self._Class2VideoTime = params.get("Class2VideoTime") self._Class3VideoTime = params.get("Class3VideoTime") self._AudioTime = params.get("AudioTime") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RemoveUserByStrRoomIdRequest(AbstractModel): """RemoveUserByStrRoomId请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId。 :type SdkAppId: int :param _RoomId: 房间号。 :type RoomId: str :param _UserIds: 要移出的用户列表,最多10个。 :type UserIds: list of str """ self._SdkAppId = None self._RoomId = None self._UserIds = None @property def SdkAppId(self): """TRTC的SDKAppId。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """房间号。 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def UserIds(self): """要移出的用户列表,最多10个。 :rtype: list of str """ return self._UserIds @UserIds.setter def UserIds(self, UserIds): self._UserIds = UserIds def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") self._UserIds = params.get("UserIds") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RemoveUserByStrRoomIdResponse(AbstractModel): """RemoveUserByStrRoomId返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class RemoveUserRequest(AbstractModel): """RemoveUser请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId。 :type SdkAppId: int :param _RoomId: 房间号。 :type RoomId: int :param _UserIds: 要移出的用户列表,最多10个。 :type UserIds: list of str """ self._SdkAppId = None self._RoomId = None self._UserIds = None @property def SdkAppId(self): """TRTC的SDKAppId。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """房间号。 :rtype: int """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def UserIds(self): """要移出的用户列表,最多10个。 :rtype: list of str """ return self._UserIds @UserIds.setter def UserIds(self, UserIds): self._UserIds = UserIds def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") self._UserIds = params.get("UserIds") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RemoveUserResponse(AbstractModel): """RemoveUser返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class RoomState(AbstractModel): """房间信息列表 """ def __init__(self): r""" :param _CommId: 通话ID(唯一标识一次通话) :type CommId: str :param _RoomString: 房间号 :type RoomString: str :param _CreateTime: 房间创建时间 :type CreateTime: int :param _DestroyTime: 房间销毁时间 :type DestroyTime: int :param _IsFinished: 房间是否已经结束 :type IsFinished: bool :param _UserId: 房间创建者Id :type UserId: str """ self._CommId = None self._RoomString = None self._CreateTime = None self._DestroyTime = None self._IsFinished = None self._UserId = None @property def CommId(self): """通话ID(唯一标识一次通话) :rtype: str """ return self._CommId @CommId.setter def CommId(self, CommId): self._CommId = CommId @property def RoomString(self): """房间号 :rtype: str """ return self._RoomString @RoomString.setter def RoomString(self, RoomString): self._RoomString = RoomString @property def CreateTime(self): """房间创建时间 :rtype: int """ return self._CreateTime @CreateTime.setter def CreateTime(self, CreateTime): self._CreateTime = CreateTime @property def DestroyTime(self): """房间销毁时间 :rtype: int """ return self._DestroyTime @DestroyTime.setter def DestroyTime(self, DestroyTime): self._DestroyTime = DestroyTime @property def IsFinished(self): """房间是否已经结束 :rtype: bool """ return self._IsFinished @IsFinished.setter def IsFinished(self, IsFinished): self._IsFinished = IsFinished @property def UserId(self): """房间创建者Id :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId def _deserialize(self, params): self._CommId = params.get("CommId") self._RoomString = params.get("RoomString") self._CreateTime = params.get("CreateTime") self._DestroyTime = params.get("DestroyTime") self._IsFinished = params.get("IsFinished") self._UserId = params.get("UserId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class RowValues(AbstractModel): """SeriesInfo类型的二维数组 """ def __init__(self): r""" :param _RowValue: 数据值 注意:此字段可能返回 null,表示取不到有效值。 :type RowValue: list of int """ self._RowValue = None @property def RowValue(self): """数据值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of int """ return self._RowValue @RowValue.setter def RowValue(self, RowValue): self._RowValue = RowValue def _deserialize(self, params): self._RowValue = params.get("RowValue") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class STTConfig(AbstractModel): """语音转文字参数 """ def __init__(self): r""" :param _Language: 语音转文字支持识别的语言,默认是"zh" 中文 可通过购买「AI智能识别时长包」解锁或领取包月套餐体验版解锁不同语言. 详细说明参考:[AI智能识别计费说明](https://cloud.tencent.com/document/product/647/111976) 语音转文本不同套餐版本支持的语言如下: **基础版**: - "zh": 中文 - "zh-TW": 中国台湾 - "en": 英语 **标准版:** - "8k_zh_large": 普方大模型引擎. 当前模型同时支持中文等语言的识别,模型参数量极大,语言模型性能增强,针对电话音频中各类场景、各类中文方言的识别准确率极大提升. - "16k_zh_large": 普方英大模型引擎. 当前模型同时支持中文、英文、多种中文方言等语言的识别,模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升. - "16k_multi_lang": 多语种大模型引擎. 当前模型同时支持英语、日语、韩语、阿拉伯语、菲律宾语、法语、印地语、印尼语、马来语、葡萄牙语、西班牙语、泰语、土耳其语、越南语、德语的识别,可实现15个语种的自动识别(句子/段落级别). - "16k_zh_en": 中英大模型引擎. 当前模型同时支持中文、英语识别,模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升. **高级版:** - "zh-dialect": 中国方言 - "zh-yue": 中国粤语 - "vi": 越南语 - "ja": 日语 - "ko": 韩语 - "id": 印度尼西亚语 - "th": 泰语 - "pt": 葡萄牙语 - "tr": 土耳其语 - "ar": 阿拉伯语 - "es": 西班牙语 - "hi": 印地语 - "fr": 法语 - "ms": 马来语 - "fil": 菲律宾语 - "de": 德语 - "it": 意大利语 - "ru": 俄语 - "sv": 瑞典语 - "da": 丹麦语 - "no": 挪威语 **注意:** 如果缺少满足您需求的语言,请联系我们技术人员。 :type Language: str :param _AlternativeLanguage: **发起模糊识别为高级版能力,默认按照高级版收费,仅支持填写基础版和高级版语言.** 注意:不支持填写"zh-dialect" :type AlternativeLanguage: list of str :param _CustomParam: 自定义参数,联系后台使用 :type CustomParam: str :param _VadSilenceTime: 语音识别vad的时间,范围为240-2000,默认为1000,单位为ms。更小的值会让语音识别分句更快。 :type VadSilenceTime: int :param _HotWordList: 热词表:该参数用于提升识别准确率。 单个热词限制:"热词|权重",单个热词不超过30个字符(最多10个汉字),权重[1-11]或者100,如:“腾讯云|5” 或 “ASR|11”; 热词表限制:多个热词用英文逗号分割,最多支持128个热词,如:“腾讯云|10,语音识别|5,ASR|11”; :type HotWordList: str """ self._Language = None self._AlternativeLanguage = None self._CustomParam = None self._VadSilenceTime = None self._HotWordList = None @property def Language(self): """ 语音转文字支持识别的语言,默认是"zh" 中文 可通过购买「AI智能识别时长包」解锁或领取包月套餐体验版解锁不同语言. 详细说明参考:[AI智能识别计费说明](https://cloud.tencent.com/document/product/647/111976) 语音转文本不同套餐版本支持的语言如下: **基础版**: - "zh": 中文 - "zh-TW": 中国台湾 - "en": 英语 **标准版:** - "8k_zh_large": 普方大模型引擎. 当前模型同时支持中文等语言的识别,模型参数量极大,语言模型性能增强,针对电话音频中各类场景、各类中文方言的识别准确率极大提升. - "16k_zh_large": 普方英大模型引擎. 当前模型同时支持中文、英文、多种中文方言等语言的识别,模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升. - "16k_multi_lang": 多语种大模型引擎. 当前模型同时支持英语、日语、韩语、阿拉伯语、菲律宾语、法语、印地语、印尼语、马来语、葡萄牙语、西班牙语、泰语、土耳其语、越南语、德语的识别,可实现15个语种的自动识别(句子/段落级别). - "16k_zh_en": 中英大模型引擎. 当前模型同时支持中文、英语识别,模型参数量极大,语言模型性能增强,针对噪声大、回音大、人声小、人声远等低质量音频的识别准确率极大提升. **高级版:** - "zh-dialect": 中国方言 - "zh-yue": 中国粤语 - "vi": 越南语 - "ja": 日语 - "ko": 韩语 - "id": 印度尼西亚语 - "th": 泰语 - "pt": 葡萄牙语 - "tr": 土耳其语 - "ar": 阿拉伯语 - "es": 西班牙语 - "hi": 印地语 - "fr": 法语 - "ms": 马来语 - "fil": 菲律宾语 - "de": 德语 - "it": 意大利语 - "ru": 俄语 - "sv": 瑞典语 - "da": 丹麦语 - "no": 挪威语 **注意:** 如果缺少满足您需求的语言,请联系我们技术人员。 :rtype: str """ return self._Language @Language.setter def Language(self, Language): self._Language = Language @property def AlternativeLanguage(self): """**发起模糊识别为高级版能力,默认按照高级版收费,仅支持填写基础版和高级版语言.** 注意:不支持填写"zh-dialect" :rtype: list of str """ return self._AlternativeLanguage @AlternativeLanguage.setter def AlternativeLanguage(self, AlternativeLanguage): self._AlternativeLanguage = AlternativeLanguage @property def CustomParam(self): """自定义参数,联系后台使用 :rtype: str """ return self._CustomParam @CustomParam.setter def CustomParam(self, CustomParam): self._CustomParam = CustomParam @property def VadSilenceTime(self): """语音识别vad的时间,范围为240-2000,默认为1000,单位为ms。更小的值会让语音识别分句更快。 :rtype: int """ return self._VadSilenceTime @VadSilenceTime.setter def VadSilenceTime(self, VadSilenceTime): self._VadSilenceTime = VadSilenceTime @property def HotWordList(self): """热词表:该参数用于提升识别准确率。 单个热词限制:"热词|权重",单个热词不超过30个字符(最多10个汉字),权重[1-11]或者100,如:“腾讯云|5” 或 “ASR|11”; 热词表限制:多个热词用英文逗号分割,最多支持128个热词,如:“腾讯云|10,语音识别|5,ASR|11”; :rtype: str """ return self._HotWordList @HotWordList.setter def HotWordList(self, HotWordList): self._HotWordList = HotWordList def _deserialize(self, params): self._Language = params.get("Language") self._AlternativeLanguage = params.get("AlternativeLanguage") self._CustomParam = params.get("CustomParam") self._VadSilenceTime = params.get("VadSilenceTime") self._HotWordList = params.get("HotWordList") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ScaleInfomation(AbstractModel): """历史规模信息 """ def __init__(self): r""" :param _Time: 每天开始的时间 :type Time: int :param _UserNumber: 房间人数,用户重复进入同一个房间为1次 :type UserNumber: int :param _UserCount: 房间人次,用户每次进入房间为一次 :type UserCount: int :param _RoomNumbers: sdkappid下一天内的房间数 :type RoomNumbers: int """ self._Time = None self._UserNumber = None self._UserCount = None self._RoomNumbers = None @property def Time(self): """每天开始的时间 :rtype: int """ return self._Time @Time.setter def Time(self, Time): self._Time = Time @property def UserNumber(self): """房间人数,用户重复进入同一个房间为1次 :rtype: int """ return self._UserNumber @UserNumber.setter def UserNumber(self, UserNumber): self._UserNumber = UserNumber @property def UserCount(self): """房间人次,用户每次进入房间为一次 :rtype: int """ return self._UserCount @UserCount.setter def UserCount(self, UserCount): self._UserCount = UserCount @property def RoomNumbers(self): """sdkappid下一天内的房间数 :rtype: int """ return self._RoomNumbers @RoomNumbers.setter def RoomNumbers(self, RoomNumbers): self._RoomNumbers = RoomNumbers def _deserialize(self, params): self._Time = params.get("Time") self._UserNumber = params.get("UserNumber") self._UserCount = params.get("UserCount") self._RoomNumbers = params.get("RoomNumbers") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SdkAppIdRecordUsage(AbstractModel): """SdkAppId级别录制时长数据。 """ def __init__(self): r""" :param _SdkAppId: SdkAppId的值。 :type SdkAppId: str :param _Usages: 统计的时间点数据。 :type Usages: list of RecordUsage """ self._SdkAppId = None self._Usages = None @property def SdkAppId(self): """SdkAppId的值。 :rtype: str """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def Usages(self): """统计的时间点数据。 :rtype: list of RecordUsage """ return self._Usages @Usages.setter def Usages(self, Usages): self._Usages = Usages def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") if params.get("Usages") is not None: self._Usages = [] for item in params.get("Usages"): obj = RecordUsage() obj._deserialize(item) self._Usages.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SdkAppIdTrtcMcuTranscodeTimeUsage(AbstractModel): """查询旁路转码计费时长。 查询时间小于等于1天时,返回每5分钟粒度的数据;查询时间大于1天时,返回按天汇总的数据。 """ def __init__(self): r""" :param _TimeKey: 本组数据对应的时间点,格式如:2020-09-07或2020-09-07 00:05:05。 :type TimeKey: str :param _AudioTime: 语音时长,单位:秒。 :type AudioTime: int :param _VideoTimeSd: 视频时长-标清SD,单位:秒。 :type VideoTimeSd: int :param _VideoTimeHd: 视频时长-高清HD,单位:秒。 :type VideoTimeHd: int :param _VideoTimeFhd: 视频时长-全高清FHD,单位:秒。 :type VideoTimeFhd: int :param _Flux: 带宽,单位:Mbps。 :type Flux: float """ self._TimeKey = None self._AudioTime = None self._VideoTimeSd = None self._VideoTimeHd = None self._VideoTimeFhd = None self._Flux = None @property def TimeKey(self): """本组数据对应的时间点,格式如:2020-09-07或2020-09-07 00:05:05。 :rtype: str """ return self._TimeKey @TimeKey.setter def TimeKey(self, TimeKey): self._TimeKey = TimeKey @property def AudioTime(self): """语音时长,单位:秒。 :rtype: int """ return self._AudioTime @AudioTime.setter def AudioTime(self, AudioTime): self._AudioTime = AudioTime @property def VideoTimeSd(self): """视频时长-标清SD,单位:秒。 :rtype: int """ return self._VideoTimeSd @VideoTimeSd.setter def VideoTimeSd(self, VideoTimeSd): self._VideoTimeSd = VideoTimeSd @property def VideoTimeHd(self): """视频时长-高清HD,单位:秒。 :rtype: int """ return self._VideoTimeHd @VideoTimeHd.setter def VideoTimeHd(self, VideoTimeHd): self._VideoTimeHd = VideoTimeHd @property def VideoTimeFhd(self): """视频时长-全高清FHD,单位:秒。 :rtype: int """ return self._VideoTimeFhd @VideoTimeFhd.setter def VideoTimeFhd(self, VideoTimeFhd): self._VideoTimeFhd = VideoTimeFhd @property def Flux(self): """带宽,单位:Mbps。 :rtype: float """ return self._Flux @Flux.setter def Flux(self, Flux): self._Flux = Flux def _deserialize(self, params): self._TimeKey = params.get("TimeKey") self._AudioTime = params.get("AudioTime") self._VideoTimeSd = params.get("VideoTimeSd") self._VideoTimeHd = params.get("VideoTimeHd") self._VideoTimeFhd = params.get("VideoTimeFhd") self._Flux = params.get("Flux") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SeriesInfo(AbstractModel): """SeriesInfo类型 """ def __init__(self): r""" :param _Columns: 数据列 注意:此字段可能返回 null,表示取不到有效值。 :type Columns: list of str :param _Values: 数据值 注意:此字段可能返回 null,表示取不到有效值。 :type Values: list of int """ self._Columns = None self._Values = None @property def Columns(self): """数据列 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._Columns @Columns.setter def Columns(self, Columns): self._Columns = Columns @property def Values(self): """数据值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of int """ return self._Values @Values.setter def Values(self, Values): self._Values = Values def _deserialize(self, params): self._Columns = params.get("Columns") self._Values = params.get("Values") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SeriesInfos(AbstractModel): """SeriesInfos类型 """ def __init__(self): r""" :param _Columns: 数据列 注意:此字段可能返回 null,表示取不到有效值。 :type Columns: list of str :param _Values: 数据值 注意:此字段可能返回 null,表示取不到有效值。 :type Values: list of RowValues """ self._Columns = None self._Values = None @property def Columns(self): """数据列 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of str """ return self._Columns @Columns.setter def Columns(self, Columns): self._Columns = Columns @property def Values(self): """数据值 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of RowValues """ return self._Values @Values.setter def Values(self, Values): self._Values = Values def _deserialize(self, params): self._Columns = params.get("Columns") if params.get("Values") is not None: self._Values = [] for item in params.get("Values"): obj = RowValues() obj._deserialize(item) self._Values.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class ServerPushText(AbstractModel): """服务端控制AI对话机器人播报指定文本 """ def __init__(self): r""" :param _Text: 服务端推送播报文本 :type Text: str :param _Interrupt: 是否允许该文本打断机器人说话 :type Interrupt: bool :param _StopAfterPlay: 播报完文本后,是否自动关闭对话任务 :type StopAfterPlay: bool :param _Audio: 服务端推送播报音频 格式说明:音频以16KHz采样率的单声道格式提供,编码为Base64字符串。 输入规则:当提供Audio字段时,将不接受Text字段的输入。系统将直接播放Audio字段中的音频内容。 :type Audio: str """ self._Text = None self._Interrupt = None self._StopAfterPlay = None self._Audio = None @property def Text(self): """服务端推送播报文本 :rtype: str """ return self._Text @Text.setter def Text(self, Text): self._Text = Text @property def Interrupt(self): """是否允许该文本打断机器人说话 :rtype: bool """ return self._Interrupt @Interrupt.setter def Interrupt(self, Interrupt): self._Interrupt = Interrupt @property def StopAfterPlay(self): """播报完文本后,是否自动关闭对话任务 :rtype: bool """ return self._StopAfterPlay @StopAfterPlay.setter def StopAfterPlay(self, StopAfterPlay): self._StopAfterPlay = StopAfterPlay @property def Audio(self): """服务端推送播报音频 格式说明:音频以16KHz采样率的单声道格式提供,编码为Base64字符串。 输入规则:当提供Audio字段时,将不接受Text字段的输入。系统将直接播放Audio字段中的音频内容。 :rtype: str """ return self._Audio @Audio.setter def Audio(self, Audio): self._Audio = Audio def _deserialize(self, params): self._Text = params.get("Text") self._Interrupt = params.get("Interrupt") self._StopAfterPlay = params.get("StopAfterPlay") self._Audio = params.get("Audio") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SingleSubscribeParams(AbstractModel): """单流旁路转推的用户上行信息。 """ def __init__(self): r""" :param _UserMediaStream: 用户媒体流参数。 :type UserMediaStream: :class:`tencentcloud.trtc.v20190722.models.UserMediaStream` """ self._UserMediaStream = None @property def UserMediaStream(self): """用户媒体流参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.UserMediaStream` """ return self._UserMediaStream @UserMediaStream.setter def UserMediaStream(self, UserMediaStream): self._UserMediaStream = UserMediaStream def _deserialize(self, params): if params.get("UserMediaStream") is not None: self._UserMediaStream = UserMediaStream() self._UserMediaStream._deserialize(params.get("UserMediaStream")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SmallVideoLayoutParams(AbstractModel): """画中画模板中有效,代表小画面的布局参数 """ def __init__(self): r""" :param _UserId: 代表小画面对应的用户ID。 :type UserId: str :param _StreamType: 代表小画面对应的流类型,0为摄像头,1为屏幕分享。小画面为web用户时此值填0。 :type StreamType: int :param _ImageWidth: 小画面在输出时的宽度,单位为像素值,不填默认为0。 :type ImageWidth: int :param _ImageHeight: 小画面在输出时的高度,单位为像素值,不填默认为0。 :type ImageHeight: int :param _LocationX: 小画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。 :type LocationX: int :param _LocationY: 小画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。 :type LocationY: int """ self._UserId = None self._StreamType = None self._ImageWidth = None self._ImageHeight = None self._LocationX = None self._LocationY = None @property def UserId(self): """代表小画面对应的用户ID。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def StreamType(self): """代表小画面对应的流类型,0为摄像头,1为屏幕分享。小画面为web用户时此值填0。 :rtype: int """ return self._StreamType @StreamType.setter def StreamType(self, StreamType): self._StreamType = StreamType @property def ImageWidth(self): """小画面在输出时的宽度,单位为像素值,不填默认为0。 :rtype: int """ return self._ImageWidth @ImageWidth.setter def ImageWidth(self, ImageWidth): self._ImageWidth = ImageWidth @property def ImageHeight(self): """小画面在输出时的高度,单位为像素值,不填默认为0。 :rtype: int """ return self._ImageHeight @ImageHeight.setter def ImageHeight(self, ImageHeight): self._ImageHeight = ImageHeight @property def LocationX(self): """小画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。 :rtype: int """ return self._LocationX @LocationX.setter def LocationX(self, LocationX): self._LocationX = LocationX @property def LocationY(self): """小画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。 :rtype: int """ return self._LocationY @LocationY.setter def LocationY(self, LocationY): self._LocationY = LocationY def _deserialize(self, params): self._UserId = params.get("UserId") self._StreamType = params.get("StreamType") self._ImageWidth = params.get("ImageWidth") self._ImageHeight = params.get("ImageHeight") self._LocationX = params.get("LocationX") self._LocationY = params.get("LocationY") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartAIConversationRequest(AbstractModel): """StartAIConversation请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和开启转录任务的房间使用的SdkAppId相同。 :type SdkAppId: int :param _RoomId: TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),表示开启对话任务的房间号。 :type RoomId: str :param _AgentConfig: 机器人参数 :type AgentConfig: :class:`tencentcloud.trtc.v20190722.models.AgentConfig` :param _SessionId: 调用方传入的唯一Id,可用于客户侧防止重复发起任务以及可以通过该字段查询任务状态。 :type SessionId: str :param _RoomIdType: TRTC房间号的类型,0代表数字房间号,1代表字符串房间号。不填默认是数字房间号。 :type RoomIdType: int :param _STTConfig: 语音识别配置。 :type STTConfig: :class:`tencentcloud.trtc.v20190722.models.STTConfig` :param _LLMConfig: LLM配置。需符合openai规范,为JSON字符串,示例如下: <pre> { <br> &emsp; "LLMType": “大模型类型", // String 必填,如:"openai" <br> &emsp; "Model": "您的模型名称", // String 必填,指定使用的模型<br> "APIKey": "您的LLM API密钥", // String 必填 <br> &emsp; "APIUrl": "https://api.xxx.com/chat/completions", // String 必填,LLM API访问的URL<br> &emsp; "Streaming": true // Boolean 非必填,指定是否使用流式传输<br> &emsp;} </pre> :type LLMConfig: str :param _TTSConfig: TTS配置,为JSON字符串,腾讯云TTS示例如下: <pre>{ <br> &emsp; "AppId": 您的应用ID, // Integer 必填<br> &emsp; "TTSType": "TTS类型", // String TTS类型, 固定为"tencent"<br> &emsp; "SecretId": "您的密钥ID", // String 必填<br> &emsp; "SecretKey": "您的密钥Key", // String 必填<br> &emsp; "VoiceType": 101001, // Integer 必填,音色 ID,包括标准音色与精品音色,精品音色拟真度更高,价格不同于标准音色,请参见<a href="https://cloud.tencent.com/document/product/1073/34112">语音合成计费概述</a>。完整的音色 ID 列表请参见<a href="https://cloud.tencent.com/document/product/1073/92668#55924b56-1a73-4663-a7a1-a8dd82d6e823">语音合成音色列表</a>。<br> &emsp; "Speed": 1.25, // Integer 非必填,语速,范围:[-2,6],分别对应不同语速: -2: 代表0.6倍 -1: 代表0.8倍 0: 代表1.0倍(默认) 1: 代表1.2倍 2: 代表1.5倍 6: 代表2.5倍 如果需要更细化的语速,可以保留小数点后 2 位,例如0.5/1.25/2.81等。 参数值与实际语速转换,可参考 <a href="https://sdk-1300466766.cos.ap-shanghai.myqcloud.com/sample/speed_sample.tar.gz">语速转换</a><br> &emsp; "Volume": 5, // Integer 非必填,音量大小,范围:[0,10],分别对应11个等级的音量,默认值为0,代表正常音量。<br> &emsp; "PrimaryLanguage": "zh-CN" // String 非必填,主要语言<br> &emsp;}</pre> :type TTSConfig: str :param _AvatarConfig: 数字人配置,为JSON字符串。**数字人配置需要提工单加白后才能使用** :type AvatarConfig: str """ self._SdkAppId = None self._RoomId = None self._AgentConfig = None self._SessionId = None self._RoomIdType = None self._STTConfig = None self._LLMConfig = None self._TTSConfig = None self._AvatarConfig = None @property def SdkAppId(self): """TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和开启转录任务的房间使用的SdkAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),表示开启对话任务的房间号。 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def AgentConfig(self): """机器人参数 :rtype: :class:`tencentcloud.trtc.v20190722.models.AgentConfig` """ return self._AgentConfig @AgentConfig.setter def AgentConfig(self, AgentConfig): self._AgentConfig = AgentConfig @property def SessionId(self): """调用方传入的唯一Id,可用于客户侧防止重复发起任务以及可以通过该字段查询任务状态。 :rtype: str """ return self._SessionId @SessionId.setter def SessionId(self, SessionId): self._SessionId = SessionId @property def RoomIdType(self): """TRTC房间号的类型,0代表数字房间号,1代表字符串房间号。不填默认是数字房间号。 :rtype: int """ return self._RoomIdType @RoomIdType.setter def RoomIdType(self, RoomIdType): self._RoomIdType = RoomIdType @property def STTConfig(self): """语音识别配置。 :rtype: :class:`tencentcloud.trtc.v20190722.models.STTConfig` """ return self._STTConfig @STTConfig.setter def STTConfig(self, STTConfig): self._STTConfig = STTConfig @property def LLMConfig(self): """LLM配置。需符合openai规范,为JSON字符串,示例如下: <pre> { <br> &emsp; "LLMType": “大模型类型", // String 必填,如:"openai" <br> &emsp; "Model": "您的模型名称", // String 必填,指定使用的模型<br> "APIKey": "您的LLM API密钥", // String 必填 <br> &emsp; "APIUrl": "https://api.xxx.com/chat/completions", // String 必填,LLM API访问的URL<br> &emsp; "Streaming": true // Boolean 非必填,指定是否使用流式传输<br> &emsp;} </pre> :rtype: str """ return self._LLMConfig @LLMConfig.setter def LLMConfig(self, LLMConfig): self._LLMConfig = LLMConfig @property def TTSConfig(self): """TTS配置,为JSON字符串,腾讯云TTS示例如下: <pre>{ <br> &emsp; "AppId": 您的应用ID, // Integer 必填<br> &emsp; "TTSType": "TTS类型", // String TTS类型, 固定为"tencent"<br> &emsp; "SecretId": "您的密钥ID", // String 必填<br> &emsp; "SecretKey": "您的密钥Key", // String 必填<br> &emsp; "VoiceType": 101001, // Integer 必填,音色 ID,包括标准音色与精品音色,精品音色拟真度更高,价格不同于标准音色,请参见<a href="https://cloud.tencent.com/document/product/1073/34112">语音合成计费概述</a>。完整的音色 ID 列表请参见<a href="https://cloud.tencent.com/document/product/1073/92668#55924b56-1a73-4663-a7a1-a8dd82d6e823">语音合成音色列表</a>。<br> &emsp; "Speed": 1.25, // Integer 非必填,语速,范围:[-2,6],分别对应不同语速: -2: 代表0.6倍 -1: 代表0.8倍 0: 代表1.0倍(默认) 1: 代表1.2倍 2: 代表1.5倍 6: 代表2.5倍 如果需要更细化的语速,可以保留小数点后 2 位,例如0.5/1.25/2.81等。 参数值与实际语速转换,可参考 <a href="https://sdk-1300466766.cos.ap-shanghai.myqcloud.com/sample/speed_sample.tar.gz">语速转换</a><br> &emsp; "Volume": 5, // Integer 非必填,音量大小,范围:[0,10],分别对应11个等级的音量,默认值为0,代表正常音量。<br> &emsp; "PrimaryLanguage": "zh-CN" // String 非必填,主要语言<br> &emsp;}</pre> :rtype: str """ return self._TTSConfig @TTSConfig.setter def TTSConfig(self, TTSConfig): self._TTSConfig = TTSConfig @property def AvatarConfig(self): """数字人配置,为JSON字符串。**数字人配置需要提工单加白后才能使用** :rtype: str """ return self._AvatarConfig @AvatarConfig.setter def AvatarConfig(self, AvatarConfig): self._AvatarConfig = AvatarConfig def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") if params.get("AgentConfig") is not None: self._AgentConfig = AgentConfig() self._AgentConfig._deserialize(params.get("AgentConfig")) self._SessionId = params.get("SessionId") self._RoomIdType = params.get("RoomIdType") if params.get("STTConfig") is not None: self._STTConfig = STTConfig() self._STTConfig._deserialize(params.get("STTConfig")) self._LLMConfig = params.get("LLMConfig") self._TTSConfig = params.get("TTSConfig") self._AvatarConfig = params.get("AvatarConfig") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartAIConversationResponse(AbstractModel): """StartAIConversation返回参数结构体 """ def __init__(self): r""" :param _TaskId: 用于唯一标识对话任务。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """用于唯一标识对话任务。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class StartAITranscriptionRequest(AbstractModel): """StartAITranscription请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和开启转录任务的房间使用的SdkAppId相同。 :type SdkAppId: int :param _RoomId: TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),表示开启转录任务的房间号。 :type RoomId: str :param _TranscriptionParams: 转录机器人的参数。 :type TranscriptionParams: :class:`tencentcloud.trtc.v20190722.models.TranscriptionParams` :param _SessionId: 调用方传入的唯一Id,服务端用来去重。 注意: 如果传入该参数,服务端优先使用该参数来去重。 如果不传该参数,服务端的去重策略如下: - 如果TranscriptionMode字段是0,则一个房间只能开启一个任务 - 如果TranscriptionMode字段是1,则一个TargetUserId只能开启一个任务 :type SessionId: str :param _RoomIdType: TRTC房间号的类型,0代表数字房间号,1代表字符串房间号。不填默认是数字房间号。 :type RoomIdType: int :param _RecognizeConfig: 语音识别配置。 :type RecognizeConfig: :class:`tencentcloud.trtc.v20190722.models.RecognizeConfig` """ self._SdkAppId = None self._RoomId = None self._TranscriptionParams = None self._SessionId = None self._RoomIdType = None self._RecognizeConfig = None @property def SdkAppId(self): """TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和开启转录任务的房间使用的SdkAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),表示开启转录任务的房间号。 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def TranscriptionParams(self): """转录机器人的参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.TranscriptionParams` """ return self._TranscriptionParams @TranscriptionParams.setter def TranscriptionParams(self, TranscriptionParams): self._TranscriptionParams = TranscriptionParams @property def SessionId(self): """调用方传入的唯一Id,服务端用来去重。 注意: 如果传入该参数,服务端优先使用该参数来去重。 如果不传该参数,服务端的去重策略如下: - 如果TranscriptionMode字段是0,则一个房间只能开启一个任务 - 如果TranscriptionMode字段是1,则一个TargetUserId只能开启一个任务 :rtype: str """ return self._SessionId @SessionId.setter def SessionId(self, SessionId): self._SessionId = SessionId @property def RoomIdType(self): """TRTC房间号的类型,0代表数字房间号,1代表字符串房间号。不填默认是数字房间号。 :rtype: int """ return self._RoomIdType @RoomIdType.setter def RoomIdType(self, RoomIdType): self._RoomIdType = RoomIdType @property def RecognizeConfig(self): """语音识别配置。 :rtype: :class:`tencentcloud.trtc.v20190722.models.RecognizeConfig` """ return self._RecognizeConfig @RecognizeConfig.setter def RecognizeConfig(self, RecognizeConfig): self._RecognizeConfig = RecognizeConfig def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") if params.get("TranscriptionParams") is not None: self._TranscriptionParams = TranscriptionParams() self._TranscriptionParams._deserialize(params.get("TranscriptionParams")) self._SessionId = params.get("SessionId") self._RoomIdType = params.get("RoomIdType") if params.get("RecognizeConfig") is not None: self._RecognizeConfig = RecognizeConfig() self._RecognizeConfig._deserialize(params.get("RecognizeConfig")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartAITranscriptionResponse(AbstractModel): """StartAITranscription返回参数结构体 """ def __init__(self): r""" :param _TaskId: 用于唯一标识转录任务。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """用于唯一标识转录任务。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class StartMCUMixTranscodeByStrRoomIdRequest(AbstractModel): """StartMCUMixTranscodeByStrRoomId请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId。 :type SdkAppId: int :param _StrRoomId: 字符串房间号。 :type StrRoomId: str :param _OutputParams: 混流输出控制参数。 :type OutputParams: :class:`tencentcloud.trtc.v20190722.models.OutputParams` :param _EncodeParams: 混流输出编码参数。 :type EncodeParams: :class:`tencentcloud.trtc.v20190722.models.EncodeParams` :param _LayoutParams: 混流输出布局参数。 :type LayoutParams: :class:`tencentcloud.trtc.v20190722.models.LayoutParams` :param _PublishCdnParams: 第三方CDN转推参数。如需转推至腾讯云云直播,此参数无需填写,会默认转推 :type PublishCdnParams: :class:`tencentcloud.trtc.v20190722.models.PublishCdnParams` """ self._SdkAppId = None self._StrRoomId = None self._OutputParams = None self._EncodeParams = None self._LayoutParams = None self._PublishCdnParams = None @property def SdkAppId(self): """TRTC的SDKAppId。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StrRoomId(self): """字符串房间号。 :rtype: str """ return self._StrRoomId @StrRoomId.setter def StrRoomId(self, StrRoomId): self._StrRoomId = StrRoomId @property def OutputParams(self): """混流输出控制参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.OutputParams` """ return self._OutputParams @OutputParams.setter def OutputParams(self, OutputParams): self._OutputParams = OutputParams @property def EncodeParams(self): """混流输出编码参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.EncodeParams` """ return self._EncodeParams @EncodeParams.setter def EncodeParams(self, EncodeParams): self._EncodeParams = EncodeParams @property def LayoutParams(self): """混流输出布局参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.LayoutParams` """ return self._LayoutParams @LayoutParams.setter def LayoutParams(self, LayoutParams): self._LayoutParams = LayoutParams @property def PublishCdnParams(self): """第三方CDN转推参数。如需转推至腾讯云云直播,此参数无需填写,会默认转推 :rtype: :class:`tencentcloud.trtc.v20190722.models.PublishCdnParams` """ return self._PublishCdnParams @PublishCdnParams.setter def PublishCdnParams(self, PublishCdnParams): self._PublishCdnParams = PublishCdnParams def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StrRoomId = params.get("StrRoomId") if params.get("OutputParams") is not None: self._OutputParams = OutputParams() self._OutputParams._deserialize(params.get("OutputParams")) if params.get("EncodeParams") is not None: self._EncodeParams = EncodeParams() self._EncodeParams._deserialize(params.get("EncodeParams")) if params.get("LayoutParams") is not None: self._LayoutParams = LayoutParams() self._LayoutParams._deserialize(params.get("LayoutParams")) if params.get("PublishCdnParams") is not None: self._PublishCdnParams = PublishCdnParams() self._PublishCdnParams._deserialize(params.get("PublishCdnParams")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartMCUMixTranscodeByStrRoomIdResponse(AbstractModel): """StartMCUMixTranscodeByStrRoomId返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StartMCUMixTranscodeRequest(AbstractModel): """StartMCUMixTranscode请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId。 :type SdkAppId: int :param _RoomId: 房间号。 :type RoomId: int :param _OutputParams: 混流输出控制参数。 :type OutputParams: :class:`tencentcloud.trtc.v20190722.models.OutputParams` :param _EncodeParams: 混流输出编码参数。 :type EncodeParams: :class:`tencentcloud.trtc.v20190722.models.EncodeParams` :param _LayoutParams: 混流输出布局参数。 :type LayoutParams: :class:`tencentcloud.trtc.v20190722.models.LayoutParams` :param _PublishCdnParams: 第三方CDN转推参数。如需转推至腾讯云云直播,此参数无需填写,会默认转推 :type PublishCdnParams: :class:`tencentcloud.trtc.v20190722.models.PublishCdnParams` """ self._SdkAppId = None self._RoomId = None self._OutputParams = None self._EncodeParams = None self._LayoutParams = None self._PublishCdnParams = None @property def SdkAppId(self): """TRTC的SDKAppId。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """房间号。 :rtype: int """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def OutputParams(self): """混流输出控制参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.OutputParams` """ return self._OutputParams @OutputParams.setter def OutputParams(self, OutputParams): self._OutputParams = OutputParams @property def EncodeParams(self): """混流输出编码参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.EncodeParams` """ return self._EncodeParams @EncodeParams.setter def EncodeParams(self, EncodeParams): self._EncodeParams = EncodeParams @property def LayoutParams(self): """混流输出布局参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.LayoutParams` """ return self._LayoutParams @LayoutParams.setter def LayoutParams(self, LayoutParams): self._LayoutParams = LayoutParams @property def PublishCdnParams(self): """第三方CDN转推参数。如需转推至腾讯云云直播,此参数无需填写,会默认转推 :rtype: :class:`tencentcloud.trtc.v20190722.models.PublishCdnParams` """ return self._PublishCdnParams @PublishCdnParams.setter def PublishCdnParams(self, PublishCdnParams): self._PublishCdnParams = PublishCdnParams def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") if params.get("OutputParams") is not None: self._OutputParams = OutputParams() self._OutputParams._deserialize(params.get("OutputParams")) if params.get("EncodeParams") is not None: self._EncodeParams = EncodeParams() self._EncodeParams._deserialize(params.get("EncodeParams")) if params.get("LayoutParams") is not None: self._LayoutParams = LayoutParams() self._LayoutParams._deserialize(params.get("LayoutParams")) if params.get("PublishCdnParams") is not None: self._PublishCdnParams = PublishCdnParams() self._PublishCdnParams._deserialize(params.get("PublishCdnParams")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartMCUMixTranscodeResponse(AbstractModel): """StartMCUMixTranscode返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StartPublishCdnStreamRequest(AbstractModel): """StartPublishCdnStream请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和转推的房间所对应的SdkAppId相同。 :type SdkAppId: int :param _RoomId: 主房间信息RoomId,转推的TRTC房间所对应的RoomId。 :type RoomId: str :param _RoomIdType: 主房间信息RoomType,必须和转推的房间所对应的RoomId类型相同,0为整型房间号,1为字符串房间号。 :type RoomIdType: int :param _AgentParams: 转推服务加入TRTC房间的机器人参数。 :type AgentParams: :class:`tencentcloud.trtc.v20190722.models.AgentParams` :param _WithTranscoding: 是否转码,0表示无需转码,1表示需要转码。是否收取转码费是由WithTranscoding参数决定的,WithTranscoding为0,表示旁路转推,不会收取转码费用,WithTranscoding为1,表示混流转推,会收取转码费用。 :type WithTranscoding: int :param _AudioParams: 转推流的音频编码参数。由于音频是必转码的(不会收取转码费用),所以启动任务的时候,必须填写。 :type AudioParams: :class:`tencentcloud.trtc.v20190722.models.McuAudioParams` :param _VideoParams: 转推流的视频编码参数,不填表示纯音频转推。 :type VideoParams: :class:`tencentcloud.trtc.v20190722.models.McuVideoParams` :param _SingleSubscribeParams: 需要单流旁路转推的用户上行参数,单流旁路转推时,WithTranscoding需要设置为0。 :type SingleSubscribeParams: :class:`tencentcloud.trtc.v20190722.models.SingleSubscribeParams` :param _PublishCdnParams: 转推的CDN参数,一个任务最多支持10个推流URL。和回推房间参数必须要有一个。 :type PublishCdnParams: list of McuPublishCdnParam :param _SeiParams: 混流SEI参数 :type SeiParams: :class:`tencentcloud.trtc.v20190722.models.McuSeiParams` :param _FeedBackRoomParams: 回推房间信息,一个任务最多支持回推10个房间,和转推CDN参数必须要有一个。注:回推房间需使用10.4及以上SDK版本,如您有需求,请联系腾讯云技术支持。 :type FeedBackRoomParams: list of McuFeedBackRoomParams :param _RecordParams: 转推录制参数,[参考文档](https://cloud.tencent.com/document/product/647/111748)。 :type RecordParams: :class:`tencentcloud.trtc.v20190722.models.McuRecordParams` """ self._SdkAppId = None self._RoomId = None self._RoomIdType = None self._AgentParams = None self._WithTranscoding = None self._AudioParams = None self._VideoParams = None self._SingleSubscribeParams = None self._PublishCdnParams = None self._SeiParams = None self._FeedBackRoomParams = None self._RecordParams = None @property def SdkAppId(self): """TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和转推的房间所对应的SdkAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """主房间信息RoomId,转推的TRTC房间所对应的RoomId。 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def RoomIdType(self): """主房间信息RoomType,必须和转推的房间所对应的RoomId类型相同,0为整型房间号,1为字符串房间号。 :rtype: int """ return self._RoomIdType @RoomIdType.setter def RoomIdType(self, RoomIdType): self._RoomIdType = RoomIdType @property def AgentParams(self): """转推服务加入TRTC房间的机器人参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.AgentParams` """ return self._AgentParams @AgentParams.setter def AgentParams(self, AgentParams): self._AgentParams = AgentParams @property def WithTranscoding(self): """是否转码,0表示无需转码,1表示需要转码。是否收取转码费是由WithTranscoding参数决定的,WithTranscoding为0,表示旁路转推,不会收取转码费用,WithTranscoding为1,表示混流转推,会收取转码费用。 :rtype: int """ return self._WithTranscoding @WithTranscoding.setter def WithTranscoding(self, WithTranscoding): self._WithTranscoding = WithTranscoding @property def AudioParams(self): """转推流的音频编码参数。由于音频是必转码的(不会收取转码费用),所以启动任务的时候,必须填写。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuAudioParams` """ return self._AudioParams @AudioParams.setter def AudioParams(self, AudioParams): self._AudioParams = AudioParams @property def VideoParams(self): """转推流的视频编码参数,不填表示纯音频转推。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuVideoParams` """ return self._VideoParams @VideoParams.setter def VideoParams(self, VideoParams): self._VideoParams = VideoParams @property def SingleSubscribeParams(self): """需要单流旁路转推的用户上行参数,单流旁路转推时,WithTranscoding需要设置为0。 :rtype: :class:`tencentcloud.trtc.v20190722.models.SingleSubscribeParams` """ return self._SingleSubscribeParams @SingleSubscribeParams.setter def SingleSubscribeParams(self, SingleSubscribeParams): self._SingleSubscribeParams = SingleSubscribeParams @property def PublishCdnParams(self): """转推的CDN参数,一个任务最多支持10个推流URL。和回推房间参数必须要有一个。 :rtype: list of McuPublishCdnParam """ return self._PublishCdnParams @PublishCdnParams.setter def PublishCdnParams(self, PublishCdnParams): self._PublishCdnParams = PublishCdnParams @property def SeiParams(self): """混流SEI参数 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuSeiParams` """ return self._SeiParams @SeiParams.setter def SeiParams(self, SeiParams): self._SeiParams = SeiParams @property def FeedBackRoomParams(self): """回推房间信息,一个任务最多支持回推10个房间,和转推CDN参数必须要有一个。注:回推房间需使用10.4及以上SDK版本,如您有需求,请联系腾讯云技术支持。 :rtype: list of McuFeedBackRoomParams """ return self._FeedBackRoomParams @FeedBackRoomParams.setter def FeedBackRoomParams(self, FeedBackRoomParams): self._FeedBackRoomParams = FeedBackRoomParams @property def RecordParams(self): """转推录制参数,[参考文档](https://cloud.tencent.com/document/product/647/111748)。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuRecordParams` """ return self._RecordParams @RecordParams.setter def RecordParams(self, RecordParams): self._RecordParams = RecordParams def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") self._RoomIdType = params.get("RoomIdType") if params.get("AgentParams") is not None: self._AgentParams = AgentParams() self._AgentParams._deserialize(params.get("AgentParams")) self._WithTranscoding = params.get("WithTranscoding") if params.get("AudioParams") is not None: self._AudioParams = McuAudioParams() self._AudioParams._deserialize(params.get("AudioParams")) if params.get("VideoParams") is not None: self._VideoParams = McuVideoParams() self._VideoParams._deserialize(params.get("VideoParams")) if params.get("SingleSubscribeParams") is not None: self._SingleSubscribeParams = SingleSubscribeParams() self._SingleSubscribeParams._deserialize(params.get("SingleSubscribeParams")) if params.get("PublishCdnParams") is not None: self._PublishCdnParams = [] for item in params.get("PublishCdnParams"): obj = McuPublishCdnParam() obj._deserialize(item) self._PublishCdnParams.append(obj) if params.get("SeiParams") is not None: self._SeiParams = McuSeiParams() self._SeiParams._deserialize(params.get("SeiParams")) if params.get("FeedBackRoomParams") is not None: self._FeedBackRoomParams = [] for item in params.get("FeedBackRoomParams"): obj = McuFeedBackRoomParams() obj._deserialize(item) self._FeedBackRoomParams.append(obj) if params.get("RecordParams") is not None: self._RecordParams = McuRecordParams() self._RecordParams._deserialize(params.get("RecordParams")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartPublishCdnStreamResponse(AbstractModel): """StartPublishCdnStream返回参数结构体 """ def __init__(self): r""" :param _TaskId: 用于唯一标识转推任务,由腾讯云服务端生成,后续更新和停止请求都需要携带TaskiD参数。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """用于唯一标识转推任务,由腾讯云服务端生成,后续更新和停止请求都需要携带TaskiD参数。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class StartStreamIngestRequest(AbstractModel): """StartStreamIngest请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和TRTC的房间所对应的SdkAppId相同。 :type SdkAppId: int :param _RoomId: TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),录制的TRTC房间所对应的RoomId。 :type RoomId: str :param _RoomIdType: TRTC房间号的类型。 【*注意】必须和录制的房间所对应的RoomId类型相同: 0: 字符串类型的RoomId 1: 32位整型的RoomId(默认) :type RoomIdType: int :param _UserId: 输入在线媒体流机器人的UserId,用于进房发起拉流转推任务。 :type UserId: str :param _UserSig: 输入在线媒体流机器人UserId对应的校验签名,即UserId和UserSig相当于机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :type UserSig: str :param _StreamUrl: 源流URL【必填】。如果是视频流,分辨率请保持不变。 :type StreamUrl: str :param _PrivateMapKey: TRTC房间权限加密串,只有在TRTC控制台启用了高级权限控制的时候需要携带,在TRTC控制台如果开启高级权限控制后,TRTC 的后台服务系统会校验一个叫做 [PrivateMapKey] 的“权限票据”,权限票据中包含了一个加密后的 RoomId 和一个加密后的“权限位列表”。由于 PrivateMapKey 中包含 RoomId,所以只提供了 UserSig 没有提供 PrivateMapKey 时,并不能进入指定的房间。 :type PrivateMapKey: str :param _VideoEncodeParams: 【本字段已废弃】视频编码参数。可选,如果不填,保持原始流的参数。 :type VideoEncodeParams: :class:`tencentcloud.trtc.v20190722.models.VideoEncodeParams` :param _AudioEncodeParams: 【本字段已废弃】音频编码参数。可选,如果不填,保持原始流的参数。 :type AudioEncodeParams: :class:`tencentcloud.trtc.v20190722.models.AudioEncodeParams` :param _SourceUrl: 【本字段已废弃,请使用 StreamUrl 字段】源流URL,支持一个地址。 :type SourceUrl: list of str :param _SeekSecond: 指定视频从某个秒时间戳播放 :type SeekSecond: int :param _AutoPush: 开启自动旁路推流,请确认控制台已经开启该功能。 :type AutoPush: bool :param _RepeatNum: 循环播放次数, 取值范围[-1, 1000], 默认1次。 - 0 无效值 - -1 循环播放, 需要主动调用停止接口或设置MaxDuration :type RepeatNum: int :param _MaxDuration: 循环播放最大时长,仅支持RepeatNum设置-1时生效,取值范围[1, 10080],单位分钟。 :type MaxDuration: int :param _Volume: 音量,取值范围[0, 100],默认100,表示原音量。 :type Volume: int """ self._SdkAppId = None self._RoomId = None self._RoomIdType = None self._UserId = None self._UserSig = None self._StreamUrl = None self._PrivateMapKey = None self._VideoEncodeParams = None self._AudioEncodeParams = None self._SourceUrl = None self._SeekSecond = None self._AutoPush = None self._RepeatNum = None self._MaxDuration = None self._Volume = None @property def SdkAppId(self): """TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和TRTC的房间所对应的SdkAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351#roomid),录制的TRTC房间所对应的RoomId。 :rtype: str """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId @property def RoomIdType(self): """TRTC房间号的类型。 【*注意】必须和录制的房间所对应的RoomId类型相同: 0: 字符串类型的RoomId 1: 32位整型的RoomId(默认) :rtype: int """ return self._RoomIdType @RoomIdType.setter def RoomIdType(self, RoomIdType): self._RoomIdType = RoomIdType @property def UserId(self): """输入在线媒体流机器人的UserId,用于进房发起拉流转推任务。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def UserSig(self): """输入在线媒体流机器人UserId对应的校验签名,即UserId和UserSig相当于机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :rtype: str """ return self._UserSig @UserSig.setter def UserSig(self, UserSig): self._UserSig = UserSig @property def StreamUrl(self): """源流URL【必填】。如果是视频流,分辨率请保持不变。 :rtype: str """ return self._StreamUrl @StreamUrl.setter def StreamUrl(self, StreamUrl): self._StreamUrl = StreamUrl @property def PrivateMapKey(self): """TRTC房间权限加密串,只有在TRTC控制台启用了高级权限控制的时候需要携带,在TRTC控制台如果开启高级权限控制后,TRTC 的后台服务系统会校验一个叫做 [PrivateMapKey] 的“权限票据”,权限票据中包含了一个加密后的 RoomId 和一个加密后的“权限位列表”。由于 PrivateMapKey 中包含 RoomId,所以只提供了 UserSig 没有提供 PrivateMapKey 时,并不能进入指定的房间。 :rtype: str """ return self._PrivateMapKey @PrivateMapKey.setter def PrivateMapKey(self, PrivateMapKey): self._PrivateMapKey = PrivateMapKey @property def VideoEncodeParams(self): warnings.warn("parameter `VideoEncodeParams` is deprecated", DeprecationWarning) """【本字段已废弃】视频编码参数。可选,如果不填,保持原始流的参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.VideoEncodeParams` """ return self._VideoEncodeParams @VideoEncodeParams.setter def VideoEncodeParams(self, VideoEncodeParams): warnings.warn("parameter `VideoEncodeParams` is deprecated", DeprecationWarning) self._VideoEncodeParams = VideoEncodeParams @property def AudioEncodeParams(self): warnings.warn("parameter `AudioEncodeParams` is deprecated", DeprecationWarning) """【本字段已废弃】音频编码参数。可选,如果不填,保持原始流的参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.AudioEncodeParams` """ return self._AudioEncodeParams @AudioEncodeParams.setter def AudioEncodeParams(self, AudioEncodeParams): warnings.warn("parameter `AudioEncodeParams` is deprecated", DeprecationWarning) self._AudioEncodeParams = AudioEncodeParams @property def SourceUrl(self): warnings.warn("parameter `SourceUrl` is deprecated", DeprecationWarning) """【本字段已废弃,请使用 StreamUrl 字段】源流URL,支持一个地址。 :rtype: list of str """ return self._SourceUrl @SourceUrl.setter def SourceUrl(self, SourceUrl): warnings.warn("parameter `SourceUrl` is deprecated", DeprecationWarning) self._SourceUrl = SourceUrl @property def SeekSecond(self): """指定视频从某个秒时间戳播放 :rtype: int """ return self._SeekSecond @SeekSecond.setter def SeekSecond(self, SeekSecond): self._SeekSecond = SeekSecond @property def AutoPush(self): """开启自动旁路推流,请确认控制台已经开启该功能。 :rtype: bool """ return self._AutoPush @AutoPush.setter def AutoPush(self, AutoPush): self._AutoPush = AutoPush @property def RepeatNum(self): """循环播放次数, 取值范围[-1, 1000], 默认1次。 - 0 无效值 - -1 循环播放, 需要主动调用停止接口或设置MaxDuration :rtype: int """ return self._RepeatNum @RepeatNum.setter def RepeatNum(self, RepeatNum): self._RepeatNum = RepeatNum @property def MaxDuration(self): """循环播放最大时长,仅支持RepeatNum设置-1时生效,取值范围[1, 10080],单位分钟。 :rtype: int """ return self._MaxDuration @MaxDuration.setter def MaxDuration(self, MaxDuration): self._MaxDuration = MaxDuration @property def Volume(self): """音量,取值范围[0, 100],默认100,表示原音量。 :rtype: int """ return self._Volume @Volume.setter def Volume(self, Volume): self._Volume = Volume def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") self._RoomIdType = params.get("RoomIdType") self._UserId = params.get("UserId") self._UserSig = params.get("UserSig") self._StreamUrl = params.get("StreamUrl") self._PrivateMapKey = params.get("PrivateMapKey") if params.get("VideoEncodeParams") is not None: self._VideoEncodeParams = VideoEncodeParams() self._VideoEncodeParams._deserialize(params.get("VideoEncodeParams")) if params.get("AudioEncodeParams") is not None: self._AudioEncodeParams = AudioEncodeParams() self._AudioEncodeParams._deserialize(params.get("AudioEncodeParams")) self._SourceUrl = params.get("SourceUrl") self._SeekSecond = params.get("SeekSecond") self._AutoPush = params.get("AutoPush") self._RepeatNum = params.get("RepeatNum") self._MaxDuration = params.get("MaxDuration") self._Volume = params.get("Volume") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartStreamIngestResponse(AbstractModel): """StartStreamIngest返回参数结构体 """ def __init__(self): r""" :param _TaskId: 输入在线媒体流的任务 ID。任务 ID 是对一次输入在线媒体流生命周期过程的唯一标识,结束任务时会失去意义。任务 ID 需要业务保存下来,作为下次针对这个任务操作的参数。 :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """输入在线媒体流的任务 ID。任务 ID 是对一次输入在线媒体流生命周期过程的唯一标识,结束任务时会失去意义。任务 ID 需要业务保存下来,作为下次针对这个任务操作的参数。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class StartWebRecordRequest(AbstractModel): """StartWebRecord请求参数结构体 """ def __init__(self): r""" :param _RecordUrl: 需要录制的网页URL :type RecordUrl: str :param _MaxDurationLimit: 录制最大时长限制, 单位 s, 合法取值范围[1800, 36000], 默认 36000s(10 小时) :type MaxDurationLimit: int :param _StorageParams: 【必填】云存储相关的参数,目前支持腾讯云对象存储以及腾讯云云点播VOD,不支持第三方云存储;输出文件的存储格式仅支持hls或mp4 :type StorageParams: :class:`tencentcloud.trtc.v20190722.models.StorageParams` :param _WebRecordVideoParams: 页面录制视频参数 :type WebRecordVideoParams: :class:`tencentcloud.trtc.v20190722.models.WebRecordVideoParams` :param _SdkAppId: 【必填】TRTC的SdkAppId :type SdkAppId: int :param _RecordId: 当对重复任务敏感时,请关注此值: 为了避免任务在短时间内重复发起,导致任务重复 传入录制RecordId来标识此次任务, 小于32字节,若携带RecordId发起两次以上的开始录制请求,任务只会启动一个,第二个报错FailedOperation.TaskExist。注意StartWebRecord调用失败时而非FailedOperation.TaskExist错误,请更换RecordId重新发起。 :type RecordId: str :param _PublishCdnParams: 若您想要推流到CDN,可以使用PublishCdnParams.N参数设置,支持最多同时推流到10个CDN地址。若转推地址是腾讯云CDN时,请将IsTencentCdn明确设置为1 :type PublishCdnParams: list of McuPublishCdnParam :param _ReadyTimeout: 录制页面资源加载的超时时间,单位:秒。默认值为 0 秒,该值需大于等于 0秒,且小于等于 60秒。录制页面未启用页面加载超时检测时,请勿设置此参数。 :type ReadyTimeout: int :param _EmulateMobileParams: 渲染移动模式参数;不准备渲染移动模式页面时,请勿设置此参数。 :type EmulateMobileParams: :class:`tencentcloud.trtc.v20190722.models.EmulateMobileParams` """ self._RecordUrl = None self._MaxDurationLimit = None self._StorageParams = None self._WebRecordVideoParams = None self._SdkAppId = None self._RecordId = None self._PublishCdnParams = None self._ReadyTimeout = None self._EmulateMobileParams = None @property def RecordUrl(self): """需要录制的网页URL :rtype: str """ return self._RecordUrl @RecordUrl.setter def RecordUrl(self, RecordUrl): self._RecordUrl = RecordUrl @property def MaxDurationLimit(self): """录制最大时长限制, 单位 s, 合法取值范围[1800, 36000], 默认 36000s(10 小时) :rtype: int """ return self._MaxDurationLimit @MaxDurationLimit.setter def MaxDurationLimit(self, MaxDurationLimit): self._MaxDurationLimit = MaxDurationLimit @property def StorageParams(self): """【必填】云存储相关的参数,目前支持腾讯云对象存储以及腾讯云云点播VOD,不支持第三方云存储;输出文件的存储格式仅支持hls或mp4 :rtype: :class:`tencentcloud.trtc.v20190722.models.StorageParams` """ return self._StorageParams @StorageParams.setter def StorageParams(self, StorageParams): self._StorageParams = StorageParams @property def WebRecordVideoParams(self): """页面录制视频参数 :rtype: :class:`tencentcloud.trtc.v20190722.models.WebRecordVideoParams` """ return self._WebRecordVideoParams @WebRecordVideoParams.setter def WebRecordVideoParams(self, WebRecordVideoParams): self._WebRecordVideoParams = WebRecordVideoParams @property def SdkAppId(self): """【必填】TRTC的SdkAppId :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RecordId(self): """当对重复任务敏感时,请关注此值: 为了避免任务在短时间内重复发起,导致任务重复 传入录制RecordId来标识此次任务, 小于32字节,若携带RecordId发起两次以上的开始录制请求,任务只会启动一个,第二个报错FailedOperation.TaskExist。注意StartWebRecord调用失败时而非FailedOperation.TaskExist错误,请更换RecordId重新发起。 :rtype: str """ return self._RecordId @RecordId.setter def RecordId(self, RecordId): self._RecordId = RecordId @property def PublishCdnParams(self): """若您想要推流到CDN,可以使用PublishCdnParams.N参数设置,支持最多同时推流到10个CDN地址。若转推地址是腾讯云CDN时,请将IsTencentCdn明确设置为1 :rtype: list of McuPublishCdnParam """ return self._PublishCdnParams @PublishCdnParams.setter def PublishCdnParams(self, PublishCdnParams): self._PublishCdnParams = PublishCdnParams @property def ReadyTimeout(self): """录制页面资源加载的超时时间,单位:秒。默认值为 0 秒,该值需大于等于 0秒,且小于等于 60秒。录制页面未启用页面加载超时检测时,请勿设置此参数。 :rtype: int """ return self._ReadyTimeout @ReadyTimeout.setter def ReadyTimeout(self, ReadyTimeout): self._ReadyTimeout = ReadyTimeout @property def EmulateMobileParams(self): """渲染移动模式参数;不准备渲染移动模式页面时,请勿设置此参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.EmulateMobileParams` """ return self._EmulateMobileParams @EmulateMobileParams.setter def EmulateMobileParams(self, EmulateMobileParams): self._EmulateMobileParams = EmulateMobileParams def _deserialize(self, params): self._RecordUrl = params.get("RecordUrl") self._MaxDurationLimit = params.get("MaxDurationLimit") if params.get("StorageParams") is not None: self._StorageParams = StorageParams() self._StorageParams._deserialize(params.get("StorageParams")) if params.get("WebRecordVideoParams") is not None: self._WebRecordVideoParams = WebRecordVideoParams() self._WebRecordVideoParams._deserialize(params.get("WebRecordVideoParams")) self._SdkAppId = params.get("SdkAppId") self._RecordId = params.get("RecordId") if params.get("PublishCdnParams") is not None: self._PublishCdnParams = [] for item in params.get("PublishCdnParams"): obj = McuPublishCdnParam() obj._deserialize(item) self._PublishCdnParams.append(obj) self._ReadyTimeout = params.get("ReadyTimeout") if params.get("EmulateMobileParams") is not None: self._EmulateMobileParams = EmulateMobileParams() self._EmulateMobileParams._deserialize(params.get("EmulateMobileParams")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StartWebRecordResponse(AbstractModel): """StartWebRecord返回参数结构体 """ def __init__(self): r""" :param _TaskId: 录制任务的唯一Id :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """录制任务的唯一Id :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class StopAIConversationRequest(AbstractModel): """StopAIConversation请求参数结构体 """ def __init__(self): r""" :param _TaskId: 唯一标识任务。 :type TaskId: str """ self._TaskId = None @property def TaskId(self): """唯一标识任务。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId def _deserialize(self, params): self._TaskId = params.get("TaskId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopAIConversationResponse(AbstractModel): """StopAIConversation返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StopAITranscriptionRequest(AbstractModel): """StopAITranscription请求参数结构体 """ def __init__(self): r""" :param _TaskId: 唯一标识转录任务。 :type TaskId: str """ self._TaskId = None @property def TaskId(self): """唯一标识转录任务。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId def _deserialize(self, params): self._TaskId = params.get("TaskId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopAITranscriptionResponse(AbstractModel): """StopAITranscription返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StopMCUMixTranscodeByStrRoomIdRequest(AbstractModel): """StopMCUMixTranscodeByStrRoomId请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId。 :type SdkAppId: int :param _StrRoomId: 字符串房间号。 :type StrRoomId: str """ self._SdkAppId = None self._StrRoomId = None @property def SdkAppId(self): """TRTC的SDKAppId。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def StrRoomId(self): """字符串房间号。 :rtype: str """ return self._StrRoomId @StrRoomId.setter def StrRoomId(self, StrRoomId): self._StrRoomId = StrRoomId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._StrRoomId = params.get("StrRoomId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopMCUMixTranscodeByStrRoomIdResponse(AbstractModel): """StopMCUMixTranscodeByStrRoomId返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StopMCUMixTranscodeRequest(AbstractModel): """StopMCUMixTranscode请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId。 :type SdkAppId: int :param _RoomId: 房间号。 :type RoomId: int """ self._SdkAppId = None self._RoomId = None @property def SdkAppId(self): """TRTC的SDKAppId。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def RoomId(self): """房间号。 :rtype: int """ return self._RoomId @RoomId.setter def RoomId(self, RoomId): self._RoomId = RoomId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._RoomId = params.get("RoomId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopMCUMixTranscodeResponse(AbstractModel): """StopMCUMixTranscode返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StopPublishCdnStreamRequest(AbstractModel): """StopPublishCdnStream请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和转推的房间所对应的SdkAppId相同。 :type SdkAppId: int :param _TaskId: 唯一标识转推任务。 :type TaskId: str :param _RecordKey: 录制任务 key,标识一个录制任务,对应转推任务发起时指定 RecordKey; 如果填写该参数,表示调用者希望立即结束该录制任务。当RecordKey 指定的录制任务正在录制当前转推任务时,录制任务立即结束,否则录制任务不受影响。 如果没有填写该参数,但是转推任务发起时填写了 RecordKey,则表示在续录等待时间结束后才结束录制任务,续录等待期间可以使用相同的 RecordKey 发起新的转推任务,和当前转推任务录制到同一文件。 :type RecordKey: str """ self._SdkAppId = None self._TaskId = None self._RecordKey = None @property def SdkAppId(self): """TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和转推的房间所对应的SdkAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """唯一标识转推任务。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RecordKey(self): """录制任务 key,标识一个录制任务,对应转推任务发起时指定 RecordKey; 如果填写该参数,表示调用者希望立即结束该录制任务。当RecordKey 指定的录制任务正在录制当前转推任务时,录制任务立即结束,否则录制任务不受影响。 如果没有填写该参数,但是转推任务发起时填写了 RecordKey,则表示在续录等待时间结束后才结束录制任务,续录等待期间可以使用相同的 RecordKey 发起新的转推任务,和当前转推任务录制到同一文件。 :rtype: str """ return self._RecordKey @RecordKey.setter def RecordKey(self, RecordKey): self._RecordKey = RecordKey def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") self._RecordKey = params.get("RecordKey") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopPublishCdnStreamResponse(AbstractModel): """StopPublishCdnStream返回参数结构体 """ def __init__(self): r""" :param _TaskId: 转推任务唯一的String Id :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """转推任务唯一的String Id :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class StopStreamIngestRequest(AbstractModel): """StopStreamIngest请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId,和任务的房间所对应的SDKAppId相同。 :type SdkAppId: int :param _TaskId: 任务的唯一Id,在启动任务成功后会返回。 :type TaskId: str """ self._SdkAppId = None self._TaskId = None @property def SdkAppId(self): """TRTC的SDKAppId,和任务的房间所对应的SDKAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """任务的唯一Id,在启动任务成功后会返回。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopStreamIngestResponse(AbstractModel): """StopStreamIngest返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StopWebRecordRequest(AbstractModel): """StopWebRecord请求参数结构体 """ def __init__(self): r""" :param _TaskId: 需要停止的任务Id :type TaskId: str """ self._TaskId = None @property def TaskId(self): """需要停止的任务Id :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId def _deserialize(self, params): self._TaskId = params.get("TaskId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StopWebRecordResponse(AbstractModel): """StopWebRecord返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class StorageFile(AbstractModel): """云端录制查询接口,录制文件的信息 """ def __init__(self): r""" :param _UserId: 录制文件对应的UserId,如果是混流的话的这里返回的是空串。 注意:此字段可能返回 null,表示取不到有效值。 :type UserId: str :param _FileName: 录制索引文件名。 :type FileName: str :param _TrackType: 录制文件流信息。 video:视频录制文件 audio:音频录制文件 audio_video:音视频录制文件 注意:此字段可能返回 null,表示取不到有效值。 :type TrackType: str :param _BeginTimeStamp: 录制文件开始Unix时间戳。 :type BeginTimeStamp: int """ self._UserId = None self._FileName = None self._TrackType = None self._BeginTimeStamp = None @property def UserId(self): """录制文件对应的UserId,如果是混流的话的这里返回的是空串。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def FileName(self): """录制索引文件名。 :rtype: str """ return self._FileName @FileName.setter def FileName(self, FileName): self._FileName = FileName @property def TrackType(self): """录制文件流信息。 video:视频录制文件 audio:音频录制文件 audio_video:音视频录制文件 注意:此字段可能返回 null,表示取不到有效值。 :rtype: str """ return self._TrackType @TrackType.setter def TrackType(self, TrackType): self._TrackType = TrackType @property def BeginTimeStamp(self): """录制文件开始Unix时间戳。 :rtype: int """ return self._BeginTimeStamp @BeginTimeStamp.setter def BeginTimeStamp(self, BeginTimeStamp): self._BeginTimeStamp = BeginTimeStamp def _deserialize(self, params): self._UserId = params.get("UserId") self._FileName = params.get("FileName") self._TrackType = params.get("TrackType") self._BeginTimeStamp = params.get("BeginTimeStamp") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class StorageParams(AbstractModel): """录制存储参数 """ def __init__(self): r""" :param _CloudStorage: 腾讯云对象存储COS以及第三方云存储的账号信息 :type CloudStorage: :class:`tencentcloud.trtc.v20190722.models.CloudStorage` :param _CloudVod: 腾讯云云点播Vod的存储信息 :type CloudVod: :class:`tencentcloud.trtc.v20190722.models.CloudVod` """ self._CloudStorage = None self._CloudVod = None @property def CloudStorage(self): """腾讯云对象存储COS以及第三方云存储的账号信息 :rtype: :class:`tencentcloud.trtc.v20190722.models.CloudStorage` """ return self._CloudStorage @CloudStorage.setter def CloudStorage(self, CloudStorage): self._CloudStorage = CloudStorage @property def CloudVod(self): """腾讯云云点播Vod的存储信息 :rtype: :class:`tencentcloud.trtc.v20190722.models.CloudVod` """ return self._CloudVod @CloudVod.setter def CloudVod(self, CloudVod): self._CloudVod = CloudVod def _deserialize(self, params): if params.get("CloudStorage") is not None: self._CloudStorage = CloudStorage() self._CloudStorage._deserialize(params.get("CloudStorage")) if params.get("CloudVod") is not None: self._CloudVod = CloudVod() self._CloudVod._deserialize(params.get("CloudVod")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class SubscribeStreamUserIds(AbstractModel): """指定订阅流白名单或者黑名单,音频的白名单和音频黑名单不能同时设置,视频亦然。同时实际并发订阅的媒体流路数最大支持25路流,混流场景下视频的多画面最大支持24画面。支持通过设置".*$"通配符,来前缀匹配黑白名单的UserId,注意房间里不能有和通配符规则相同的用户,否则将视为订阅具体用户,前缀规则会失效。 """ def __init__(self): r""" :param _SubscribeAudioUserIds: 订阅音频流白名单,指定订阅哪几个UserId的音频流,例如["1", "2", "3"], 代表订阅UserId 1,2,3的音频流;["1.*$"], 代表订阅UserId前缀为1的音频流。默认不填订阅房间内所有的音频流,订阅列表用户数不超过32。 :type SubscribeAudioUserIds: list of str :param _UnSubscribeAudioUserIds: 订阅音频流黑名单,指定不订阅哪几个UserId的音频流,例如["1", "2", "3"], 代表不订阅UserId 1,2,3的音频流;["1.*$"], 代表不订阅UserId前缀为1的音频流。默认不填订阅房间内所有音频流,订阅列表用户数不超过32。 :type UnSubscribeAudioUserIds: list of str :param _SubscribeVideoUserIds: 订阅视频流白名单,指定订阅哪几个UserId的视频流,例如["1", "2", "3"], 代表订阅UserId 1,2,3的视频流;["1.*$"], 代表订阅UserId前缀为1的视频流。默认不填订阅房间内所有视频流,订阅列表用户数不超过32。 :type SubscribeVideoUserIds: list of str :param _UnSubscribeVideoUserIds: 订阅视频流黑名单,指定不订阅哪几个UserId的视频流,例如["1", "2", "3"], 代表不订阅UserId 1,2,3的视频流;["1.*$"], 代表不订阅UserId前缀为1的视频流。默认不填订阅房间内所有视频流,订阅列表用户数不超过32。 :type UnSubscribeVideoUserIds: list of str """ self._SubscribeAudioUserIds = None self._UnSubscribeAudioUserIds = None self._SubscribeVideoUserIds = None self._UnSubscribeVideoUserIds = None @property def SubscribeAudioUserIds(self): """订阅音频流白名单,指定订阅哪几个UserId的音频流,例如["1", "2", "3"], 代表订阅UserId 1,2,3的音频流;["1.*$"], 代表订阅UserId前缀为1的音频流。默认不填订阅房间内所有的音频流,订阅列表用户数不超过32。 :rtype: list of str """ return self._SubscribeAudioUserIds @SubscribeAudioUserIds.setter def SubscribeAudioUserIds(self, SubscribeAudioUserIds): self._SubscribeAudioUserIds = SubscribeAudioUserIds @property def UnSubscribeAudioUserIds(self): """订阅音频流黑名单,指定不订阅哪几个UserId的音频流,例如["1", "2", "3"], 代表不订阅UserId 1,2,3的音频流;["1.*$"], 代表不订阅UserId前缀为1的音频流。默认不填订阅房间内所有音频流,订阅列表用户数不超过32。 :rtype: list of str """ return self._UnSubscribeAudioUserIds @UnSubscribeAudioUserIds.setter def UnSubscribeAudioUserIds(self, UnSubscribeAudioUserIds): self._UnSubscribeAudioUserIds = UnSubscribeAudioUserIds @property def SubscribeVideoUserIds(self): """订阅视频流白名单,指定订阅哪几个UserId的视频流,例如["1", "2", "3"], 代表订阅UserId 1,2,3的视频流;["1.*$"], 代表订阅UserId前缀为1的视频流。默认不填订阅房间内所有视频流,订阅列表用户数不超过32。 :rtype: list of str """ return self._SubscribeVideoUserIds @SubscribeVideoUserIds.setter def SubscribeVideoUserIds(self, SubscribeVideoUserIds): self._SubscribeVideoUserIds = SubscribeVideoUserIds @property def UnSubscribeVideoUserIds(self): """订阅视频流黑名单,指定不订阅哪几个UserId的视频流,例如["1", "2", "3"], 代表不订阅UserId 1,2,3的视频流;["1.*$"], 代表不订阅UserId前缀为1的视频流。默认不填订阅房间内所有视频流,订阅列表用户数不超过32。 :rtype: list of str """ return self._UnSubscribeVideoUserIds @UnSubscribeVideoUserIds.setter def UnSubscribeVideoUserIds(self, UnSubscribeVideoUserIds): self._UnSubscribeVideoUserIds = UnSubscribeVideoUserIds def _deserialize(self, params): self._SubscribeAudioUserIds = params.get("SubscribeAudioUserIds") self._UnSubscribeAudioUserIds = params.get("UnSubscribeAudioUserIds") self._SubscribeVideoUserIds = params.get("SubscribeVideoUserIds") self._UnSubscribeVideoUserIds = params.get("UnSubscribeVideoUserIds") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TRTCDataResp(AbstractModel): """TRTC数据大盘/实时监控 API接口数据出参 """ def __init__(self): r""" :param _StatementID: StatementID值,监控仪表盘下固定为0。 注意:此字段可能返回 null,表示取不到有效值。 :type StatementID: int :param _Series: 查询结果数据,以Columns-Values形式返回。 注意:此字段可能返回 null,表示取不到有效值。 :type Series: list of SeriesInfo :param _Total: Total值,监控仪表盘功能下固定为1。 注意:此字段可能返回 null,表示取不到有效值。 :type Total: int """ self._StatementID = None self._Series = None self._Total = None @property def StatementID(self): """StatementID值,监控仪表盘下固定为0。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._StatementID @StatementID.setter def StatementID(self, StatementID): self._StatementID = StatementID @property def Series(self): """查询结果数据,以Columns-Values形式返回。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of SeriesInfo """ return self._Series @Series.setter def Series(self, Series): self._Series = Series @property def Total(self): """Total值,监控仪表盘功能下固定为1。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Total @Total.setter def Total(self, Total): self._Total = Total def _deserialize(self, params): self._StatementID = params.get("StatementID") if params.get("Series") is not None: self._Series = [] for item in params.get("Series"): obj = SeriesInfo() obj._deserialize(item) self._Series.append(obj) self._Total = params.get("Total") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TRTCDataResult(AbstractModel): """TRTC数据大盘/实时监控 API接口数据出参 """ def __init__(self): r""" :param _StatementID: StatementID值,监控仪表盘下固定为0。 注意:此字段可能返回 null,表示取不到有效值。 :type StatementID: int :param _Series: 查询结果数据,以Columns-Values形式返回。 注意:此字段可能返回 null,表示取不到有效值。 :type Series: list of SeriesInfos :param _Total: Total值,监控仪表盘功能下固定为1。 注意:此字段可能返回 null,表示取不到有效值。 :type Total: int """ self._StatementID = None self._Series = None self._Total = None @property def StatementID(self): """StatementID值,监控仪表盘下固定为0。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._StatementID @StatementID.setter def StatementID(self, StatementID): self._StatementID = StatementID @property def Series(self): """查询结果数据,以Columns-Values形式返回。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: list of SeriesInfos """ return self._Series @Series.setter def Series(self, Series): self._Series = Series @property def Total(self): """Total值,监控仪表盘功能下固定为1。 注意:此字段可能返回 null,表示取不到有效值。 :rtype: int """ return self._Total @Total.setter def Total(self, Total): self._Total = Total def _deserialize(self, params): self._StatementID = params.get("StatementID") if params.get("Series") is not None: self._Series = [] for item in params.get("Series"): obj = SeriesInfos() obj._deserialize(item) self._Series.append(obj) self._Total = params.get("Total") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TencentVod(AbstractModel): """腾讯云点播相关参数。 """ def __init__(self): r""" :param _Procedure: 媒体后续任务处理操作,即完成媒体上传后,可自动发起任务流操作。参数值为任务流模板名,云点播支持 创建任务流模板 并为模板命名。 :type Procedure: str :param _ExpireTime: 媒体文件过期时间,为当前时间的绝对过期时间;保存一天,就填"86400",永久保存就填"0",默认永久保存。 :type ExpireTime: int :param _StorageRegion: 指定上传园区,仅适用于对上传地域有特殊需求的用户。 :type StorageRegion: str :param _ClassId: 分类ID,用于对媒体进行分类管理,可通过 创建分类 接口,创建分类,获得分类 ID。 默认值:0,表示其他分类。 :type ClassId: int :param _SubAppId: 点播 子应用 ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。 :type SubAppId: int :param _SessionContext: 任务流上下文,任务完成回调时透传。 :type SessionContext: str :param _SourceContext: 上传上下文,上传完成回调时透传。 :type SourceContext: str :param _MediaType: 上传到vod平台的录制文件格式类型,0:mp4(默认), 1: hls, 2:aac(StreamType=1纯音频录制时有效), 3: hls+mp4, 4: hls+aac(StreamType=1纯音频录制时有效)。 :type MediaType: int :param _UserDefineRecordId: 仅支持API录制上传vod,该参数表示用户可以自定义录制文件名前缀,【限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符】。前缀与自动生成的录制文件名之间用`__UserDefine_u_` 分开。 :type UserDefineRecordId: str """ self._Procedure = None self._ExpireTime = None self._StorageRegion = None self._ClassId = None self._SubAppId = None self._SessionContext = None self._SourceContext = None self._MediaType = None self._UserDefineRecordId = None @property def Procedure(self): """媒体后续任务处理操作,即完成媒体上传后,可自动发起任务流操作。参数值为任务流模板名,云点播支持 创建任务流模板 并为模板命名。 :rtype: str """ return self._Procedure @Procedure.setter def Procedure(self, Procedure): self._Procedure = Procedure @property def ExpireTime(self): """媒体文件过期时间,为当前时间的绝对过期时间;保存一天,就填"86400",永久保存就填"0",默认永久保存。 :rtype: int """ return self._ExpireTime @ExpireTime.setter def ExpireTime(self, ExpireTime): self._ExpireTime = ExpireTime @property def StorageRegion(self): """指定上传园区,仅适用于对上传地域有特殊需求的用户。 :rtype: str """ return self._StorageRegion @StorageRegion.setter def StorageRegion(self, StorageRegion): self._StorageRegion = StorageRegion @property def ClassId(self): """分类ID,用于对媒体进行分类管理,可通过 创建分类 接口,创建分类,获得分类 ID。 默认值:0,表示其他分类。 :rtype: int """ return self._ClassId @ClassId.setter def ClassId(self, ClassId): self._ClassId = ClassId @property def SubAppId(self): """点播 子应用 ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。 :rtype: int """ return self._SubAppId @SubAppId.setter def SubAppId(self, SubAppId): self._SubAppId = SubAppId @property def SessionContext(self): """任务流上下文,任务完成回调时透传。 :rtype: str """ return self._SessionContext @SessionContext.setter def SessionContext(self, SessionContext): self._SessionContext = SessionContext @property def SourceContext(self): """上传上下文,上传完成回调时透传。 :rtype: str """ return self._SourceContext @SourceContext.setter def SourceContext(self, SourceContext): self._SourceContext = SourceContext @property def MediaType(self): """上传到vod平台的录制文件格式类型,0:mp4(默认), 1: hls, 2:aac(StreamType=1纯音频录制时有效), 3: hls+mp4, 4: hls+aac(StreamType=1纯音频录制时有效)。 :rtype: int """ return self._MediaType @MediaType.setter def MediaType(self, MediaType): self._MediaType = MediaType @property def UserDefineRecordId(self): """仅支持API录制上传vod,该参数表示用户可以自定义录制文件名前缀,【限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符】。前缀与自动生成的录制文件名之间用`__UserDefine_u_` 分开。 :rtype: str """ return self._UserDefineRecordId @UserDefineRecordId.setter def UserDefineRecordId(self, UserDefineRecordId): self._UserDefineRecordId = UserDefineRecordId def _deserialize(self, params): self._Procedure = params.get("Procedure") self._ExpireTime = params.get("ExpireTime") self._StorageRegion = params.get("StorageRegion") self._ClassId = params.get("ClassId") self._SubAppId = params.get("SubAppId") self._SessionContext = params.get("SessionContext") self._SourceContext = params.get("SourceContext") self._MediaType = params.get("MediaType") self._UserDefineRecordId = params.get("UserDefineRecordId") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TimeValue(AbstractModel): """返回的质量数据,时间:值 """ def __init__(self): r""" :param _Time: 时间,unix时间戳(1590065877s) :type Time: int :param _Value: 当前时间返回参数取值,如(bigvCapFps在1590065877取值为0,则Value:0 ) :type Value: float """ self._Time = None self._Value = None @property def Time(self): """时间,unix时间戳(1590065877s) :rtype: int """ return self._Time @Time.setter def Time(self, Time): self._Time = Time @property def Value(self): """当前时间返回参数取值,如(bigvCapFps在1590065877取值为0,则Value:0 ) :rtype: float """ return self._Value @Value.setter def Value(self, Value): self._Value = Value def _deserialize(self, params): self._Time = params.get("Time") self._Value = params.get("Value") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TranscriptionParams(AbstractModel): """AI转录参数 """ def __init__(self): r""" :param _UserId: 转录机器人的UserId,用于进房发起转录任务。【注意】这个UserId不能与当前房间内的主播观众[UserId](https://cloud.tencent.com/document/product/647/46351#userid)重复。如果一个房间发起多个转录任务时,机器人的userid也不能相互重复,否则会中断前一个任务。需要保证转录机器人UserId在房间内唯一。 :type UserId: str :param _UserSig: 转录机器人UserId对应的校验签名,即UserId和UserSig相当于转录机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :type UserSig: str :param _IMAdminUserId: IM[管理员账户]( https://cloud.tencent.com/document/product/269/31999#app-.E7.AE.A1.E7.90.86.E5.91.98),如果填写,后台下发消息会使用IM通道,而不是TRTC自定义消息。 :type IMAdminUserId: str :param _IMAdminUserSig: IM管理员账户生成的签名,用于向特定群组发送消息。如果填写,后台下发消息会使用IM通道,而不是TRTC自定义消息。必须和IM管理员的UserId一起填写。 :type IMAdminUserSig: str :param _MaxIdleTime: 房间内推流用户全部退出后超过MaxIdleTime秒,后台自动关闭转录任务,默认值是60s。 :type MaxIdleTime: int :param _TranscriptionMode: 1表示机器人只订阅单个人的流,0表示机器人订阅整个房间的流,如果不填默认订阅整个房间的流。 :type TranscriptionMode: int :param _TargetUserId: TranscriptionMode为1时必填,机器人只会拉该userid的流,忽略房间里其他用户。 :type TargetUserId: str :param _TargetUserIdList: 机器人订阅的用户列表 仅 TranscriptionMode 为 1或者 TranscriptionMode 为无限上麦模式支持传入多个用户列表 :type TargetUserIdList: list of str """ self._UserId = None self._UserSig = None self._IMAdminUserId = None self._IMAdminUserSig = None self._MaxIdleTime = None self._TranscriptionMode = None self._TargetUserId = None self._TargetUserIdList = None @property def UserId(self): """转录机器人的UserId,用于进房发起转录任务。【注意】这个UserId不能与当前房间内的主播观众[UserId](https://cloud.tencent.com/document/product/647/46351#userid)重复。如果一个房间发起多个转录任务时,机器人的userid也不能相互重复,否则会中断前一个任务。需要保证转录机器人UserId在房间内唯一。 :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def UserSig(self): """转录机器人UserId对应的校验签名,即UserId和UserSig相当于转录机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910#UserSig)的方案。 :rtype: str """ return self._UserSig @UserSig.setter def UserSig(self, UserSig): self._UserSig = UserSig @property def IMAdminUserId(self): warnings.warn("parameter `IMAdminUserId` is deprecated", DeprecationWarning) """IM[管理员账户]( https://cloud.tencent.com/document/product/269/31999#app-.E7.AE.A1.E7.90.86.E5.91.98),如果填写,后台下发消息会使用IM通道,而不是TRTC自定义消息。 :rtype: str """ return self._IMAdminUserId @IMAdminUserId.setter def IMAdminUserId(self, IMAdminUserId): warnings.warn("parameter `IMAdminUserId` is deprecated", DeprecationWarning) self._IMAdminUserId = IMAdminUserId @property def IMAdminUserSig(self): warnings.warn("parameter `IMAdminUserSig` is deprecated", DeprecationWarning) """IM管理员账户生成的签名,用于向特定群组发送消息。如果填写,后台下发消息会使用IM通道,而不是TRTC自定义消息。必须和IM管理员的UserId一起填写。 :rtype: str """ return self._IMAdminUserSig @IMAdminUserSig.setter def IMAdminUserSig(self, IMAdminUserSig): warnings.warn("parameter `IMAdminUserSig` is deprecated", DeprecationWarning) self._IMAdminUserSig = IMAdminUserSig @property def MaxIdleTime(self): """房间内推流用户全部退出后超过MaxIdleTime秒,后台自动关闭转录任务,默认值是60s。 :rtype: int """ return self._MaxIdleTime @MaxIdleTime.setter def MaxIdleTime(self, MaxIdleTime): self._MaxIdleTime = MaxIdleTime @property def TranscriptionMode(self): """1表示机器人只订阅单个人的流,0表示机器人订阅整个房间的流,如果不填默认订阅整个房间的流。 :rtype: int """ return self._TranscriptionMode @TranscriptionMode.setter def TranscriptionMode(self, TranscriptionMode): self._TranscriptionMode = TranscriptionMode @property def TargetUserId(self): """TranscriptionMode为1时必填,机器人只会拉该userid的流,忽略房间里其他用户。 :rtype: str """ return self._TargetUserId @TargetUserId.setter def TargetUserId(self, TargetUserId): self._TargetUserId = TargetUserId @property def TargetUserIdList(self): """机器人订阅的用户列表 仅 TranscriptionMode 为 1或者 TranscriptionMode 为无限上麦模式支持传入多个用户列表 :rtype: list of str """ return self._TargetUserIdList @TargetUserIdList.setter def TargetUserIdList(self, TargetUserIdList): self._TargetUserIdList = TargetUserIdList def _deserialize(self, params): self._UserId = params.get("UserId") self._UserSig = params.get("UserSig") self._IMAdminUserId = params.get("IMAdminUserId") self._IMAdminUserSig = params.get("IMAdminUserSig") self._MaxIdleTime = params.get("MaxIdleTime") self._TranscriptionMode = params.get("TranscriptionMode") self._TargetUserId = params.get("TargetUserId") self._TargetUserIdList = params.get("TargetUserIdList") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class TrtcUsage(AbstractModel): """实时音视频用量在某一时间段的统计信息。 """ def __init__(self): r""" :param _TimeKey: 时间点,格式为YYYY-MM-DD HH:mm:ss。多天查询时,HH:mm:ss为00:00:00。 :type TimeKey: str :param _TimeStampKey: 时间点时间戳 :type TimeStampKey: int :param _UsageValue: 用量数组。每个数值含义与UsageKey对应。单位:分钟。 :type UsageValue: list of float """ self._TimeKey = None self._TimeStampKey = None self._UsageValue = None @property def TimeKey(self): """时间点,格式为YYYY-MM-DD HH:mm:ss。多天查询时,HH:mm:ss为00:00:00。 :rtype: str """ return self._TimeKey @TimeKey.setter def TimeKey(self, TimeKey): self._TimeKey = TimeKey @property def TimeStampKey(self): """时间点时间戳 :rtype: int """ return self._TimeStampKey @TimeStampKey.setter def TimeStampKey(self, TimeStampKey): self._TimeStampKey = TimeStampKey @property def UsageValue(self): """用量数组。每个数值含义与UsageKey对应。单位:分钟。 :rtype: list of float """ return self._UsageValue @UsageValue.setter def UsageValue(self, UsageValue): self._UsageValue = UsageValue def _deserialize(self, params): self._TimeKey = params.get("TimeKey") self._TimeStampKey = params.get("TimeStampKey") self._UsageValue = params.get("UsageValue") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UpdateAIConversationRequest(AbstractModel): """UpdateAIConversation请求参数结构体 """ def __init__(self): r""" :param _TaskId: 唯一标识一个任务 :type TaskId: str :param _WelcomeMessage: 不填写则不进行更新,机器人的欢迎语 :type WelcomeMessage: str :param _InterruptMode: 不填写则不进行更新。智能打断模式,0表示服务端自动打断,1表示服务端不打断,由端上发送打断信令进行打断 :type InterruptMode: int :param _InterruptSpeechDuration: 不填写则不进行更新。InterruptMode为0时使用,单位为毫秒,默认为500ms。表示服务端检测到持续InterruptSpeechDuration毫秒的人声则进行打断 :type InterruptSpeechDuration: int :param _LLMConfig: 不填写则不进行更新,LLM配置,详情见StartAIConversation接口 :type LLMConfig: str :param _TTSConfig: 不填写则不进行更新,TTS配置,详情见StartAIConversation接口 :type TTSConfig: str """ self._TaskId = None self._WelcomeMessage = None self._InterruptMode = None self._InterruptSpeechDuration = None self._LLMConfig = None self._TTSConfig = None @property def TaskId(self): """唯一标识一个任务 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def WelcomeMessage(self): """不填写则不进行更新,机器人的欢迎语 :rtype: str """ return self._WelcomeMessage @WelcomeMessage.setter def WelcomeMessage(self, WelcomeMessage): self._WelcomeMessage = WelcomeMessage @property def InterruptMode(self): """不填写则不进行更新。智能打断模式,0表示服务端自动打断,1表示服务端不打断,由端上发送打断信令进行打断 :rtype: int """ return self._InterruptMode @InterruptMode.setter def InterruptMode(self, InterruptMode): self._InterruptMode = InterruptMode @property def InterruptSpeechDuration(self): """不填写则不进行更新。InterruptMode为0时使用,单位为毫秒,默认为500ms。表示服务端检测到持续InterruptSpeechDuration毫秒的人声则进行打断 :rtype: int """ return self._InterruptSpeechDuration @InterruptSpeechDuration.setter def InterruptSpeechDuration(self, InterruptSpeechDuration): self._InterruptSpeechDuration = InterruptSpeechDuration @property def LLMConfig(self): """不填写则不进行更新,LLM配置,详情见StartAIConversation接口 :rtype: str """ return self._LLMConfig @LLMConfig.setter def LLMConfig(self, LLMConfig): self._LLMConfig = LLMConfig @property def TTSConfig(self): """不填写则不进行更新,TTS配置,详情见StartAIConversation接口 :rtype: str """ return self._TTSConfig @TTSConfig.setter def TTSConfig(self, TTSConfig): self._TTSConfig = TTSConfig def _deserialize(self, params): self._TaskId = params.get("TaskId") self._WelcomeMessage = params.get("WelcomeMessage") self._InterruptMode = params.get("InterruptMode") self._InterruptSpeechDuration = params.get("InterruptSpeechDuration") self._LLMConfig = params.get("LLMConfig") self._TTSConfig = params.get("TTSConfig") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UpdateAIConversationResponse(AbstractModel): """UpdateAIConversation返回参数结构体 """ def __init__(self): r""" :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._RequestId = None @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._RequestId = params.get("RequestId") class UpdatePublishCdnStreamRequest(AbstractModel): """UpdatePublishCdnStream请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和转推的房间所对应的SdkAppId相同。 :type SdkAppId: int :param _TaskId: 唯一标识转推任务。 :type TaskId: str :param _SequenceNumber: 客户保证同一个任务,每次更新请求中的SequenceNumber递增,防止请求乱序。 :type SequenceNumber: int :param _WithTranscoding: 是否转码,0表示无需转码,1表示需要转码。 :type WithTranscoding: int :param _AudioParams: 更新相关参数,只支持更新参与混音的主播列表参数,不支持更新Codec、采样率、码率和声道数。不填表示不更新此参数。 :type AudioParams: :class:`tencentcloud.trtc.v20190722.models.McuAudioParams` :param _VideoParams: 更新视频相关参数,转码时支持更新除编码类型之外的编码参数,视频布局参数,背景图片和背景颜色参数,水印参数。不填表示不更新此参数。 :type VideoParams: :class:`tencentcloud.trtc.v20190722.models.McuVideoParams` :param _SingleSubscribeParams: 更新单流转推的用户上行参数,仅在非转码时有效。不填表示不更新此参数。 :type SingleSubscribeParams: :class:`tencentcloud.trtc.v20190722.models.SingleSubscribeParams` :param _PublishCdnParams: 更新转推的CDN参数。不填表示不更新此参数。 :type PublishCdnParams: list of McuPublishCdnParam :param _SeiParams: 混流SEI参数 :type SeiParams: :class:`tencentcloud.trtc.v20190722.models.McuSeiParams` :param _FeedBackRoomParams: 回推房间信息 :type FeedBackRoomParams: list of McuFeedBackRoomParams """ self._SdkAppId = None self._TaskId = None self._SequenceNumber = None self._WithTranscoding = None self._AudioParams = None self._VideoParams = None self._SingleSubscribeParams = None self._PublishCdnParams = None self._SeiParams = None self._FeedBackRoomParams = None @property def SdkAppId(self): """TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351#sdkappid),和转推的房间所对应的SdkAppId相同。 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """唯一标识转推任务。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def SequenceNumber(self): """客户保证同一个任务,每次更新请求中的SequenceNumber递增,防止请求乱序。 :rtype: int """ return self._SequenceNumber @SequenceNumber.setter def SequenceNumber(self, SequenceNumber): self._SequenceNumber = SequenceNumber @property def WithTranscoding(self): """是否转码,0表示无需转码,1表示需要转码。 :rtype: int """ return self._WithTranscoding @WithTranscoding.setter def WithTranscoding(self, WithTranscoding): self._WithTranscoding = WithTranscoding @property def AudioParams(self): """更新相关参数,只支持更新参与混音的主播列表参数,不支持更新Codec、采样率、码率和声道数。不填表示不更新此参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuAudioParams` """ return self._AudioParams @AudioParams.setter def AudioParams(self, AudioParams): self._AudioParams = AudioParams @property def VideoParams(self): """更新视频相关参数,转码时支持更新除编码类型之外的编码参数,视频布局参数,背景图片和背景颜色参数,水印参数。不填表示不更新此参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuVideoParams` """ return self._VideoParams @VideoParams.setter def VideoParams(self, VideoParams): self._VideoParams = VideoParams @property def SingleSubscribeParams(self): """更新单流转推的用户上行参数,仅在非转码时有效。不填表示不更新此参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.SingleSubscribeParams` """ return self._SingleSubscribeParams @SingleSubscribeParams.setter def SingleSubscribeParams(self, SingleSubscribeParams): self._SingleSubscribeParams = SingleSubscribeParams @property def PublishCdnParams(self): """更新转推的CDN参数。不填表示不更新此参数。 :rtype: list of McuPublishCdnParam """ return self._PublishCdnParams @PublishCdnParams.setter def PublishCdnParams(self, PublishCdnParams): self._PublishCdnParams = PublishCdnParams @property def SeiParams(self): """混流SEI参数 :rtype: :class:`tencentcloud.trtc.v20190722.models.McuSeiParams` """ return self._SeiParams @SeiParams.setter def SeiParams(self, SeiParams): self._SeiParams = SeiParams @property def FeedBackRoomParams(self): """回推房间信息 :rtype: list of McuFeedBackRoomParams """ return self._FeedBackRoomParams @FeedBackRoomParams.setter def FeedBackRoomParams(self, FeedBackRoomParams): self._FeedBackRoomParams = FeedBackRoomParams def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") self._SequenceNumber = params.get("SequenceNumber") self._WithTranscoding = params.get("WithTranscoding") if params.get("AudioParams") is not None: self._AudioParams = McuAudioParams() self._AudioParams._deserialize(params.get("AudioParams")) if params.get("VideoParams") is not None: self._VideoParams = McuVideoParams() self._VideoParams._deserialize(params.get("VideoParams")) if params.get("SingleSubscribeParams") is not None: self._SingleSubscribeParams = SingleSubscribeParams() self._SingleSubscribeParams._deserialize(params.get("SingleSubscribeParams")) if params.get("PublishCdnParams") is not None: self._PublishCdnParams = [] for item in params.get("PublishCdnParams"): obj = McuPublishCdnParam() obj._deserialize(item) self._PublishCdnParams.append(obj) if params.get("SeiParams") is not None: self._SeiParams = McuSeiParams() self._SeiParams._deserialize(params.get("SeiParams")) if params.get("FeedBackRoomParams") is not None: self._FeedBackRoomParams = [] for item in params.get("FeedBackRoomParams"): obj = McuFeedBackRoomParams() obj._deserialize(item) self._FeedBackRoomParams.append(obj) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UpdatePublishCdnStreamResponse(AbstractModel): """UpdatePublishCdnStream返回参数结构体 """ def __init__(self): r""" :param _TaskId: 转推任务唯一的String Id :type TaskId: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._TaskId = None self._RequestId = None @property def TaskId(self): """转推任务唯一的String Id :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._TaskId = params.get("TaskId") self._RequestId = params.get("RequestId") class UpdateStreamIngestRequest(AbstractModel): """UpdateStreamIngest请求参数结构体 """ def __init__(self): r""" :param _SdkAppId: TRTC的SDKAppId,和任务的房间所对应的SDKAppId相同 :type SdkAppId: int :param _TaskId: 任务的唯一Id,在启动任务成功后会返回。 :type TaskId: str :param _StreamUrl: 源流URL。 :type StreamUrl: str :param _Volume: 音量,取值范围[0, 100],默认100,表示原音量。 :type Volume: int :param _IsPause: 是否暂停,默认false表示不暂停。暂停期间任务仍在进行中仍会计费,如果要销毁任务请调用停止接口。 :type IsPause: bool """ self._SdkAppId = None self._TaskId = None self._StreamUrl = None self._Volume = None self._IsPause = None @property def SdkAppId(self): """TRTC的SDKAppId,和任务的房间所对应的SDKAppId相同 :rtype: int """ return self._SdkAppId @SdkAppId.setter def SdkAppId(self, SdkAppId): self._SdkAppId = SdkAppId @property def TaskId(self): """任务的唯一Id,在启动任务成功后会返回。 :rtype: str """ return self._TaskId @TaskId.setter def TaskId(self, TaskId): self._TaskId = TaskId @property def StreamUrl(self): """源流URL。 :rtype: str """ return self._StreamUrl @StreamUrl.setter def StreamUrl(self, StreamUrl): self._StreamUrl = StreamUrl @property def Volume(self): """音量,取值范围[0, 100],默认100,表示原音量。 :rtype: int """ return self._Volume @Volume.setter def Volume(self, Volume): self._Volume = Volume @property def IsPause(self): """是否暂停,默认false表示不暂停。暂停期间任务仍在进行中仍会计费,如果要销毁任务请调用停止接口。 :rtype: bool """ return self._IsPause @IsPause.setter def IsPause(self, IsPause): self._IsPause = IsPause def _deserialize(self, params): self._SdkAppId = params.get("SdkAppId") self._TaskId = params.get("TaskId") self._StreamUrl = params.get("StreamUrl") self._Volume = params.get("Volume") self._IsPause = params.get("IsPause") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UpdateStreamIngestResponse(AbstractModel): """UpdateStreamIngest返回参数结构体 """ def __init__(self): r""" :param _Status: 任务的状态信息。InProgress:表示当前任务正在进行中。NotExist:表示当前任务不存在。示例值:InProgress :type Status: str :param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :type RequestId: str """ self._Status = None self._RequestId = None @property def Status(self): """任务的状态信息。InProgress:表示当前任务正在进行中。NotExist:表示当前任务不存在。示例值:InProgress :rtype: str """ return self._Status @Status.setter def Status(self, Status): self._Status = Status @property def RequestId(self): """唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 :rtype: str """ return self._RequestId @RequestId.setter def RequestId(self, RequestId): self._RequestId = RequestId def _deserialize(self, params): self._Status = params.get("Status") self._RequestId = params.get("RequestId") class UserInformation(AbstractModel): """用户信息,包括用户进房时间,退房时间等 """ def __init__(self): r""" :param _RoomStr: 房间号 :type RoomStr: str :param _UserId: 用户Id :type UserId: str :param _JoinTs: 用户进房时间 :type JoinTs: int :param _LeaveTs: 用户退房时间,用户没有退房则返回当前时间 :type LeaveTs: int :param _DeviceType: 终端类型 :type DeviceType: str :param _SdkVersion: Sdk版本号 :type SdkVersion: str :param _ClientIp: 客户端IP地址 :type ClientIp: str :param _Finished: 判断用户是否已经离开房间 :type Finished: bool """ self._RoomStr = None self._UserId = None self._JoinTs = None self._LeaveTs = None self._DeviceType = None self._SdkVersion = None self._ClientIp = None self._Finished = None @property def RoomStr(self): """房间号 :rtype: str """ return self._RoomStr @RoomStr.setter def RoomStr(self, RoomStr): self._RoomStr = RoomStr @property def UserId(self): """用户Id :rtype: str """ return self._UserId @UserId.setter def UserId(self, UserId): self._UserId = UserId @property def JoinTs(self): """用户进房时间 :rtype: int """ return self._JoinTs @JoinTs.setter def JoinTs(self, JoinTs): self._JoinTs = JoinTs @property def LeaveTs(self): """用户退房时间,用户没有退房则返回当前时间 :rtype: int """ return self._LeaveTs @LeaveTs.setter def LeaveTs(self, LeaveTs): self._LeaveTs = LeaveTs @property def DeviceType(self): """终端类型 :rtype: str """ return self._DeviceType @DeviceType.setter def DeviceType(self, DeviceType): self._DeviceType = DeviceType @property def SdkVersion(self): """Sdk版本号 :rtype: str """ return self._SdkVersion @SdkVersion.setter def SdkVersion(self, SdkVersion): self._SdkVersion = SdkVersion @property def ClientIp(self): """客户端IP地址 :rtype: str """ return self._ClientIp @ClientIp.setter def ClientIp(self, ClientIp): self._ClientIp = ClientIp @property def Finished(self): """判断用户是否已经离开房间 :rtype: bool """ return self._Finished @Finished.setter def Finished(self, Finished): self._Finished = Finished def _deserialize(self, params): self._RoomStr = params.get("RoomStr") self._UserId = params.get("UserId") self._JoinTs = params.get("JoinTs") self._LeaveTs = params.get("LeaveTs") self._DeviceType = params.get("DeviceType") self._SdkVersion = params.get("SdkVersion") self._ClientIp = params.get("ClientIp") self._Finished = params.get("Finished") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class UserMediaStream(AbstractModel): """用户媒体流参数。 """ def __init__(self): r""" :param _UserInfo: TRTC用户参数。 :type UserInfo: :class:`tencentcloud.trtc.v20190722.models.MixUserInfo` :param _StreamType: 主辅路流类型,0为摄像头,1为屏幕分享,不填默认为0。 :type StreamType: int """ self._UserInfo = None self._StreamType = None @property def UserInfo(self): """TRTC用户参数。 :rtype: :class:`tencentcloud.trtc.v20190722.models.MixUserInfo` """ return self._UserInfo @UserInfo.setter def UserInfo(self, UserInfo): self._UserInfo = UserInfo @property def StreamType(self): """主辅路流类型,0为摄像头,1为屏幕分享,不填默认为0。 :rtype: int """ return self._StreamType @StreamType.setter def StreamType(self, StreamType): self._StreamType = StreamType def _deserialize(self, params): if params.get("UserInfo") is not None: self._UserInfo = MixUserInfo() self._UserInfo._deserialize(params.get("UserInfo")) self._StreamType = params.get("StreamType") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class VideoEncode(AbstractModel): """视频编码参数。 """ def __init__(self): r""" :param _Width: 输出流宽,音视频输出时必填。取值范围[0,1920],单位为像素值。 :type Width: int :param _Height: 输出流高,音视频输出时必填。取值范围[0,1080],单位为像素值。 :type Height: int :param _Fps: 输出流帧率,音视频输出时必填。取值范围[1,60],表示混流的输出帧率可选范围为1到60fps。 :type Fps: int :param _BitRate: 输出流码率,音视频输出时必填。取值范围[1,10000],单位为kbps。 :type BitRate: int :param _Gop: 输出流gop,音视频输出时必填。取值范围[1,5],单位为秒。 :type Gop: int """ self._Width = None self._Height = None self._Fps = None self._BitRate = None self._Gop = None @property def Width(self): """输出流宽,音视频输出时必填。取值范围[0,1920],单位为像素值。 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """输出流高,音视频输出时必填。取值范围[0,1080],单位为像素值。 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def Fps(self): """输出流帧率,音视频输出时必填。取值范围[1,60],表示混流的输出帧率可选范围为1到60fps。 :rtype: int """ return self._Fps @Fps.setter def Fps(self, Fps): self._Fps = Fps @property def BitRate(self): """输出流码率,音视频输出时必填。取值范围[1,10000],单位为kbps。 :rtype: int """ return self._BitRate @BitRate.setter def BitRate(self, BitRate): self._BitRate = BitRate @property def Gop(self): """输出流gop,音视频输出时必填。取值范围[1,5],单位为秒。 :rtype: int """ return self._Gop @Gop.setter def Gop(self, Gop): self._Gop = Gop def _deserialize(self, params): self._Width = params.get("Width") self._Height = params.get("Height") self._Fps = params.get("Fps") self._BitRate = params.get("BitRate") self._Gop = params.get("Gop") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class VideoEncodeParams(AbstractModel): """视频转码参数 """ def __init__(self): r""" :param _Width: 宽。取值范围[0,1920],单位为像素值。 :type Width: int :param _Height: 高。取值范围[0,1080],单位为像素值。 :type Height: int :param _Fps: 帧率。取值范围[1,60],表示帧率可选范围为1到60fps。 :type Fps: int :param _BitRate: 码率。取值范围[1,10000],单位为kbps。 :type BitRate: int :param _Gop: gop。取值范围[1,2],单位为秒。 :type Gop: int """ self._Width = None self._Height = None self._Fps = None self._BitRate = None self._Gop = None @property def Width(self): """宽。取值范围[0,1920],单位为像素值。 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """高。取值范围[0,1080],单位为像素值。 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def Fps(self): """帧率。取值范围[1,60],表示帧率可选范围为1到60fps。 :rtype: int """ return self._Fps @Fps.setter def Fps(self, Fps): self._Fps = Fps @property def BitRate(self): """码率。取值范围[1,10000],单位为kbps。 :rtype: int """ return self._BitRate @BitRate.setter def BitRate(self, BitRate): self._BitRate = BitRate @property def Gop(self): """gop。取值范围[1,2],单位为秒。 :rtype: int """ return self._Gop @Gop.setter def Gop(self, Gop): self._Gop = Gop def _deserialize(self, params): self._Width = params.get("Width") self._Height = params.get("Height") self._Fps = params.get("Fps") self._BitRate = params.get("BitRate") self._Gop = params.get("Gop") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class VideoParams(AbstractModel): """录制视频转码参数。 """ def __init__(self): r""" :param _Width: 视频的宽度值,单位为像素,默认值360。不能超过1920,与height的乘积不能超过1920*1080。 :type Width: int :param _Height: 视频的高度值,单位为像素,默认值640。不能超过1920,与width的乘积不能超过1920*1080。 :type Height: int :param _Fps: 视频的帧率,范围[1, 60],默认15。 :type Fps: int :param _BitRate: 视频的码率,单位是bps,范围[64000, 8192000],默认550000bps。 :type BitRate: int :param _Gop: 视频关键帧时间间隔,单位秒,默认值10秒。 :type Gop: int """ self._Width = None self._Height = None self._Fps = None self._BitRate = None self._Gop = None @property def Width(self): """视频的宽度值,单位为像素,默认值360。不能超过1920,与height的乘积不能超过1920*1080。 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """视频的高度值,单位为像素,默认值640。不能超过1920,与width的乘积不能超过1920*1080。 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def Fps(self): """视频的帧率,范围[1, 60],默认15。 :rtype: int """ return self._Fps @Fps.setter def Fps(self, Fps): self._Fps = Fps @property def BitRate(self): """视频的码率,单位是bps,范围[64000, 8192000],默认550000bps。 :rtype: int """ return self._BitRate @BitRate.setter def BitRate(self, BitRate): self._BitRate = BitRate @property def Gop(self): """视频关键帧时间间隔,单位秒,默认值10秒。 :rtype: int """ return self._Gop @Gop.setter def Gop(self, Gop): self._Gop = Gop def _deserialize(self, params): self._Width = params.get("Width") self._Height = params.get("Height") self._Fps = params.get("Fps") self._BitRate = params.get("BitRate") self._Gop = params.get("Gop") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class WaterMark(AbstractModel): """水印布局参数 """ def __init__(self): r""" :param _WaterMarkType: 水印类型,0为图片(默认),1为文字,2为时间戳。 :type WaterMarkType: int :param _WaterMarkImage: 水印为图片时的参数列表,水印为图片时校验必填。 :type WaterMarkImage: :class:`tencentcloud.trtc.v20190722.models.WaterMarkImage` :param _WaterMarkChar: 水印为文字时的参数列表,水印为文字时校验必填。 :type WaterMarkChar: :class:`tencentcloud.trtc.v20190722.models.WaterMarkChar` :param _WaterMarkTimestamp: 水印为时间戳时的参数列表,水印为时间戳时校验必填。 :type WaterMarkTimestamp: :class:`tencentcloud.trtc.v20190722.models.WaterMarkTimestamp` """ self._WaterMarkType = None self._WaterMarkImage = None self._WaterMarkChar = None self._WaterMarkTimestamp = None @property def WaterMarkType(self): """水印类型,0为图片(默认),1为文字,2为时间戳。 :rtype: int """ return self._WaterMarkType @WaterMarkType.setter def WaterMarkType(self, WaterMarkType): self._WaterMarkType = WaterMarkType @property def WaterMarkImage(self): """水印为图片时的参数列表,水印为图片时校验必填。 :rtype: :class:`tencentcloud.trtc.v20190722.models.WaterMarkImage` """ return self._WaterMarkImage @WaterMarkImage.setter def WaterMarkImage(self, WaterMarkImage): self._WaterMarkImage = WaterMarkImage @property def WaterMarkChar(self): """水印为文字时的参数列表,水印为文字时校验必填。 :rtype: :class:`tencentcloud.trtc.v20190722.models.WaterMarkChar` """ return self._WaterMarkChar @WaterMarkChar.setter def WaterMarkChar(self, WaterMarkChar): self._WaterMarkChar = WaterMarkChar @property def WaterMarkTimestamp(self): """水印为时间戳时的参数列表,水印为时间戳时校验必填。 :rtype: :class:`tencentcloud.trtc.v20190722.models.WaterMarkTimestamp` """ return self._WaterMarkTimestamp @WaterMarkTimestamp.setter def WaterMarkTimestamp(self, WaterMarkTimestamp): self._WaterMarkTimestamp = WaterMarkTimestamp def _deserialize(self, params): self._WaterMarkType = params.get("WaterMarkType") if params.get("WaterMarkImage") is not None: self._WaterMarkImage = WaterMarkImage() self._WaterMarkImage._deserialize(params.get("WaterMarkImage")) if params.get("WaterMarkChar") is not None: self._WaterMarkChar = WaterMarkChar() self._WaterMarkChar._deserialize(params.get("WaterMarkChar")) if params.get("WaterMarkTimestamp") is not None: self._WaterMarkTimestamp = WaterMarkTimestamp() self._WaterMarkTimestamp._deserialize(params.get("WaterMarkTimestamp")) memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class WaterMarkChar(AbstractModel): """自定义文字水印数据结构 """ def __init__(self): r""" :param _Top: 文字水印的起始坐标Y值,从左上角开始 :type Top: int :param _Left: 文字水印的起始坐标X值,从左上角开始 :type Left: int :param _Width: 文字水印的宽度,单位像素值 :type Width: int :param _Height: 文字水印的高度,单位像素值 :type Height: int :param _Chars: 水印文字的内容 :type Chars: str :param _FontSize: 水印文字的大小,单位像素,默认14 :type FontSize: int :param _FontColor: 水印文字的颜色,默认白色 :type FontColor: str :param _BackGroundColor: 水印文字的背景色,为空代表背景透明,默认为空 :type BackGroundColor: str :param _Font: 文字水印的字体,支持设置以下值: 1. Tencent (默认) 2. SourceHanSans :type Font: str """ self._Top = None self._Left = None self._Width = None self._Height = None self._Chars = None self._FontSize = None self._FontColor = None self._BackGroundColor = None self._Font = None @property def Top(self): """文字水印的起始坐标Y值,从左上角开始 :rtype: int """ return self._Top @Top.setter def Top(self, Top): self._Top = Top @property def Left(self): """文字水印的起始坐标X值,从左上角开始 :rtype: int """ return self._Left @Left.setter def Left(self, Left): self._Left = Left @property def Width(self): """文字水印的宽度,单位像素值 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """文字水印的高度,单位像素值 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def Chars(self): """水印文字的内容 :rtype: str """ return self._Chars @Chars.setter def Chars(self, Chars): self._Chars = Chars @property def FontSize(self): """水印文字的大小,单位像素,默认14 :rtype: int """ return self._FontSize @FontSize.setter def FontSize(self, FontSize): self._FontSize = FontSize @property def FontColor(self): """水印文字的颜色,默认白色 :rtype: str """ return self._FontColor @FontColor.setter def FontColor(self, FontColor): self._FontColor = FontColor @property def BackGroundColor(self): """水印文字的背景色,为空代表背景透明,默认为空 :rtype: str """ return self._BackGroundColor @BackGroundColor.setter def BackGroundColor(self, BackGroundColor): self._BackGroundColor = BackGroundColor @property def Font(self): """文字水印的字体,支持设置以下值: 1. Tencent (默认) 2. SourceHanSans :rtype: str """ return self._Font @Font.setter def Font(self, Font): self._Font = Font def _deserialize(self, params): self._Top = params.get("Top") self._Left = params.get("Left") self._Width = params.get("Width") self._Height = params.get("Height") self._Chars = params.get("Chars") self._FontSize = params.get("FontSize") self._FontColor = params.get("FontColor") self._BackGroundColor = params.get("BackGroundColor") self._Font = params.get("Font") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class WaterMarkImage(AbstractModel): """水印类型为图片的参数列表 """ def __init__(self): r""" :param _WaterMarkUrl: 下载的url地址, 只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' :type WaterMarkUrl: str :param _Top: 画布上该画面左上角的 y 轴坐标,取值范围 [0, 2560],不能超过画布的高。 :type Top: int :param _Left: 画布上该画面左上角的 x 轴坐标,取值范围 [0, 2560],不能超过画布的宽。 :type Left: int :param _Width: 画布上该画面宽度的相对值,取值范围 [0, 2560],与Left相加不应超过画布的宽。 :type Width: int :param _Height: 画布上该画面高度的相对值,取值范围 [0, 2560],与Top相加不应超过画布的高。 :type Height: int """ self._WaterMarkUrl = None self._Top = None self._Left = None self._Width = None self._Height = None @property def WaterMarkUrl(self): """下载的url地址, 只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' :rtype: str """ return self._WaterMarkUrl @WaterMarkUrl.setter def WaterMarkUrl(self, WaterMarkUrl): self._WaterMarkUrl = WaterMarkUrl @property def Top(self): """画布上该画面左上角的 y 轴坐标,取值范围 [0, 2560],不能超过画布的高。 :rtype: int """ return self._Top @Top.setter def Top(self, Top): self._Top = Top @property def Left(self): """画布上该画面左上角的 x 轴坐标,取值范围 [0, 2560],不能超过画布的宽。 :rtype: int """ return self._Left @Left.setter def Left(self, Left): self._Left = Left @property def Width(self): """画布上该画面宽度的相对值,取值范围 [0, 2560],与Left相加不应超过画布的宽。 :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """画布上该画面高度的相对值,取值范围 [0, 2560],与Top相加不应超过画布的高。 :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height def _deserialize(self, params): self._WaterMarkUrl = params.get("WaterMarkUrl") self._Top = params.get("Top") self._Left = params.get("Left") self._Width = params.get("Width") self._Height = params.get("Height") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class WaterMarkParams(AbstractModel): """MCU混流水印参数 """ def __init__(self): r""" :param _WaterMarkId: 混流-水印图片ID。取值为实时音视频控制台上传的图片ID。 :type WaterMarkId: int :param _WaterMarkWidth: 混流-水印宽。单位为像素值。水印宽+X偏移不能超过整个画布宽。 :type WaterMarkWidth: int :param _WaterMarkHeight: 混流-水印高。单位为像素值。水印高+Y偏移不能超过整个画布高。 :type WaterMarkHeight: int :param _LocationX: 水印在输出时的X偏移。单位为像素值。水印宽+X偏移不能超过整个画布宽。 :type LocationX: int :param _LocationY: 水印在输出时的Y偏移。单位为像素值。水印高+Y偏移不能超过整个画布高。 :type LocationY: int :param _WaterMarkUrl: 混流-水印图片URL地址,支持png、jpg、jpeg、bmp格式,暂不支持透明通道。URL链接长度限制为512字节。WaterMarkUrl和WaterMarkId参数都填时,以WaterMarkUrl为准。图片大小限制不超过2MB。 :type WaterMarkUrl: str """ self._WaterMarkId = None self._WaterMarkWidth = None self._WaterMarkHeight = None self._LocationX = None self._LocationY = None self._WaterMarkUrl = None @property def WaterMarkId(self): """混流-水印图片ID。取值为实时音视频控制台上传的图片ID。 :rtype: int """ return self._WaterMarkId @WaterMarkId.setter def WaterMarkId(self, WaterMarkId): self._WaterMarkId = WaterMarkId @property def WaterMarkWidth(self): """混流-水印宽。单位为像素值。水印宽+X偏移不能超过整个画布宽。 :rtype: int """ return self._WaterMarkWidth @WaterMarkWidth.setter def WaterMarkWidth(self, WaterMarkWidth): self._WaterMarkWidth = WaterMarkWidth @property def WaterMarkHeight(self): """混流-水印高。单位为像素值。水印高+Y偏移不能超过整个画布高。 :rtype: int """ return self._WaterMarkHeight @WaterMarkHeight.setter def WaterMarkHeight(self, WaterMarkHeight): self._WaterMarkHeight = WaterMarkHeight @property def LocationX(self): """水印在输出时的X偏移。单位为像素值。水印宽+X偏移不能超过整个画布宽。 :rtype: int """ return self._LocationX @LocationX.setter def LocationX(self, LocationX): self._LocationX = LocationX @property def LocationY(self): """水印在输出时的Y偏移。单位为像素值。水印高+Y偏移不能超过整个画布高。 :rtype: int """ return self._LocationY @LocationY.setter def LocationY(self, LocationY): self._LocationY = LocationY @property def WaterMarkUrl(self): """混流-水印图片URL地址,支持png、jpg、jpeg、bmp格式,暂不支持透明通道。URL链接长度限制为512字节。WaterMarkUrl和WaterMarkId参数都填时,以WaterMarkUrl为准。图片大小限制不超过2MB。 :rtype: str """ return self._WaterMarkUrl @WaterMarkUrl.setter def WaterMarkUrl(self, WaterMarkUrl): self._WaterMarkUrl = WaterMarkUrl def _deserialize(self, params): self._WaterMarkId = params.get("WaterMarkId") self._WaterMarkWidth = params.get("WaterMarkWidth") self._WaterMarkHeight = params.get("WaterMarkHeight") self._LocationX = params.get("LocationX") self._LocationY = params.get("LocationY") self._WaterMarkUrl = params.get("WaterMarkUrl") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class WaterMarkTimestamp(AbstractModel): """时间戳水印数据结构 """ def __init__(self): r""" :param _Pos: 时间戳的位置,取值范围0-6,分别代表上左,上右,下左,下右,上居中,下居中,居中 :type Pos: int :param _TimeZone: 显示时间戳的时区,默认东八区 :type TimeZone: int :param _Font: 文字水印的字体,支持设置以下值: 1. Tencent (默认) 2. SourceHanSans :type Font: str """ self._Pos = None self._TimeZone = None self._Font = None @property def Pos(self): """时间戳的位置,取值范围0-6,分别代表上左,上右,下左,下右,上居中,下居中,居中 :rtype: int """ return self._Pos @Pos.setter def Pos(self, Pos): self._Pos = Pos @property def TimeZone(self): """显示时间戳的时区,默认东八区 :rtype: int """ return self._TimeZone @TimeZone.setter def TimeZone(self, TimeZone): self._TimeZone = TimeZone @property def Font(self): """文字水印的字体,支持设置以下值: 1. Tencent (默认) 2. SourceHanSans :rtype: str """ return self._Font @Font.setter def Font(self, Font): self._Font = Font def _deserialize(self, params): self._Pos = params.get("Pos") self._TimeZone = params.get("TimeZone") self._Font = params.get("Font") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set)) class WebRecordVideoParams(AbstractModel): """页面录制控制参数 """ def __init__(self): r""" :param _Width: 录制画面宽度,默认为1280,取值范围[0, 1920] :type Width: int :param _Height: 录制画面高度,默认为720,取值范围[0, 1080] :type Height: int :param _Format: 指定输出格式,可选hls,mp4。存储到云点播VOD时此参数无效,存储到VOD时请通过TencentVod(https://cloud.tencent.com/document/api/647/44055#TencentVod)内的MediaType设置。 :type Format: str :param _MaxMediaFileDuration: 如果是aac或者mp4文件格式,超过长度限制后,系统会自动拆分视频文件。单位:分钟。默认为1440min(24h),取值范围为1-1440。【单文件限制最大为2G,满足文件大小 >2G 或录制时长度 > 24h任意一个条件,文件都会自动切分】 Hls 格式录制此参数不生效。 示例值:1440 :type MaxMediaFileDuration: int """ self._Width = None self._Height = None self._Format = None self._MaxMediaFileDuration = None @property def Width(self): """录制画面宽度,默认为1280,取值范围[0, 1920] :rtype: int """ return self._Width @Width.setter def Width(self, Width): self._Width = Width @property def Height(self): """录制画面高度,默认为720,取值范围[0, 1080] :rtype: int """ return self._Height @Height.setter def Height(self, Height): self._Height = Height @property def Format(self): """指定输出格式,可选hls,mp4。存储到云点播VOD时此参数无效,存储到VOD时请通过TencentVod(https://cloud.tencent.com/document/api/647/44055#TencentVod)内的MediaType设置。 :rtype: str """ return self._Format @Format.setter def Format(self, Format): self._Format = Format @property def MaxMediaFileDuration(self): """如果是aac或者mp4文件格式,超过长度限制后,系统会自动拆分视频文件。单位:分钟。默认为1440min(24h),取值范围为1-1440。【单文件限制最大为2G,满足文件大小 >2G 或录制时长度 > 24h任意一个条件,文件都会自动切分】 Hls 格式录制此参数不生效。 示例值:1440 :rtype: int """ return self._MaxMediaFileDuration @MaxMediaFileDuration.setter def MaxMediaFileDuration(self, MaxMediaFileDuration): self._MaxMediaFileDuration = MaxMediaFileDuration def _deserialize(self, params): self._Width = params.get("Width") self._Height = params.get("Height") self._Format = params.get("Format") self._MaxMediaFileDuration = params.get("MaxMediaFileDuration") memeber_set = set(params.keys()) for name, value in vars(self).items(): property_name = name[1:] if property_name in memeber_set: memeber_set.remove(property_name) if len(memeber_set) > 0: warnings.warn("%s fileds are useless." % ",".join(memeber_set))
Memory