tenyun
Version:
Promise based and chained Tencent Cloud OpenAPI client for NodeJS
1,339 lines (1,236 loc) • 164 kB
TypeScript
/// <reference types="node" />
import { AxiosPromise, AxiosRequestConfig } from "axios";
/** 造成异常体验可能的异常事件类型 */
declare interface AbnormalEvent {
/** 异常事件ID,具体值查看附录:异常体验ID映射表:https://cloud.tencent.com/document/product/647/44916 */
AbnormalEventId?: number;
/** 远端用户ID,"":表示异常事件不是由远端用户产生 */
PeerId?: string;
}
/** 用户的异常体验及可能的原因 */
declare interface AbnormalExperience {
/** 用户ID */
UserId?: string;
/** 异常体验ID */
ExperienceId?: number;
/** 字符串房间号 */
RoomId?: string;
/** 异常事件数组 */
AbnormalEventList?: AbnormalEvent[];
/** 异常事件的上报时间 */
EventTime?: number;
}
/** 机器人参数 */
declare interface AgentConfig {
/** 机器人的UserId,用于进房发起任务。【注意】这个UserId不能与当前房间内的主播观众[UserId](https://cloud.tencent.com/document/product/647/46351)重复。如果一个房间发起多个任务时,机器人的UserId也不能相互重复,否则会中断前一个任务。需要保证机器人UserId在房间内唯一。 */
UserId: string;
/** 机器人UserId对应的校验签名,即UserId和UserSig相当于机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910)的方案。 */
UserSig: string;
/** 机器人拉流的UserId, 填写后,机器人会拉取该UserId的流进行实时处理 */
TargetUserId: string;
/** 房间内超过MaxIdleTime 没有推流,后台自动关闭任务,默认值是60s。 */
MaxIdleTime?: number;
/** 机器人的欢迎语 */
WelcomeMessage?: string;
/** 智能打断模式,默认为0,0表示服务端自动打断,1表示服务端不打断,由端上发送打断信令进行打断 */
InterruptMode?: number;
/** InterruptMode为0时使用,单位为毫秒,默认为500ms。表示服务端检测到持续InterruptSpeechDuration毫秒的人声则进行打断。 */
InterruptSpeechDuration?: number;
/** 控制新一轮对话的触发方式,默认为0。- 0表示当服务端语音识别检测出的完整一句话后,自动触发一轮新的对话。- 1表示客户端在收到字幕消息后,自行决定是否手动发送聊天信令触发一轮新的对话。 */
TurnDetectionMode?: number;
/** 是否过滤掉用户只说了一个字的句子,true表示过滤,false表示不过滤,默认值为true */
FilterOneWord?: boolean;
/** 欢迎消息优先级,0默认,1高优,高优不能被打断。 */
WelcomeMessagePriority?: number;
/** 用于过滤LLM返回内容,不播放括号中的内容。1:中文括号()2:英文括号()3:中文方括号【】4:英文方括号[]5:英文花括号{}默认值为空,表示不进行过滤。 */
FilterBracketsContent?: number;
/** 环境音设置 */
AmbientSound?: AmbientSound;
/** 声纹配置 */
VoicePrint?: VoicePrint;
/** 语义断句检测 */
TurnDetection?: TurnDetection;
/** 机器人字幕显示模式。- 0表示尽快显示,不会和音频播放进行同步。此时字幕全量下发,后面的字幕会包含前面的字幕。- 1表示句子级别的实时显示,会和音频播放进行同步,只有当前句子对应的音频播放完后,下一条字幕才会下发。此时字幕增量下发,端上需要把前后的字幕进行拼接才是完整字幕。 */
SubtitleMode?: number;
/** 打断词列表,在AI说话期间,只有说出列表中的打断词才会打断AI说话。注意:打断词不会触发AI回复。 */
InterruptWordList?: string[];
}
/** 转推服务加入TRTC房间的机器人参数。 */
declare interface AgentParams {
/** 转推服务在TRTC房间使用的[UserId](https://cloud.tencent.com/document/product/647/46351),注意这个userId不能与其他TRTC或者转推服务等已经使用的UserId重复,建议可以把房间ID作为userId的标识的一部分。 */
UserId: string;
/** 转推服务加入TRTC房间的用户签名,当前 UserId 对应的验证签名,相当于登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910)的方案。 */
UserSig?: string;
/** 所有参与混流转推的主播持续离开TRTC房间或切换成观众超过MaxIdleTime的时长,自动停止转推,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。 */
MaxIdleTime?: number;
}
/** 背景音设置,将在通话中添加环境音效,使体验更加逼真。目前支持以下选项:coffee_shops: 咖啡店氛围,背景中有人聊天。busy_office: 客服中心street_traffic: 户外街道evening_mountain: 户外山林 */
declare interface AmbientSound {
/** 环境场景选择 */
Scene: string;
/** 控制环境音的音量。取值的范围是 [0,2]。值越低,环境音越小;值越高,环境音越响亮。如果未设置,则使用默认值 1。 */
Volume?: number;
}
/** 音频编码参数。 */
declare interface AudioEncode {
/** 输出流音频采样率。取值为[48000, 44100, 32000, 24000, 16000, 8000],单位是Hz。 */
SampleRate: number;
/** 输出流音频声道数,取值范围[1,2],1表示混流输出音频为单声道,2表示混流输出音频为双声道。 */
Channel: number;
/** 输出流音频码率。取值范围[8,500],单位为kbps。 */
BitRate: number;
/** 输出流音频编码类型,取值范围[0, 1, 2],0为LC-AAC,1为HE-AAC,2为HE-AACv2。默认值为0。当音频编码设置为HE-AACv2时,只支持输出流音频声道数为双声道。HE-AAC和HE-AACv2支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]。 */
Codec?: number;
}
/** 音频转码参数 */
declare interface AudioEncodeParams {
/** 音频采样率,取值为[48000, 44100],单位是Hz。 */
SampleRate?: number;
/** 音频声道数,取值范围[1,2],1表示音频为单声道,2表示音频为双声道。 */
Channel?: number;
/** 音频码率,取值范围[8,500],单位为kbps。 */
BitRate?: number;
/** 音量,取值范围[0,300]。默认100,表示原始音量;0表示静音。 */
Volume?: number;
}
/** TTS音频输出的格式 */
declare interface AudioFormat {
/** 生成的音频格式,默认pcm,目前支持的格式列表:[pcm]。 */
Format?: string;
}
/** 录制音频转码参数。 */
declare interface AudioParams {
/** 音频采样率枚举值:(注意1 代表48000HZ, 2 代表44100HZ, 3 代表16000HZ)1:48000Hz(默认);2:44100Hz3:16000Hz。 */
SampleRate: number;
/** 声道数枚举值:1:单声道;2:双声道(默认)。 */
Channel: number;
/** 音频码率: 取值范围[32000, 128000] ,单位bps,默认64000bps。 */
BitRate: number;
}
/** 审核存储参数 */
declare interface AuditStorageParams {
/** 腾讯云对象存储COS以及第三方云存储的账号信息 */
CloudAuditStorage?: CloudAuditStorage;
}
/** 腾讯云对象存储COS以及第三方云存储的账号信息 */
declare interface CloudAuditStorage {
/** 腾讯云对象存储COS以及第三方云存储账号信息0:腾讯云对象存储 COS1:AWS【注意】目前第三方云存储仅支持AWS,更多第三方云存储陆续支持中示例值:0 */
Vendor: number;
/** 腾讯云对象存储的[地域信息](https://cloud.tencent.com/document/product/436/6224 */
Region: string;
/** 云存储桶名称。 */
Bucket: string;
/** 云存储的access_key账号信息。若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretId值。示例值:test-accesskey */
AccessKey: string;
/** 云存储的secret_key账号信息。若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretKey值。示例值:test-secretkey */
SecretKey: string;
/** 云存储bucket 的指定位置,由字符串数组组成。合法的字符串范围az,AZ,0~9,'_'和'-',举个例子,录制文件xxx.m3u8在 ["prefix1", "prefix2"]作用下,会变成prefix1/prefix2/TaskId/xxx.m3u8。示例值:["prefix1", "prefix2"] */
FileNamePrefix?: string[];
}
/** 腾讯云对象存储COS以及第三方云存储的账号信息 */
declare interface CloudModerationStorage {
/** 腾讯云对象存储COS以及第三方云存储账号信息0:腾讯云对象存储 COS1:AWS S32: 阿里云 OSS示例值:0 */
Vendor: number;
/** 腾讯云对象存储的[地域信息](https://cloud.tencent.com/document/product/436/6224 */
Region: string;
/** 云存储桶名称。 */
Bucket: string;
/** 云存储的access_key账号信息。若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretId值。示例值:test-accesskey */
AccessKey: string;
/** 云存储的secret_key账号信息。若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretKey值。示例值:test-secretkey */
SecretKey: string;
/** 云存储bucket 的指定位置,由字符串数组组成。合法的字符串范围az,AZ,0~9,'_'和'-',举个例子,切片文件xxx.mp3在 ["prefix1", "prefix2"]作用下,音频切片文件会变成prefix1/prefix2/{taskId}/{userId}/audios/{sdkappid}_{roomId}_{userid}_{UTC时间}.ogg,视频截帧会变成prefix1/prefix2/{taskId}/{userId}/images/{sdkappid}_{roomId}_{userid}_{UTC时间}.png */
FileNamePrefix?: string[];
}
/** 腾讯云对象存储COS以及第三方云存储的账号信息 */
declare interface CloudSliceStorage {
/** 腾讯云对象存储COS以及第三方云存储账号信息0:腾讯云对象存储 COS1:AWS S32: 阿里云 OSS示例值:0 */
Vendor: number;
/** 腾讯云对象存储的[地域信息](https://cloud.tencent.com/document/product/436/6224 */
Region: string;
/** 云存储桶名称。 */
Bucket: string;
/** 云存储的access_key账号信息。若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretId值。示例值:test-accesskey */
AccessKey: string;
/** 云存储的secret_key账号信息。若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretKey值。示例值:test-secretkey */
SecretKey: string;
/** 云存储bucket 的指定位置,由字符串数组组成。合法的字符串范围az,AZ,0~9,'_'和'-',举个例子,切片文件xxx.mp3在 ["prefix1", "prefix2"]作用下,音频切片文件会变成prefix1/prefix2/{taskId}/{userId}/audios/{sdkappid}_{roomId}_{userid}_{UTC时间}.ogg,视频截帧会变成prefix1/prefix2/{taskId}/{userId}/images/{sdkappid}_{roomId}_{userid}_{UTC时间}.png */
FileNamePrefix?: string[];
}
/** 腾讯云对象存储COS以及第三方云存储的账号信息 */
declare interface CloudStorage {
/** 腾讯云对象存储COS以及第三方云存储账号信息0:腾讯云对象存储 COS1:AWS【注意】目前第三方云存储仅支持AWS,更多第三方云存储陆续支持中 */
Vendor: number;
/** 腾讯云对象存储的[地域信息](https://cloud.tencent.com/document/product/436/6224 */
Region: string;
/** 云存储桶名称。 */
Bucket: string;
/** 云存储的access_key账号信息。若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretId值。 */
AccessKey: string;
/** 云存储的secret_key账号信息。若存储至腾讯云对象存储COS,请前往https://console.cloud.tencent.com/cam/capi 查看或创建,对应链接中密钥字段的SecretKey值。 */
SecretKey: string;
/** 云存储bucket 的指定位置,由字符串数组组成。合法的字符串范围az,AZ,0~9,'_'和'-',举个例子,录制文件xxx.m3u8在 ["prefix1", "prefix2"]作用下,会变成prefix1/prefix2/TaskId/xxx.m3u8。 */
FileNamePrefix?: string[];
}
/** 点播相关参数。 */
declare interface CloudVod {
/** 腾讯云点播相关参数。 */
TencentVod?: TencentVod;
}
/** 渲染移动模式参数,不渲染移动模式时,请勿设置此参数。 */
declare interface EmulateMobileParams {
/** 移动设备类型,0: 手机1: 平板 */
MobileDeviceType?: number;
/** 屏幕方向,0: 竖屏,1: 横屏 */
ScreenOrientation?: number;
}
/** MCU混流输出流编码参数 */
declare interface EncodeParams {
/** 混流-输出流音频采样率。取值为[48000, 44100, 32000, 24000, 16000, 8000],单位是Hz。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 */
AudioSampleRate: number;
/** 混流-输出流音频码率。取值范围[8,500],单位为kbps。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 */
AudioBitrate: number;
/** 混流-输出流音频声道数,取值范围[1,2],1表示混流输出音频为单声道,2表示混流输出音频为双声道。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。 */
AudioChannels: number;
/** 混流-输出流宽,音视频输出时必填。取值范围[0,1920],单位为像素值。 */
VideoWidth?: number;
/** 混流-输出流高,音视频输出时必填。取值范围[0,1080],单位为像素值。 */
VideoHeight?: number;
/** 混流-输出流码率,音视频输出时必填。取值范围[1,10000],单位为kbps。 */
VideoBitrate?: number;
/** 混流-输出流帧率,音视频输出时必填。取值范围[1,60],表示混流的输出帧率可选范围为1到60fps。 */
VideoFramerate?: number;
/** 混流-输出流gop,音视频输出时必填。取值范围[1,5],单位为秒。 */
VideoGop?: number;
/** 混流-输出流背景色,取值是十进制整数。常用的颜色有:红色:0xff0000,对应的十进制整数是16724736。黄色:0xffff00。对应的十进制整数是16776960。绿色:0x33cc00。对应的十进制整数是3394560。蓝色:0x0066ff。对应的十进制整数是26367。黑色:0x000000。对应的十进制整数是0。白色:0xFFFFFF。对应的十进制整数是16777215。灰色:0x999999。对应的十进制整数是10066329。 */
BackgroundColor?: number;
/** 混流-输出流背景图片,取值为实时音视频控制台上传的图片ID。 */
BackgroundImageId?: number;
/** 混流-输出流音频编码类型,取值范围[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、采样率、码率、声道数)。 */
AudioCodec?: number;
/** 混流-输出流背景图片URL地址,支持png、jpg、jpeg、bmp格式,暂不支持透明通道。URL链接长度限制为512字节。BackgroundImageUrl和BackgroundImageId参数都填时,以BackgroundImageUrl为准。图片大小限制不超过2MB。 */
BackgroundImageUrl?: string;
}
/** sdk或webrtc的事件列表。 */
declare interface EventList {
/** 数据内容 */
Content?: EventMessage[];
/** 发送端的userId */
PeerId?: string;
}
/** 事件信息,包括,事件时间戳,事件ID, */
declare interface EventMessage {
/** 视频流类型:0:与视频无关的事件;2:视频为大画面;3:视频为小画面;7:视频为旁路画面; */
Type?: number;
/** 事件上报的时间戳,unix时间(1589891188801ms) */
Time?: number;
/** 事件Id:分为sdk的事件和webrtc的事件,详情见:附录/事件 ID 映射表:https://cloud.tencent.com/document/product/647/44916 */
EventId?: number;
/** 事件的第一个参数,如视频分辨率宽 */
ParamOne?: number;
/** 事件的第二个参数,如视频分辨率高 */
ParamTwo?: number;
}
/** 调用服务端主动发起请求到LLM */
declare interface InvokeLLM {
/** 请求LLM的内容 */
Content?: string;
/** 是否允许该文本打断机器人说话 */
Interrupt?: boolean;
}
/** MCU混流布局参数 */
declare interface LayoutParams {
/** 混流布局模板ID,0为悬浮模板(默认);1为九宫格模板;2为屏幕分享模板;3为画中画模板;4为自定义模板。 */
Template?: number;
/** 屏幕分享模板、悬浮模板、画中画模板中有效,代表大画面对应的用户ID。 */
MainVideoUserId?: string;
/** 屏幕分享模板、悬浮模板、画中画模板中有效,代表大画面对应的流类型,0为摄像头,1为屏幕分享。左侧大画面为web用户时此值填0。 */
MainVideoStreamType?: number;
/** 画中画模板中有效,代表小画面的布局参数。 */
SmallVideoLayoutParams?: SmallVideoLayoutParams;
/** 屏幕分享模板有效。设置为1时代表大画面居右,小画面居左布局。默认为0。 */
MainVideoRightAlign?: number;
/** 指定混视频的用户ID列表。设置此参数后,输出流混合此参数中包含用户的音视频,以及其他用户的纯音频。悬浮模板、九宫格、屏幕分享模板有效,最多可设置16个用户。 */
MixVideoUids?: string[];
/** 自定义模板中有效,指定用户视频在混合画面中的位置。 */
PresetLayoutConfig?: PresetLayoutConfig[];
/** 自定义模板中有效,设置为1时代表启用占位图功能,0时代表不启用占位图功能,默认为0。启用占位图功能时,在预设位置的用户没有上行视频时可显示对应的占位图。 */
PlaceHolderMode?: number;
/** 悬浮模板、九宫格、屏幕分享模板生效,用于控制纯音频上行是否占用画面布局位置。设置为0是代表后台默认处理方式,悬浮小画面占布局位置,九宫格画面占布局位置、屏幕分享小画面不占布局位置;设置为1时代表纯音频上行占布局位置;设置为2时代表纯音频上行不占布局位置。默认为0。 */
PureAudioHoldPlaceMode?: number;
/** 水印参数。 */
WaterMarkParams?: WaterMarkParams;
/** 屏幕分享模板、悬浮模板、九宫格模板、画中画模版有效,画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底,不填采用后台的默认渲染方式(屏幕分享大画面为缩放,其他为裁剪)。若此参数不生效,请提交工单寻求帮助。 */
RenderMode?: number;
}
/** 指定动态布局中悬浮布局和屏幕分享布局的大画面信息,只在悬浮布局和屏幕分享布局有效。 */
declare interface MaxVideoUser {
/** 用户媒体流参数。 */
UserMediaStream: UserMediaStream;
}
/** 混流转推的音频相关参数。 */
declare interface McuAudioParams {
/** 音频编码参数。 */
AudioEncode?: AudioEncode;
/** 音频用户白名单,start时,为空或不填表示混所有主播音频,填具体值表示混指定主播音频;update时,不填表示不更新,为空表示更新为混所有主播音频,填具体值表示更新为混指定主播音频。使用黑白名单时,黑白名单必须同时填写。都不填写时表示不更新。同一个用户同时在黑白名单时,以黑名单为主。注:如果是跨房pk时,跨房混流需要指定音频白名单,否则pk主播的的音频上行会被拉到两次,产生重音。 */
SubscribeAudioList?: McuUserInfoParams[];
/** 音频用户黑名单,为空或不填表示无黑名单,填具体值表示不混指定主播音频。update时,不填表示不更新,为空表示更新为清空黑名单,填具体值表示更新为不混指定主播音频。使用黑白名单时,黑白名单必须同时填写。都不填写时表示不更新。同一个用户同时在黑白名单时,以黑名单为主。 */
UnSubscribeAudioList?: McuUserInfoParams[];
}
/** 混流自定义渲染参数 */
declare interface McuBackgroundCustomRender {
/** 自定义渲染画面的宽度,单位为像素值,需大于0,且不能超过子布局的宽。 */
Width: number;
/** 自定义渲染画面的高度,单位为像素值,需大于0,且不能超过子布局的高。 */
Height: number;
/** 自定义渲染画面的圆角半径,单位为像素值,不能超过渲染画面Width和Height最小值的一半,不指定默认为0,表示直角。 */
Radius?: number;
}
/** Mcu转推录制,点播相关参数。 */
declare interface McuCloudVod {
/** 腾讯云点播相关参数。 */
McuTencentVod?: McuTencentVod;
}
/** 混流自定义裁剪参数 */
declare interface McuCustomCrop {
/** 自定义裁剪起始位置的X偏移,单位为像素值,大于等于0。 */
LocationX: number;
/** 自定义裁剪起始位置的Y偏移,单位为像素值,大于等于0。 */
LocationY: number;
/** 自定义裁剪画面的宽度,单位为像素值,大于0,且LocationX+Width不超过10000 */
Width: number;
/** 自定义裁剪画面的高度,单位为像素值,大于0,且LocationY+Height不超过10000 */
Height: number;
}
/** 回推房间参数。 */
declare interface McuFeedBackRoomParams {
/** 回推房间的RoomId。 */
RoomId: string;
/** 房间类型,必须和回推房间所对应的RoomId类型相同,0为整形房间号,1为字符串房间号。 */
RoomIdType: number;
/** 回推房间使用的UserId(https://cloud.tencent.com/document/product/647/46351),注意这个userId不能与其他TRTC或者转推服务等已经使用的UserId重复,建议可以把房间ID作为userId的标识的一部分。 */
UserId: string;
/** 回推房间UserId对应的用户签名,相当于登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910)的方案。 */
UserSig: string;
}
/** 混流布局参数。 */
declare interface McuLayout {
/** 用户媒体流参数。不填时腾讯云后台按照上行主播的进房顺序自动填充。 */
UserMediaStream?: UserMediaStream;
/** 子画面在输出时的宽度,单位为像素值,不填默认为0。 */
ImageWidth?: number;
/** 子画面在输出时的高度,单位为像素值,不填默认为0。 */
ImageHeight?: number;
/** 子画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。 */
LocationX?: number;
/** 子画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。 */
LocationY?: number;
/** 子画面在输出时的层级,不填默认为0。 */
ZOrder?: number;
/** 子画面在输出时的显示模式:0为裁剪,1为缩放并显示背景,2为缩放并显示黑底。不填默认为0。 */
RenderMode?: number;
/** 【此参数配置无效,暂不支持】子画面的背景颜色,常用的颜色有:红色:0xcc0033。黄色:0xcc9900。绿色:0xcccc33。蓝色:0x99CCFF。黑色:0x000000。白色:0xFFFFFF。灰色:0x999999。 */
BackGroundColor?: string;
/** 子画面的背景图url,填写该参数,当用户关闭摄像头或未进入TRTC房间时,会在布局位置填充为指定图片。若指定图片与布局位置尺寸比例不一致,则会对图片进行拉伸处理,优先级高于BackGroundColor。支持png、jpg、jpeg、bmp、gif、webm格式。图片大小限制不超过5MB。注:您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,子画面的背景图将不会生效。 */
BackgroundImageUrl?: string;
/** 客户自定义裁剪,针对原始输入流裁剪 */
CustomCrop?: McuCustomCrop;
/** 子背景图在输出时的显示模式:0为裁剪,1为缩放并显示背景,2为缩放并显示黑底,3为变比例伸缩,4为自定义渲染。不填默认为3。 */
BackgroundRenderMode?: number;
/** 子画面的透明模版url,指向一张包含透明通道的模板图片。填写该参数,后台混流时会提取该模板图片的透明通道,将其缩放作为目标画面的透明通道,再和其他画面进行混合。您可以通过透明模版实现目标画面的半透明效果和任意形状裁剪(如圆角、星形、心形等)。 支持png格式。图片大小限制不超过5MB。注:1,模板图片宽高比应接近目标画面宽高比,以避免缩放适配目标画面时出现模板效果变形;2,透明模版只有RenderMode为0(裁剪)时才生效;3,您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,透明模版将不会生效。 */
TransparentUrl?: string;
/** 子背景图的自定义渲染参数,当BackgroundRenderMode为4时必须配置。 */
BackgroundCustomRender?: McuBackgroundCustomRender;
/** 子背景色生效模式,默认值为0表示均不生效。bit0:占位图缩放是否生效。bit1:上行流缩放是否生效。您可以将相应bit位置1启动生效,例如:0(00)表示子背景色不生效。1(01)表示子背景色只在占位图缩放时生效。2(10)表示子背景色只在上行流缩放时生效。3(11)表示子背景色在占位图缩放和上行流缩放时均生效。 */
BackGroundColorMode?: number;
}
/** 混流布局参数。 */
declare interface McuLayoutParams {
/** 布局模式:动态布局(1:悬浮布局(默认),2:屏幕分享布局,3:九宫格布局),静态布局(4:自定义布局)。最多支持混入16路音视频流,如果用户只上行音频,也会被算作一路;自定义布局中,如果子画面只设置占位图,也被算作一路。 */
MixLayoutMode?: number;
/** 纯音频上行是否占布局位置,只在动态布局中有效。0表示纯音频不占布局位置,1表示纯音频占布局位置,不填默认为0。 */
PureAudioHoldPlaceMode?: number;
/** 自定义模板中有效,指定用户视频在混合画面中的位置,最多支持设置16个输入流。 */
MixLayoutList?: McuLayout[];
/** 指定动态布局中悬浮布局和屏幕分享布局的大画面信息,只在悬浮布局和屏幕分享布局有效。 */
MaxVideoUser?: MaxVideoUser;
/** 屏幕分享模板、悬浮模板、九宫格模版有效,画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底 */
RenderMode?: number;
}
/** 音量布局SEI参数,可以自定义AppData和PayloadType类型。该参数内容可以为空,表示携带默认的音量布局SEI。 */
declare interface McuLayoutVolume {
/** AppData的内容,会被写入自定义SEI中的app_data字段,长度需小于4096。 */
AppData?: string;
/** SEI消息的payload_type,默认值100,取值范围100-254(244除外,244为我们内部自定义的时间戳SEI) */
PayloadType?: number;
/** SEI发送间隔,单位毫秒,默认值为1000。 */
Interval?: number;
/** 取值范围[0,1],填1:发送关键帧时会确保带SEI;填0:发送关键帧时不确保带SEI。默认值为0。 */
FollowIdr?: number;
}
/** 自定义透传SEI */
declare interface McuPassThrough {
/** 透传SEI的payload内容。 */
PayloadContent: string;
/** SEI消息的PayloadType,取值范围5、100-254(244除外,244为我们内部自定义的时间戳SEI)。注:部分播放器可能不支持PayloadType为5带PayloadUuid的标准类型,建议优先使用其他PayloadType。 */
PayloadType: number;
/** PayloadType为5,PayloadUuid必须填写。PayloadType不是5时,不需要填写,填写会被后台忽略。该值必须是32长度的十六进制。 */
PayloadUuid?: string;
/** SEI发送间隔,单位毫秒,默认值为1000。 */
Interval?: number;
/** 取值范围[0,1],填1:发送关键帧时会确保带SEI;填0:发送关键帧时不确保带SEI。默认值为0。 */
FollowIdr?: number;
}
/** 转推参数。 */
declare interface McuPublishCdnParam {
/** CDN转推URL,只支持rtmp链接。注:若更新转推时,URL有任何变化,都会断流重推。 */
PublishCdnUrl: string;
/** 是否是腾讯云CDN,0为转推非腾讯云CDN,1为转推腾讯CDN,不携带该参数默认为1。注意:1,为避免误产生转推费用,该参数建议明确填写,转推非腾讯云CDN时会产生转推费用,详情参见接口文档说明;2,国内站默认只支持转推腾讯云CDN,如您有转推第三方CDN需求,请联系腾讯云技术支持。 */
IsTencentCdn?: number;
}
/** 转推录制参数 */
declare interface McuRecordParams {
/** 转推录制模式, 0/不填: 暂不支持,行为未定义;1: 不开启录制;2: 开启录制(使用控制台自动录制模板参数,参考:[跳转文档](https://cloud.tencent.com/document/product/647/111748));3: 开启录制(使用API指定参数)。 */
UniRecord?: number;
/** 录制任务 key,标识一个录制任务;您可以通过该参数,将多个转推任务录制成一个文件。不指定该参数时,只录制当前转推任务。【限制长度为128字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线(_)和连词符(-)】 */
RecordKey?: string;
/** 【仅当UniRecord=3时此参数有效】续录等待时间,对应录制模板“续录等待时长”,单位:秒。该值需大于等于 5,且小于等于 86400(24小时),默认值为 30。启用续录时,录制任务空闲超过RecordWaitTime的时长,自动结束。 */
RecordWaitTime?: number;
/** 【仅当UniRecord=3时此参数有效】录制输出文件格式列表,对应录制模板“文件格式”,支持“hls”、"mp4"、"aac"三种格式,默认值为"mp4"。其中"mp4"和"aac"格式,不能同时指定。只录制 mp4格式,示例值:["mp4"]。同时录制mp4 和 HLS 格式,示例值:["mp4","hls"]。 */
RecordFormat?: string[];
/** 【仅当UniRecord=3时此参数有效】单个文件录制时长,对应录制模板“单个录制文件时长”,单位:分钟。该值需大于等于 1,且小于等于 1440(24小时),默认值为 1440。只对"mp4"或"aac"格式生效。实际单文件录制时长还受单文件大小不超过 2G 限制,超过2G则强制拆分。 */
MaxMediaFileDuration?: number;
/** 【仅当UniRecord=3时此参数有效】录制的音视频类型,对应录制模板“录制格式”,0:音视频,1:纯音频,2:纯视频。最终录制文件内容是录制指定类型和转推内容的交集。 */
StreamType?: number;
/** 录制文件名前缀,不超过64字符。只有存储为vod时生效。【限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线(_)和连词符(-)】 */
UserDefineRecordPrefix?: string;
/** 【仅当UniRecord=3时此参数有效】录制文件存储参数,对应控制台“存储位置”及相关参数。目前支持云点播VOD和对象存储COS两种存储方式,只能填写一种。 */
McuStorageParams?: McuStorageParams;
}
/** 混流SEI参数 */
declare interface McuSeiParams {
/** 音量布局SEI */
LayoutVolume?: McuLayoutVolume;
/** 透传SEI */
PassThrough?: McuPassThrough;
}
/** Mcu转推录制,第三方存储参数。 */
declare interface McuStorageParams {
/** 第三方云存储的账号信息(特别说明:若您选择存储至对象存储COS将会收取录制文件投递至COS的费用,详见云端录制收费说明,存储至VOD将不收取此项费用。)。 */
CloudStorage?: CloudStorage;
/** 腾讯云云点播的账号信息。 */
McuCloudVod?: McuCloudVod;
}
/** Mcu转推录制,腾讯云点播相关参数。 */
declare interface McuTencentVod {
/** 媒体后续任务处理操作,即完成媒体上传后,可自动发起任务流操作。参数值为任务流模板名,云点播支持 创建任务流模板 并为模板命名。 */
Procedure?: string;
/** 媒体文件过期时间,为当前时间的绝对过期时间;保存一天,就填"86400",永久保存就填"0",默认永久保存。 */
ExpireTime?: number;
/** 指定上传园区,仅适用于对上传地域有特殊需求的用户。 */
StorageRegion?: string;
/** 分类ID,用于对媒体进行分类管理,可通过 创建分类 接口,创建分类,获得分类 ID。默认值:0,表示其他分类。 */
ClassId?: number;
/** 点播 子应用 ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。 */
SubAppId?: number;
/** 任务流上下文,任务完成回调时透传。 */
SessionContext?: string;
/** 上传上下文,上传完成回调时透传。 */
SourceContext?: string;
}
/** 混流用户参数 */
declare interface McuUserInfoParams {
/** 用户参数。 */
UserInfo: MixUserInfo;
/** 混音的音量调整:取值范围是0到100,100为原始上行音量,不填默认为100,值越小则音量越低。注:该参数只在音量白名单下配置生效,其他场景配置无效。 */
SoundLevel?: number;
}
/** 混流转推的视频相关参数。 */
declare interface McuVideoParams {
/** 输出流视频编码参数。 */
VideoEncode?: VideoEncode;
/** 混流布局参数。 */
LayoutParams?: McuLayoutParams;
/** 整个画布背景颜色,常用的颜色有:红色:0xcc0033。黄色:0xcc9900。绿色:0xcccc33。蓝色:0x99CCFF。黑色:0x000000。白色:0xFFFFFF。灰色:0x999999。 */
BackGroundColor?: string;
/** 整个画布的背景图url,优先级高于BackGroundColor。支持png、jpg、jpeg格式。图片大小限制不超过5MB。注:您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,背景图将不会生效。 */
BackgroundImageUrl?: string;
/** 混流布局的水印参数。 */
WaterMarkList?: McuWaterMarkParams[];
/** 背景图在输出时的显示模式:0为裁剪,1为缩放并显示黑底,2为变比例伸缩。后台默认为变比例伸缩。 */
BackgroundRenderMode?: number;
}
/** 图片水印参数。 */
declare interface McuWaterMarkImage {
/** 水印图片URL地址,支持png、jpg、jpeg格式。图片大小限制不超过5MB。注:您需要确保图片链接的可访问性,后台单次下载超时时间为10秒,最多重试3次,若最终图片下载失败,水印图片将不会生效。 */
WaterMarkUrl: string;
/** 水印在输出时的宽。单位为像素值。 */
WaterMarkWidth: number;
/** 水印在输出时的高。单位为像素值。 */
WaterMarkHeight: number;
/** 水印在输出时的X偏移。单位为像素值。 */
LocationX: number;
/** 水印在输出时的Y偏移。单位为像素值。 */
LocationY: number;
/** 水印在输出时的层级,不填默认为0。 */
ZOrder?: number;
/** 动态水印类型,默认为0。0:关闭;1:随机位置,每秒变动一次;2:边界扫描反弹,每帧变动一次。 */
DynamicPosType?: number;
}
/** 水印参数。 */
declare interface McuWaterMarkParams {
/** 水印类型,0为图片(默认),1为文字。 */
WaterMarkType?: number;
/** 图片水印参数。WaterMarkType为0指定。 */
WaterMarkImage?: McuWaterMarkImage;
/** 文字水印参数。WaterMarkType为1指定。 */
WaterMarkText?: McuWaterMarkText;
}
/** 文字水印参数。 */
declare interface McuWaterMarkText {
/** 文字水印内容。 */
Text: string;
/** 水印在输出时的宽。单位为像素值。 */
WaterMarkWidth: number;
/** 水印在输出时的高。单位为像素值。 */
WaterMarkHeight: number;
/** 水印在输出时的X偏移。单位为像素值。 */
LocationX: number;
/** 水印在输出时的Y偏移。单位为像素值。 */
LocationY: number;
/** 字体大小 */
FontSize: number;
/** 字体颜色,默认为白色。常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 */
FontColor?: string;
/** 字体背景色,不配置默认为透明。常用的颜色有: 红色:0xcc0033。 黄色:0xcc9900。 绿色:0xcccc33。 蓝色:0x99CCFF。 黑色:0x000000。 白色:0xFFFFFF。 灰色:0x999999。 */
BackGroundColor?: string;
/** 动态水印类型,默认为0。0:关闭;1:随机位置,每秒变动一次;2:边界扫描反弹,每帧变动一次。 */
DynamicPosType?: number;
/** 水印在输出时的层级,不填默认为0。 */
ZOrder?: number;
/** 水印字体,不填默认为Tencent。支持设置以下值: Tencent (默认) SourceHanSans */
Font?: string;
}
/** 用户自定义混流布局参数列表。 */
declare interface MixLayout {
/** 画布上该画面左上角的 y 轴坐标,取值范围 [0, 1920],不能超过画布的高。 */
Top: number;
/** 画布上该画面左上角的 x 轴坐标,取值范围 [0, 1920],不能超过画布的宽。 */
Left: number;
/** 画布上该画面宽度的相对值,取值范围 [0, 1920],与Left相加不应超过画布的宽。 */
Width: number;
/** 画布上该画面高度的相对值,取值范围 [0, 1920],与Top相加不应超过画布的高。 */
Height: number;
/** 字符串内容为待显示在该画面的主播对应的UserId,如果不指定,会按照主播加入房间的顺序匹配。 */
UserId?: string;
/** 画布的透明度值,取值范围[0, 255]。0表示不透明,255表示全透明。默认值为0。 */
Alpha?: number;
/** 0 :拉伸模式,这个模式下整个视频内容会全部显示,并填满子画面,在源视频和目的视频宽高比不一致的时候,画面不会缺少内容,但是画面可能产生形变;1 :剪裁模式(默认),这个模式下会严格按照目的视频的宽高比对源视频剪裁之后再拉伸,并填满子画面画布,在源视频和目的视频宽高比不一致的时候,画面保持不变形,但是会被剪裁;2 :填黑模式,这个模式下会严格保持源视频的宽高比进行等比缩放,在源视频和目的视频宽高比不一致的时候,画面的上下侧边缘或者左右侧边缘会露出子画面画布的背景;3 :智能拉伸模式,这个模式类似剪裁模式,区别是在源视频和目的视频宽高比不一致的时候,限制了最大剪裁比例为画面的宽度或者高度的20%; */
RenderMode?: number;
/** 对应订阅流的主辅路标识:0:主流(默认);1:辅流; */
MediaId?: number;
/** 该画布的图层顺序, 这个值越小表示图层越靠后。默认值为0。 */
ImageLayer?: number;
/** 图片的url地址, 只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' */
SubBackgroundImage?: string;
}
/** 录制的混流布局参数。 */
declare interface MixLayoutParams {
/** 布局模式:1:悬浮布局;2:屏幕分享布局;3:九宫格布局;4:自定义布局;悬浮布局:默认第一个进入房间的主播(也可以指定一个主播)的视频画面会铺满整个屏幕。其他主播的视频画面从左下角开始依次按照进房顺序水平排列,显示为小画面,小画面悬浮于大画面之上。当画面数量小于等于17个时,每行4个(4 x 4排列)。当画面数量大于17个时,重新布局小画面为每行5个(5 x 5)排列。最多支持25个画面,如果用户只发送音频,仍然会占用画面位置。屏幕分享布局:指定一个主播在屏幕左侧的大画面位置(如果不指定,那么大画面位置为背景色),其他主播自上而下依次垂直排列于右侧。当画面数量少于17个的时候,右侧每列最多8人,最多占据两列。当画面数量多于17个的时候,超过17个画面的主播从左下角开始依次水平排列。最多支持25个画面,如果主播只发送音频,仍然会占用画面位置。九宫格布局:根据主播的数量自动调整每个画面的大小,每个主播的画面大小一致,最多支持25个画面。自定义布局:根据需要在MixLayoutList内定制每个主播画面的布局。 */
MixLayoutMode: number;
/** 如果MixLayoutMode 选择为4自定义布局模式的话,设置此参数为每个主播所对应的布局画面的详细信息,最大不超过25个。 */
MixLayoutList?: MixLayout[];
/** 录制背景颜色,RGB的颜色表的16进制表示,每个颜色通过8bit长度标识,默认为黑色。比如橙色对应的RGB为 R:255 G:165 B:0, 那么对应的字符串描述为#FFA500,格式规范:‘#‘开头,后面跟固定RGB的颜色值 */
BackGroundColor?: string;
/** 在布局模式为1:悬浮布局和 2:屏幕分享布局时,设定为显示大视频画面的UserId。不填的话:悬浮布局默认是第一个进房间的主播,屏幕分享布局默认是背景色 */
MaxResolutionUserId?: string;
/** 主辅路标识,0:主流(默认);1:辅流(屏幕分享);这个位置的MediaId代表的是对应MaxResolutionUserId的主辅路,MixLayoutList内代表的是自定义用户的主辅路。 */
MediaId?: number;
/** 图片的url地址,只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' */
BackgroundImageUrl?: string;
/** 设置为1时代表启用占位图功能,0时代表不启用占位图功能,默认为0。启用占位图功能时,在预设位置的用户没有上行音视频时可显示对应的占位图。 */
PlaceHolderMode?: number;
/** 背景画面宽高比不一致的时候处理方案,与MixLayoutList定义的RenderMode一致。 */
BackgroundImageRenderMode?: number;
/** 子画面占位图url地址,只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' */
DefaultSubBackgroundImage?: string;
/** 水印布局参数, 最多支持25个。 */
WaterMarkList?: WaterMark[];
/** 模板布局下,背景画面宽高比不一致的时候处理方案。自定义布局不生效,与MixLayoutList定义的RenderMode一致。 */
RenderMode?: number;
/** 屏幕分享模板有效。设置为1时代表大画面居右,小画面居左布局。默认为0。 */
MaxResolutionUserAlign?: number;
}
/** 录制的音视频转码参数。 */
declare interface MixTranscodeParams {
/** 录制视频转码参数,注意如果设置了这个参数,那么里面的字段都是必填的,没有默认值,如果不填这个参数,那么取值为默认值。 */
VideoParams?: VideoParams;
/** 录制音频转码参数,注意如果设置了这个参数,那么里面的字段都是必填的,没有默认值,如果不填这个参数,那么取值为默认值。 */
AudioParams?: AudioParams;
}
/** TRTC用户参数。 */
declare interface MixUserInfo {
/** 用户ID。 */
UserId: string;
/** 动态布局时房间信息必须和主房间信息保持一致,自定义布局时房间信息必须和MixLayoutList中对应用户的房间信息保持一致,不填时默认与主房间信息一致。 */
RoomId?: string;
/** 房间号类型,0为整型房间号,1为字符串房间号。 */
RoomIdType?: number;
}
/** 云端审核的控制参数。 */
declare interface ModerationParams {
/** 审核任务类型, 1:音频切片审核,2:视频截帧审核,3:音视切片审核+视频截帧审核4:音频流式审核 5:音频流式+视频截帧审核 默认值1 (流式审核需要供应商支持才生效) */
ModerationType?: number;
/** 房间内持续没有用户(主播)上行推流的状态超过MaxIdleTime的时长,自动停止切片,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于1800秒(0.5小时)。示例值:30 */
MaxIdleTime?: number;
/** 音频切片时长,默认15s 示例值:15 */
SliceAudio?: number;
/** 视频截帧间隔时长,默认5s */
SliceVideo?: number;
/** 供应商枚举,tianyu : 天御内容安全 (支持 1:音频切片审核,2:视频截帧审核,3:音视切片审核+视频截帧审核)ace : ACE内容安全 (支持 1:音频切片审核,2:视频截帧审核,3:音视切片审核+视频截帧审核)shumei : 数美审核(支持 1:音频切片审核,2:视频截帧审核,3:音视切片审核+视频截帧审核)yidun : 网易易盾审核 (支持 1:音频切片审核,2:视频截帧审核,3:音视切片审核+视频截帧审核) */
ModerationSupplier?: string;
/** 第三方审核商送审需要配置信息 */
ModerationSupplierParam?: ModerationSupplierParam;
/** 是否保存文件 0不保存文件 1保存所有文件 2仅保存命中文件 */
SaveModerationFile?: number;
/** 是否回调所有审核结果:0 默认回调所有结果 1 仅回调命中结果 */
CallbackAllResults?: number;
/** 指定订阅流白名单或者黑名单。 */
SubscribeStreamUserIds?: SubscribeModerationUserIds;
}
/** 审核存储参数 */
declare interface ModerationStorageParams {
/** 腾讯云对象存储COS以及第三方云存储的账号信息 */
CloudModerationStorage?: CloudModerationStorage;
}
/** 送审到第三方审核供应商需要参数 */
declare interface ModerationSupplierParam {
/** 供应审核商账号id,数美天御不为空,易盾为空 */
AppID?: string;
/** 供应审核商秘钥id */
SecretId?: string;
/** 供应审核商秘钥key */
SecretKey?: string;
/** 音频场景,策略id或者businessId */
AudioBizType?: string;
/** 图片场景,策略id或者businessId */
ImageBizType?: string;
}
/** 旁路转码时长的查询结果 */
declare interface OneSdkAppIdTranscodeTimeUsagesInfo {
/** 旁路转码时长查询结果数组 */
SdkAppIdTranscodeTimeUsages?: SdkAppIdTrtcMcuTranscodeTimeUsage[];
/** 查询记录数量 */
TotalNum?: number;
/** 所查询的应用ID,可能值为:1-应用的应用ID,2-total,显示为total则表示查询的是所有应用的用量合计值。 */
SdkAppId?: string;
}
/** MCU混流的输出参数 */
declare interface OutputParams {
/** 直播流 ID,由用户自定义设置,该流 ID 不能与用户旁路的流 ID 相同,限制64字节。 */
StreamId: string;
/** 取值范围[0,1], 填0:直播流为音视频(默认); 填1:直播流为纯音频 */
PureAudioStream?: number;
/** 自定义录制文件名称前缀。请先在实时音视频控制台开通录制功能,https://cloud.tencent.com/document/product/647/50768。【注意】该方式仅对旧版云端录制功能的应用生效,新版云端录制功能的应用请用接口CreateCloudRecording发起录制。新、旧云端录制类型判断方式请见:https://cloud.tencent.com/document/product/647/50768 */
RecordId?: string;
/** 取值范围[0,1],填0无实际含义; 填1:指定录制文件格式为mp3。此参数不建议使用,建议在实时音视频控制台配置纯音频录制模板。 */
RecordAudioOnly?: number;
}
/** 图片列表信息 */
declare interface PictureInfo {
/** 图片长度 */
Height?: number;
/** 图片宽度 */
Width?: number;
/** 显示位置x轴方向 */
XPosition?: number;
/** 显示位置y轴方向 */
YPosition?: number;
/** 应用id */
SdkAppId?: number;
/** 图片id */
PictureId?: number;
}
/** 自定义模板中有效,指定用户视频在混合画面中的位置。 */
declare interface PresetLayoutConfig {
/** 指定显示在该画面上的用户ID。如果不指定用户ID,会按照用户加入房间的顺序自动匹配PresetLayoutConfig中的画面设置。 */
UserId?: string;
/** 当该画面指定用户时,代表用户的流类型。0为摄像头,1为屏幕分享。小画面为web用户时此值填0。 */
StreamType?: number;
/** 该画面在输出时的宽度,单位为像素值,不填默认为0。 */
ImageWidth?: number;
/** 该画面在输出时的高度,单位为像素值,不填默认为0。 */
ImageHeight?: number;
/** 该画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。 */
LocationX?: number;
/** 该画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。 */
LocationY?: number;
/** 该画面在输出时的层级,不填默认为0。 */
ZOrder?: number;
/** 该画面在输出时的显示模式:0为裁剪,1为缩放,2为缩放并显示黑底。不填默认为0。 */
RenderMode?: number;
/** 该当前位置用户混入的流类型:0为混入音视频,1为只混入视频,2为只混入音频。默认为0,建议配合指定用户ID使用。 */
MixInputType?: number;
/** 占位图ID。启用占位图功能时,在当前位置的用户没有上行视频时显示占位图。占位图大小不能超过2M,在实时音视频控制台上传并生成,https://cloud.tencent.com/document/product/647/50769 */
PlaceImageId?: number;
}
/** 第三方CDN转推参数 */
declare interface PublishCdnParams {
/** 腾讯云直播BizId。 */
BizId: number;
/** 第三方CDN转推的目的地址,同时只支持转推一个第三方CDN地址。 */
PublishCdnUrls: string[];
}
/** Es返回的质量数据 */
declare interface QualityData {
/** 数据内容 */
Content?: TimeValue[];
/** 用户ID */
UserId?: string;
/** 对端Id,为空时表示上行数据 */
PeerId?: string;
/** 数据类型 */
DataType?: string;
}
/** 语音识别使用的配置 */
declare interface RecognizeConfig {
/** 语音转文字支持识别的语言,默认是"zh" 中文可通过购买「AI智能识别时长包」解锁或领取包月套餐体验版解锁不同语言. 详细说明参考:[AI智能识别计费说明](https://cloud.tencent.com/document/product/647/111976)语音转文本不同套餐版本支持的语言如下:**基础版**:- "zh": 中文(简体)- "zh-TW": 中文(繁体)- "en": 英语- "16k_zh_edu":中文教育- "16k_zh_medical":中文医疗- "16k_zh_court":中文法庭**标准版:**- "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": 挪威语**注意:**如果缺少满足您需求的语言,请联系我们技术人员。 */
Language?: string;
/** **发起模糊识别为高级版能力,默认按照高级版收费,仅支持填写基础版和高级版语言.**注意:不支持填写"zh-dialect" */
AlternativeLanguage?: string[];
/** 目前已不支持 */
Model?: string;
/** 填写则翻译,目前支持的语言:中文: zh英语: en越南语: vi日语: ja韩语: ko印度尼西亚语: id泰语: th葡萄牙语: pt土耳其语: tr阿拉伯语: ar西班牙语: es印地语: hi法语: fr马来语: ms菲律宾语: fil德语: de意大利语: it俄语: ru瑞典语: sv挪威语: no丹麦语: da */
TranslationLanguage?: string;
/** 热词表:该参数用于提升识别准确率。 单个热词限制:"热词|权重",单个热词不超过30个字符(最多10个汉字),权重[1-11]或者100,如:“腾讯云|5” 或 “ASR|11”; 热词表限制:多个热词用英文逗号分割,最多支持300个热词,如:“腾讯云|10,语音识别|5,ASR|11”; */
HotWordList?: string;
/** 语音识别vad的时间,范围为240-2000,默认为1000,单位为ms。更小的值会让语音识别分句更快。 */
VadSilenceTime?: number;
}
/** 云端录制控制参数。 */
declare interface RecordParams {
/** 录制模式:1:单流录制,分别录制房间的订阅UserId的音频和视频,将录制文件上传至云存储;2:合流录制,将房间内订阅UserId的音视频混录成一个音视频文件,将录制文件上传至云存储; */
RecordMode: number;
/** 房间内持续没有主播的状态超过MaxIdleTime的时长,自动停止录制,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。 */
MaxIdleTime?: number;
/** 录制的媒体流类型:0:录制音频+视频流(默认);1:仅录制音频流;2:仅录制视频流, */
StreamType?: number;
/** 指定订阅流白名单或者黑名单。 */
SubscribeStreamUserIds?: SubscribeStreamUserIds;
/** 输出文件的格式(存储至COS等第三方存储时有效)。0:(默认)输出文件为hls格式。1:输出文件格式为hls+mp4。2:输出文件格式为hls+aac 。3:输出文件格式为mp4。4:输出文件格式为aac。存储到云点播VOD时此参数无效,存储到VOD时请通过TencentVod(https://cloud.tencent.com/document/api/647/44055 */
OutputFormat?: number;
/** 单流录制模式下,用户的音视频是否合并,0:单流音视频不合并(默认)。1:单流音视频合并成一个ts。合流录制此参数无需设置,默认音视频合并。 */
AvMerge?: number;
/** 如果是aac或者mp4文件格式,超过长度限制后,系统会自动拆分视频文件。单位:分钟。默认为1440min(24h),取值范围为1-1440。【单文件限制最大为2G,满足文件大小 >2G 或录制时长度 > 24h任意一个条件,文件都会自动切分】Hls 格式录制此参数不生效。 */
MaxMediaFileDuration?: number;
/** 指定录制主辅流,0:主流+辅流(默认);1:主流;2:辅流。 */
MediaId?: number;
/** 上行视频停止时,录制的补帧类型,0:补最后一帧 1:补黑帧 */
FillType?: number;
}
/** 录制的使用信息。 */
declare interface RecordUsage {
/** 本组数据对应的时间点,格式如:2020-09-07或2020-09-07 00:05:05。 */
TimeKey?: string;
/** 视频时长-标清SD,单位:秒。 */
Class1VideoTime?: number;
/** 视频时长-高清HD,单位:秒。 */
Class2VideoTime?: number;
/** 视频时长-超清HD,单位:秒。 */
Class3VideoTime?: number;
/** 语音时长,单位:秒。 */
AudioTime?: number;
}
/** 房间信息列表 */
declare interface RoomState {
/** 通话ID(唯一标识一次通话) */
CommId?: string;
/** 房间号 */
RoomString?: string;
/** 房间创建时间 */
CreateTime?: number;
/** 房间销毁时间 */
DestroyTime?: number;
/** 房间是否已经结束 */
IsFinished?: boolean;
/** 房间创建者Id */
UserId?: string;
}
/** SeriesInfo类型的二维数组 */
declare interface RowValues {
/** 数据值 */
RowValue?: number[] | null;
}
/** 语音转文字参数 */
declare interface STTConfig {
/** 语音转文字支持识别的语言,默认是"zh" 中文可通过购买「AI智能识别时长包」解锁或领取包月套餐体验版解锁不同语言. 详细说明参考:[AI智能识别计费说明](https://cloud.tencent.com/document/product/647/111976)语音转文本不同套餐版本支持的语言如下:**基础版**:- "zh": 中文(简体)- "zh-TW": 中文(繁体)- "en": 英语- "16k_zh_edu":中文教育- "16k_zh_medical":中文医疗- "16k_zh_court":中文法庭**标准版:**- "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": 挪威语**注意:**如果缺少满足您需求的语言,请联系我们技术人员。 */
Language?: string;
/** **发起模糊识别为高级版能力,默认按照高级版收费**注意:不支持填写"zh-dialect", "16k_zh_edu", "16k_zh_medical", "16k_zh_court", "8k_zh_large", "16k_zh_large","16k_multi_lang", "16k_zh_en" */
AlternativeLanguage?: string[];
/** 自定义参数,联系后台使用 */
CustomParam?: string;
/** 语音识别vad的时间,范围为240-2000,默认为1000,单位为ms。更小的值会让语音识别分句更快。 */
VadSilenceTime?: number;
/** 热词表:该参数用于提升识别准确率。 单个热词限制:"热词|权重",单个热词不超过30个字符(最多10个汉字),权重[1-11]或者100,如:“腾讯云|5” 或 “ASR|11”; 热词表限制:多个热词用英文逗号分割,最多支持128个热词,如:“腾讯云|10,语音识别|5,ASR|11”; */
HotWordList?: string;
/** vad的远场人声抑制能力(不会对asr识别效果造成影响),范围为[0, 3],默认为0。推荐设置为2,有较好的远场人声抑制能力。 */
VadLevel?: number;
}
/** 历史规模信息 */
declare interface ScaleInfomation {
/** 每天开始的时间 */
Time?: number;
/** 房间人数,用户重复进入同一个房间为1次 */
UserNumber?: number;
/** 房间人次,用户每次进入房间为一次 */
UserCount?: number;
/** sdkappid下一天内的房间数 */
RoomNumbers?: number;
}
/** SdkAppId级别录制时长数据。 */
declare interface SdkAppIdRecordUsage {
/** SdkAppId的值。 */
SdkAppId?: string;
/** 统计的时间点数据。 */
Usages?: RecordUsage[];
}
/** 查询旁路转码计费时长。查询时间小于等于1天时,返回每5分钟粒度的数据;查询时间大于1天时,返回按天汇总的数据。 */
declare interface SdkAppIdTrtcMcuTranscodeTimeUsage {
/** 本组数据对应的时间点,格式如:2020-09-07或2020-09-07 00:05:05。 */
TimeKey: string;
/** 语音时长,单位:秒。 */
AudioTime: number;
/** 视频时长-标清SD,单位:秒。 */
VideoTimeSd: number;
/** 视频时长-高清HD,单位:秒。 */
VideoTimeHd: number;
/** 视频时长-全高清FHD,单位:秒。 */
VideoTimeFhd: number;
/** 带宽,单位:Mbps。 */
Flux: number;
}
/** SeriesInfo类型 */
declare interface SeriesInfo {
/** 数据列 */
Columns: string[] | null;
/** 数据值 */
Values: number[] | null;
}
/** SeriesInfos类型 */
declare interface SeriesInfos {
/** 数据列 */
Columns?: string[] | null;
/** 数据值 */
Values?: RowValues[] | null;
}
/** 服务端控制AI对话机器人播报指定文本 */
declare interface ServerPushText {
/** 服务端推送播报文本 */
Text?: string;
/** 是否允许该文本打断机器人说话 */
Interrupt?: boolean;
/** 播报完文本后,是否自动关闭对话任务 */
StopAfterPlay?: boolean;
/** 服务端推送播报音频 格式说明:音频必须为单声道,采样率必须跟对应TTS的采样率保持一致,编码为Base64字符串。 输入规则:当提供Audio字段时,将不接受Text字段的输入。系统将直接播放Audio字段中的音频内容。 */
Audio?: string;
/** 默认为0,仅在Interrupt为false时有效- 0表示当前有交互发生时,会丢弃Interrupt为false的消息- 1表示当前有交互发生时,不会丢弃Interrupt为false的消息,而是缓存下来,等待当前交互结束后,再去处理注意:DropMode为1时,允许缓存多个消息,如果后续出现了打断,缓存的消息会被清空 */
DropMode?: number;
/** ServerPushText消息的优先级,0表示可被打断,1表示不会被打断。**目前仅支持传入0,如果需要传入1,请提工单联系我们添加权限。**注意:在接收到Priority=1的消息后,后续其他任何消息都会被忽略(包括Priority=1的消息),直到Priority=1的消息处理结束。该字段可与Interrupt、DropMode字段配合使用。例子:- Priority=1、Interrupt=true,会打断现有交互,立刻播报,播报过程中不会被打断- Priority=1、Interrupt=false、DropMode=1,会等待当前交互结束,再进行播报,播报过程中不会被打断 */
Priority?: number;
/** 是否将文本加入到llm历史上下文中 */
AddHistory?: boolean;
}
/** 单流旁路转推的用户上行信息。 */
declare interface SingleSubscribeParams {
/** 用户媒体流参数。 */
UserMediaStream: UserMediaStream;
}
/** 云端切片的控制参数。 */
declare interface SliceParams {
/** 切片任务类型:1:音频切片;2:视频截帧;3:音视切片+视频截帧示例值:1 */
SliceType?: number;
/** 房间内持续没有主播的状态超过MaxIdleTime的时长,自动停止录制,单位:秒。默认值为 30 秒,该值需大于等于 5秒,且小于等于 86400秒(24小时)。示例值:30 */
MaxIdleTime?: number;
/** 音频切片时长,默认15s 示例值:15 */
SliceAudio?: number;
/** 视频截帧间隔时长,默认5s, 示例值:5 */
SliceVideo?: number;
/** 指定订阅流白名单或者黑名单。 */
SubscribeStreamUserIds?: SubscribeStreamUserIds;
/** 已废弃,从控制台配置回调url */
SliceCallbackUrl?: string;
}
/** 切片存储参数 */
declare interface SliceStorageParams {
/** 腾讯云对象存储COS以及第三方云存储的账号信息 */
CloudSliceStorage?: CloudSliceStorage;
}
/** 画中画模板中有效,代表小画面的布局参数 */
declare interface SmallVideoLayoutParams {
/** 代表小画面对应的用户ID。 */
UserId: string;
/** 代表小画面对应的流类型,0为摄像头,1为屏幕分享。小画面为web用户时此值填0。 */
StreamType: number;
/** 小画面在输出时的宽度,单位为像素值,不填默认为0。 */
ImageWidth?: number;
/** 小画面在输出时的高度,单位为像素值,不填默认为0。 */
ImageHeight?: number;
/** 小画面在输出时的X偏移,单位为像素值,LocationX与ImageWidth之和不能超过混流输出的总宽度,不填默认为0。 */
LocationX?: number;
/** 小画面在输出时的Y偏移,单位为像素值,LocationY与ImageHeight之和不能超过混流输出的总高度,不填默认为0。 */
LocationY?: number;
}
/** 云端录制查询接口,录制文件的信息 */
declare interface StorageFile {
/** 录制文件对应的UserId,如果是混流的话的这里返回的是空串。 */
UserId?: string | null;
/** 录制索引文件名。 */
FileName?: string;
/** 录制文件流信息。video:视频录制文件audio:音频录制文件audio_video:音视频录制文件 */
TrackType?: string | null;
/** 录制文件开始Unix时间戳。 */
BeginTimeStamp?: number;
}
/** 录制存储参数 */
declare interface StorageParams {
/** 腾讯云对象存储COS以及第三方云存储的账号信息 */
CloudStorage?: CloudStorage;
/** 腾讯云云点播Vod的存储信息 */
CloudVod?: CloudVod;
}
/** 指定订阅流白名单或者黑名单,音频的白名单和音频黑名单不能同时设置,视频亦然。同时实际并发订阅的媒体流路数最大支持25路流,混流场景下视频的多画面最大支持24画面。支持通过设置".*$"通配符,来前缀匹配黑白名单的UserId,注意房间里不能有和通配符规则相同的用户,否则将视为订阅具体用户,前缀规则会失效。 */
declare interface SubscribeModerationUserIds {
/** 订阅音频流白名单,指定订阅哪几个UserId的音频流,例如["1", "2", "3"], 代表订阅UserId 1,2,3的音频流;["1.*$"], 代表订阅UserId前缀为1的音频流。默认不填订阅房间内所有的音频流,订阅列表用户数不超过32。 */
SubscribeAudioUserIds?: string[] | null;
/** 订阅音频流黑名单,指定不订阅哪几个UserId的音频流,例如["1", "2", "3"], 代表不订阅UserId 1,2,3的音频流;["1.*$"], 代表不订阅UserId前缀为1的音频流。默认不填订阅房间内所有音频流,订阅列表用户数不超过32。 */
UnSubscribeAudioUserIds?: string[] | null;
/** 订阅视频流白名单,指定订阅哪几个UserId的视频流,例如["1", "2", "3"], 代表订阅UserId 1,2,3的视频流;["1.*$"], 代表订阅UserId前缀为1的视频流。默认不填订阅房间内所有视频流,订阅列表用户数不超过32。 */
SubscribeVideoUserIds?: string[] | null;
/** 订阅视频流黑名单,指定不订阅哪几个UserId的视频流,例如["1", "2", "3"], 代表不订阅UserId 1,2,3的视频流;["1.*$"], 代表不订阅UserId前缀为1的视频流。默认不填订阅房间内所有视频流,订阅列表用户数不超过32。 */
UnSubscribeVideoUserIds?: string[] | null;
}
/** 指定订阅流白名单或者黑名单,音频的白名单和音频黑名单不能同时设置,视频亦然。同时实际并发订阅的媒体流路数最大支持25路流,混流场景下视频的多画面最大支持24画面。支持通过设置".*$"通配符,来前缀匹配黑白名单的UserId,注意房间里不能有和通配符规则相同的用户,否则将视为订阅具体用户,前缀规则会失效。 */
declare interface SubscribeStreamUserIds {
/** 订阅音频流白名单,指定订阅哪几个UserId的音频流,例如["1", "2", "3"], 代表订阅UserId 1,2,3的音频流;["1.*$"], 代表订阅UserId前缀为1的音频流。默认不填订阅房间内所有的音频流,订阅列表用户数不超过32。 */
SubscribeAudioUserIds?: string[];
/** 订阅音频流黑名单,指定不订阅哪几个UserId的音频流,例如["1", "2", "3"], 代表不订阅UserId 1,2,3的音频流;["1.*$"], 代表不订阅UserId前缀为1的音频流。默认不填订阅房间内所有音频流,订阅列表用户数不超过32。 */
UnSubscribeAudioUserIds?: string[];
/** 订阅视频流白名单,指定订阅哪几个UserId的视频流,例如["1", "2", "3"], 代表订阅UserId 1,2,3的视频流;["1.*$"], 代表订阅UserId前缀为1的视频流。默认不填订阅房间内所有视频流,订阅列表用户数不超过32。 */
SubscribeVideoUserIds?: string[];
/** 订阅视频流黑名单,指定不订阅哪几个UserId的视频流,例如["1", "2", "3"], 代表不订阅UserId 1,2,3的视频流;["1.*$"], 代表不订阅UserId前缀为1的视频流。默认不填订阅房间内所有视频流,订阅列表用户数不超过32。 */
UnSubscribeVideoUserIds?: string[];
}
/** TRTC数据大盘/实时监控 API接口数据出参 */
declare interface TRTCDataResp {
/** StatementID值,监控仪表盘下固定为0。 */
StatementID: number | null;
/** 查询结果数据,以Columns-Values形式返回。 */
Series: SeriesInfo[] | null;
/** Total值,监控仪表盘功能下固定为1。 */
Total: number | null;
}
/** TRTC数据大盘/实时监控 API接口数据出参 */
declare interface TRTCDataResult {
/** StatementID值,监控仪表盘下固定为0。 */
StatementID?: number | null;
/** 查询结果数据,以Columns-Values形式返回。 */
Series?: SeriesInfos[] | null;
/** Total值,监控仪表盘功能下固定为1。 */
Total?: number | null;
}
/** 腾讯云点播相关参数。 */
declare interface TencentVod {
/** 媒体后续任务处理操作,即完成媒体上传后,可自动发起任务流操作。参数值为任务流模板名,云点播支持 创建任务流模板 并为模板命名。 */
Procedure?: string;
/** 媒体文件过期时间,为当前时间的绝对过期时间;保存一天,就填"86400",永久保存就填"0",默认永久保存。 */
ExpireTime?: number;
/** 指定上传园区,仅适用于对上传地域有特殊需求的用户。 */
StorageRegion?: string;
/** 分类ID,用于对媒体进行分类管理,可通过 创建分类 接口,创建分类,获得分类 ID。默认值:0,表示其他分类。 */
ClassId?: number;
/** 点播 子应用 ID。如果要访问子应用中的资源,则将该字段填写为子应用 ID;否则无需填写该字段。 */
SubAppId?: number;
/** 任务流上下文,任务完成回调时透传。 */
SessionContext?: string;
/** 上传上下文,上传完成回调时透传。 */
SourceContext?: string;
/** 上传到vod平台的录制文件格式类型,0:mp4(默认), 1: hls, 2:aac(StreamType=1纯音频录制时有效),3: hls+mp4, 4: hls+aac(StreamType=1纯音频录制时有效)。 */
MediaType?: number;
/** 仅支持API录制上传vod,该参数表示用户可以自定义录制文件名前缀,【限制长度为64字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符】。前缀与自动生成的录制文件名之间用`__UserDefine_u_` 分开。 */
UserDefineRecordId?: string;
}
/** 返回的质量数据,时间:值 */
declare interface TimeValue {
/** 时间,unix时间戳(1590065877s) */
Time?: number;
/** 当前时间返回参数取值,如(bigvCapFps在1590065877取值为0,则Value:0 ) */
Value?: number;
}
/** AI转录参数 */
declare interface TranscriptionParams {
/** 转录机器人的UserId,用于进房发起转录任务。【注意】这个UserId不能与当前房间内的主播观众[UserId](https://cloud.tencent.com/document/product/647/46351)重复。如果一个房间发起多个转录任务时,机器人的userid也不能相互重复,否则会中断前一个任务。需要保证转录机器人UserId在房间内唯一。 */
UserId: string;
/** 转录机器人UserId对应的校验签名,即UserId和UserSig相当于转录机器人进房的登录密码,具体计算方法请参考TRTC计算[UserSig](https://cloud.tencent.com/document/product/647/45910)的方案。 */
UserSig: string;
/** IM[管理员账户](https://cloud.tencent.com/document/product/269/31999),如果填写,后台下发消息会使用IM通道,而不是TRTC自定义消息。 */
IMAdminUserId?: string;
/** IM管理员账户生成的签名,用于向特定群组发送消息。如果填写,后台下发消息会使用IM通道,而不是TRTC自定义消息。必须和IM管理员的UserId一起填写。 */
IMAdminUserSig?: string;
/** 房间内推流用户全部退出后超过MaxIdleTime秒,后台自动关闭转录任务,默认值是60s。 */
MaxIdleTime?: number;
/** 1表示机器人只订阅单个人的流,0表示机器人订阅整个房间的流,如果不填默认订阅整个房间的流。 */
TranscriptionMode?: number;
/** TranscriptionMode为1时必填,机器人只会拉该userid的流,忽略房间里其他用户。 */
TargetUserId?: string;
/** 机器人订阅的用户列表仅 TranscriptionMode 为 1或者 TranscriptionMode 为无限上麦模式支持传入多个用户列表 */
TargetUserIdList?: string[];
/** 声纹配置 */
VoicePrint?: VoicePrint;
}
/** 实时音视频用量在某一时间段的统计信息。 */
declare interface TrtcUsage {
/** 时间点,格式为YYYY-MM-DD HH:mm:ss。多天查询时,HH:mm:ss为00:00:00。 */
TimeKey?: string;
/** 时间点时间戳 */
TimeStampKey?: number;
/** 用量数组。每个数值含义与UsageKey对应。单位:分钟。 */
UsageValue?: number[];
}
/** 断句配置 */
declare interface TurnDetection {
/** TurnDetectionMode为3时生效,语义断句的灵敏程度功能简介:根据用户所说的话来判断其已完成发言来分割音频可选: "low" | "medium" | "high" | "auto"auto 是默认值,与 medium 相同。low 将让用户有足够的时间说话。high 将尽快对音频进行分块。如果您希望模型在对话模式下更频繁地响应,可以将 SemanticEagerness 设置为 high如果您希望在用户停顿时,AI能够等待片刻,可以将 SemanticEagerness 设置为 low无论什么模式,最终都会分割送个大模型进行回复 */
SemanticEagerness?: string;
}
/** 用户信息,包括用户进房时间,退房时间等 */
declare interface UserInformation {
/** 房间号 */
RoomStr?: string;
/** 用户Id */
UserId?: string;
/** 用户进房时间 */
JoinTs?: number;
/** 用户退房时间,用户没有退房则返回当前时间 */
LeaveTs?: number;
/** 终端类型 */
DeviceType?: string;
/** Sdk版本号 */
SdkVersion?: string;
/** 客户端IP地址 */
ClientIp?: string;
/** 判断用户是否已经离开房间 */
Finished?: boolean;
}
/** 用户媒体流参数。 */
declare interface UserMediaStream {
/** TRTC用户参数。 */
UserInfo?: MixUserInfo;
/** 主辅路流类型,0为摄像头,1为屏幕分享,不填默认为0。 */
StreamType?: number;
}
/** 视频编码参数。 */
declare interface VideoEncode {
/** 输出流宽,音视频输出时必填。取值范围[0,1920],单位为像素值。 */
Width: number;
/** 输出流高,音视频输出时必填。取值范围[0,1920],单位为像素值。 */
Height: number;
/** 输出流帧率,音视频输出时必填。取值范围[1,60],表示混流的输出帧率可选范围为1到60fps。 */
Fps: number;
/** 输出流码率,音视频输出时必填。取值范围[1,10000],单位为kbps。 */
BitRate: number;
/** 输出流gop,音视频输出时必填。取值范围[1,5],单位为秒。 */
Gop: number;
}
/** 视频转码参数 */
declare interface VideoEncodeParams {
/** 宽。取值范围[0,1920],单位为像素值。 */
Width?: number;
/** 高。取值范围[0,1080],单位为像素值。 */
Height?: number;
/** 帧率。取值范围[1,60],表示帧率可选范围为1到60fps。 */
Fps?: number;
/** 码率。取值范围[1,10000],单位为kbps。 */
BitRate?: number;
/** gop。取值范围[1,2],单位为秒。 */
Gop?: number;
}
/** 录制视频转码参数。 */
declare interface VideoParams {
/** 视频的宽度值,单位为像素,默认值360。不能超过1920,与height的乘积不能超过1920*1080。 */
Width: number;
/** 视频的高度值,单位为像素,默认值640。不能超过1920,与width的乘积不能超过1920*1080。 */
Height: number;
/** 视频的帧率,范围[1, 60],默认15。 */
Fps: number;
/** 视频的码率,单位是bps,范围[64000, 8192000],默认550000bps。 */
BitRate: number;
/** 视频关键帧时间间隔,单位秒,默认值10秒。 */
Gop: number;
}
/** TTS的声音参数 */
declare interface Voice {
/** TTS的声音的ID */
VoiceId: string;
}
/** 声纹配置参数 */
declare interface VoicePrint {
/** 默认为0,表示不启用声纹。1表示启用声纹,此时需要填写voiceprint id。 */
Mode?: number;
/** VoicePrint Mode为1时需要填写,目前仅支持填写一个声纹id */
IdList?: string[];
}
/** 声纹查询数据 */
declare interface VoicePrintInfo {
/** 声纹ID */
VoicePrintId?: string;
/** 应用id */
AppId?: number;
/** 和声纹绑定的MetaInfo */
VoicePrintMetaInfo?: string;
/** 创建时间 */
CreateTime?: string;
/** 更新时间 */
UpdateTime?: string;
/** 音频格式,当前只有0(代表wav) */
AudioFormat?: number;
/** 音频名称 */
AudioName?: string;
/** 请求毫秒时间戳 */
ReqTimestamp?: number;
}
/** 水印布局参数 */
declare interface WaterMark {
/** 水印类型,0为图片(默认),1为文字,2为时间戳。 */
WaterMarkType?: number;
/** 水印为图片时的参数列表,水印为图片时校验必填。 */
WaterMarkImage?: WaterMarkImage;
/** 水印为文字时的参数列表,水印为文字时校验必填。 */
WaterMarkChar?: WaterMarkChar | null;
/** 水印为时间戳时的参数列表,水印为时间戳时校验必填。 */
WaterMarkTimestamp?: WaterMarkTimestamp | null;
}
/** 自定义文字水印数据结构 */
declare interface WaterMarkChar {
/** 文字水印的起始坐标Y值,从左上角开始 */
Top: number;
/** 文字水印的起始坐标X值,从左上角开始 */
Left: number;
/** 文字水印的宽度,单位像素值 */
Width: number;
/** 文字水印的高度,单位像素值 */
Height: number;
/** 水印文字的内容 */
Chars: string;
/** 水印文字的大小,单位像素,默认14 */
FontSize?: number;
/** 水印文字的颜色,默认白色 */
FontColor?: string;
/** 水印文字的背景色,为空代表背景透明,默认为空 */
BackGroundColor?: string;
/** 文字水印的字体,支持设置以下值:1. Tencent (默认)2. SourceHanSans */
Font?: string;
}
/** 水印类型为图片的参数列表 */
declare interface WaterMarkImage {
/** 下载的url地址, 只支持jpg, png, jpeg,大小限制不超过5M。注意,url必须携带格式后缀,url内只支持特定的字符串, 范围是a-z A-Z 0-9 '-', '.', '_', '~', ':', '/', '?', '#', '[', ']' '@', '!', '&', '(', ')', '*', '+', ',', '%', '=' */
WaterMarkUrl: string;
/** 画布上该画面左上角的 y 轴坐标,取值范围 [0, 2560],不能超过画布的高。 */
Top: number;
/** 画布上该画面左上角的 x 轴坐标,取值范围 [0, 2560],不能超过画布的宽。 */
Left: number;
/** 画布上该画面宽度的相对值,取值范围 [0, 2560],与Left相加不应超过画布的宽。 */
Width: number;
/** 画布上该画面高度的相对值,取值范围 [0, 2560],与Top相加不应超过画布的高。 */
Height: number;
}
/** MCU混流水印参数 */
declare interface WaterMarkParams {
/** 混流-水印图片ID。取值为实时音视频控制台上传的图片ID。 */
WaterMarkId: number;
/** 混流-水印宽。单位为像素值。水印宽+X偏移不能超过整个画布宽。 */
WaterMarkWidth: number;
/** 混流-水印高。单位为像素值。水印高+Y偏移不能超过整个画布高。 */
WaterMarkHeight: number;
/** 水印在输出时的X偏移。单位为像素值。水印宽+X偏移不能超过整个画布宽。 */
LocationX: number;
/** 水印在输出时的Y偏移。单位为像素值。水印高+Y偏移不能超过整个画布高。 */
LocationY: number;
/** 混流-水印图片URL地址,支持png、jpg、jpeg、bmp格式,暂不支持透明通道。URL链接长度限制为512字节。WaterMarkUrl和WaterMarkId参数都填时,以WaterMarkUrl为准。图片大小限制不超过2MB。 */
WaterMarkUrl?: string;
}
/** 时间戳水印数据结构 */
declare interface WaterMarkTimestamp {
/** 时间戳的位置,取值范围0-6,分别代表上左,上右,下左,下右,上居中,下居中,居中 */
Pos: number;
/** 显示时间戳的时区,默认东八区 */
TimeZone?: number;
/** 文字水印的字体,支持设置以下值:1. Tencent (默认)2. SourceHanSans */
Font?: string;
}
/** 页面录制控制参数 */
declare interface WebRecordVideoParams {
/** 录制画面宽度,默认为1280,取值范围[0, 1920] */
Width?: number;
/** 录制画面高度,默认为720,取值范围[0, 1080] */
Height?: number;
/** 指定输出格式,可选hls,mp4。存储到云点播VOD时此参数无效,存储到VOD时请通过TencentVod(https://cloud.tencent.com/document/api/647/44055 */
Format?: string;
/** 如果是aac或者mp4文件格式,超过长度限制后,系统会自动拆分视频文件。单位:分钟。默认为1440min(24h),取值范围为1-1440。【单文件限制最大为2G,满足文件大小 >2G 或录制时长度 > 24h任意一个条件,文件都会自动切分】Hls 格式录制此参数不生效。示例值:1440 */
MaxMediaFileDuration?: number;
}
declare interface ControlAIConversationRequest {
/** 任务唯一标识 */
TaskId: string;
/** 控制命令,目前支持命令如下:- ServerPushText,服务端发送文本给AI机器人,AI机器人会播报该文本. - InvokeLLM,服务端发送文本给大模型,触发对话 */
Command: string;
/** 服务端发送播报文本命令,当Command为ServerPushText时必填 */
ServerPushText?: ServerPushText;
/** 服务端发送命令主动请求大模型,当Command为InvokeLLM时会把content请求到大模型,头部增加X-Invoke-LLM="1" */
InvokeLLM?: InvokeLLM;
}
declare interface ControlAIConversationResponse {
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface CreateBasicModerationRequest {
/** TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351),和TRTC的房间所对应的SdkAppId相同。 */
SdkAppId: number;
/** TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351),为TRTC房间所对应的RoomId。 */
RoomId: string;
/** 目标审核用户id */
UserId: string;
/** TRTC房间号的类型。【*注意】必须和TRTC的房间所对应的RoomId类型相同:0: 字符串类型的RoomId1: 32位整型的RoomId(默认) */
RoomIdType?: number;
/** 音频文件上传到云存储的参数 */
AuditStorageParams?: AuditStorageParams;
}
declare interface CreateBasicModerationResponse {
/** 审核服务分配的任务ID。任务ID是对一次审核任务生命周期过程的唯一标识,结束任务时会失去意义。任务ID需要业务保存下来,作为下次针对这个任务操作的参数 */
TaskId?: string;
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface CreateCloudModerationRequest {
/** TRTC的[SdkAppId](https://cloud.tencent.com/document/product/647/46351),和TRTC的房间所对应的SdkAppId相同。 */
SdkAppId: number;
/** TRTC的[RoomId](https://cloud.tencent.com/document/product/647/46351),为TRTC房间所对应的RoomId。 */
RoomId: string;
/** 机器人的UserId,用于进房发起审核任务。【*注意】这个UserId不能与当前房间内的主播观众UserId重复。如果一个房间发起多个切片任务时,机器人的userid也不能相互重复,否则会中断前一个切片任务。建议可以把房间ID作为UserId的标识的一部分,即机器人UserId在房间内唯一。 */
UserId: string;
/** 机器人UserId对应的校验签名,即UserId和UserSig相当于机器人进房的登录密码,具体计算方法请参考TRTC计算UserSig的方案。 */
UserSig: string;
/** 云端审核控制参数。 */
ModerationParams: ModerationParams;
/** 云端审核文件上传到云存储的参数 */
ModerationStorageParams: ModerationStorageParams;
/** TRTC房间号的类型。 【*注意】必须和录制的房间所对应的RoomId类型相同: 0: 字符串类型的RoomId 1: 32位整型的RoomId(默认) 示例值:1 */
RoomIdType?: number;
/** 任务ID可以调用的时效性,从成功开启任务并获得TaskID后开始计算,超时后无法调用查询、更新和停止等接口,但是切片任务不会停止。 参数的单位是小时,默认24小时(1天),最大可设置72小时(3天),最小设置6小时。举例说明:如果不设置该参数,那么开始切片成功后,查询、更新和停止切片的调用时效为24个小时。 */
ResourceExpiredHour?: number;
}
declare interface CreateCloudModerationResponse {
/** 云端审核服务分配的任务ID。任务ID是对一次切片任务生命周期过程的唯一标识,结束任务时会失去意义。任务ID需要业务保存下来,作为下次针对这个任务操作的参数 */
TaskId?: string;
/** 唯一请求 ID,每次请求都会返回。 */
RequestId?: string;
}
declare interface CreateCloudRecordingRe