Global

Members

(constant) TRTCVideoResolution :Number

Properties:
Name Type Description
TRTCVideoResolution_120_120 Number

[C] 建议码率80kbps

TRTCVideoResolution_160_160 Number

[C] 建议码率100kbps

TRTCVideoResolution_270_270 Number

[C] 建议码率200kbps

TRTCVideoResolution_480_480 Number

[C] 建议码率350kbps

TRTCVideoResolution_160_120 Number

[C] 建议码率100kbps

TRTCVideoResolution_240_180 Number

[C] 建议码率150kbps

TRTCVideoResolution_280_210 Number

[C] 建议码率200kbps

TRTCVideoResolution_320_240 Number

[C] 建议码率250kbps

TRTCVideoResolution_400_300 Number

[C] 建议码率300kbps

TRTCVideoResolution_480_360 Number

[C] 建议码率400kbps

TRTCVideoResolution_640_480 Number

[C] 建议码率600kbps

TRTCVideoResolution_960_720 Number

[C] 建议码率1000kbps

TRTCVideoResolution_160_90 Number

[C] 建议码率150kbps

TRTCVideoResolution_256_144 Number

[C] 建议码率200kbps

TRTCVideoResolution_320_180 Number

[C] 建议码率250kbps

TRTCVideoResolution_480_270 Number

[C] 建议码率350kbps

TRTCVideoResolution_640_360 Number

[C] 建议码率550kbps

TRTCVideoResolution_960_540 Number

[C] 建议码率850kbps

TRTCVideoResolution_1280_720 Number

[C] 摄像头采集 - 建议码率1200kbps
[S] 屏幕分享 - 建议码率 低清:1000kbps 高清:1600kbps

TRTCVideoResolution_1920_1080 Number

[S] 屏幕分享 - 建议码率2000kbps

视频分辨率

此处仅定义了横屏分辨率,如果要使用360 × 640这样的竖屏分辨率,需要同时指定 TRTCVideoResolutionMode 为 Portrait。

Type:
  • Number

(constant) TRTCVideoResolutionMode :Number

Properties:
Name Type Description
TRTCVideoResolutionModeLandscape Number

横屏分辨率

TRTCVideoResolutionModePortrait Number

竖屏分辨率

视频分辨率模式

  • 横屏分辨率:TRTCVideoResolution_640_360 + TRTCVideoResolutionModeLandscape = 640 × 360
  • 竖屏分辨率:TRTCVideoResolution_640_360 + TRTCVideoResolutionModePortrait = 360 × 640
Type:
  • Number

(constant) TRTCVideoStreamType :Number

Properties:
Name Type Description
TRTCVideoStreamTypeBig Number

大画面视频流

TRTCVideoStreamTypeSmall Number

小画面视频流

TRTCVideoStreamTypeSub Number

辅流(屏幕分享)

视频流类型

TRTC 内部有三种不同的音视频流,分别是:

  • 主画面:最常用的一条线路,一般用来传输摄像头的视频数据。
  • 小画面:跟主画面的内容相同,但是分辨率和码率更低。
  • 辅流画面:一般用于屏幕分享,以及远程播片(比如老师放一段视频给学生)。

注意:

  • 如果主播的上行网络和性能比较好,则可以同时送出大小两路画面。
  • SDK 不支持单独开启小画面,小画面必须依附于主画面而存在。
Type:
  • Number

(constant) TRTCQuality :Number

Properties:
Name Type Description
TRTCQuality_Unknown Number

未定义

TRTCQuality_Excellent Number

最好

TRTCQuality_Good Number

TRTCQuality_Poor Number

一般

TRTCQuality_Bad Number

TRTCQuality_Vbad Number

很差

TRTCQuality_Down Number

不可用

画质级别

TRTC SDK 对画质定义了六种不同的级别,Excellent 代表最好,Down 代表不可用。

Type:
  • Number

(constant) TRTCVideoFillMode :Number

Properties:
Name Type Description
TRTCVideoFillMode_Fill Number

图像铺满屏幕,超出显示视窗的视频部分将被截掉

TRTCVideoFillMode_Fit Number

图像长边填满屏幕,短边区域会被填充黑色

视频画面填充模式

如果画面的显示分辨率不等于画面的原始分辨率,就需要您设置画面的填充模式:

  • TRTCVideoFillMode_Fill,图像铺满屏幕,超出显示视窗的视频部分将被截掉,所以画面显示可能不完整。
  • TRTCVideoFillMode_Fit,图像长边填满屏幕,短边区域会被填充黑色,但画面的内容肯定是完整的。
Type:
  • Number

(constant) TRTCVideoRotation :Number

Properties:
Name Type Description
TRTCVideoRotation0 Number

顺时针旋转0度

TRTCVideoRotation90 Number

顺时针旋转90度

TRTCVideoRotation180 Number

顺时针旋转180度

TRTCVideoRotation270 Number

顺时针旋转270度

视频画面旋转方向

TRTC SDK 提供了对本地和远程画面的旋转角度设置 API,如下的旋转角度都是指顺时针方向的。

Type:
  • Number

(constant) TRTCBeautyStyle :Number

Properties:
Name Type Description
TRTCBeautyStyleSmooth Number

光滑,适用于美女秀场,效果比较明显。

TRTCBeautyStyleNature Number

自然,磨皮算法更多地保留了面部细节,主观感受上会更加自然。

美颜(磨皮)算法

TRTC SDK 内置了多种不同的磨皮算法,您可以选择最适合您产品定位的方案。

Type:
  • Number

(constant) TRTCVideoPixelFormat :Number

Properties:
Name Type Description
TRTCVideoPixelFormat_Unknown Number

未定义

TRTCVideoPixelFormat_I420 Number

I420

TRTCVideoPixelFormat_Texture_2D Number

OpenGL 2D 纹理

TRTCVideoPixelFormat_BGRA32 Number

BGRA32

TRTCVideoPixelFormat_RGBA32 Number

RGBA32

视频像素格式

TRTC SDK 提供针对视频的自定义采集和自定义渲染功能,在自定义采集功能中,您可以用如下枚举值描述您采集的视频像素格式。 在自定义渲染功能中,您可以指定您期望 SDK 回调的视频像素格式。

Type:
  • Number

(constant) TRTCVideoBufferType :Number

Properties:
Name Type Description
TRTCVideoBufferType_Unknown Number

未知类型

TRTCVideoBufferType_Buffer Number

二进制Buffer类型

TRTCVideoBufferType_Texture Number

纹理类型

视频数据包装格式

Type:
  • Number

(constant) TRTCVideoMirrorType :Number

Properties:
Name Type Description
TRTCVideoMirrorType_Auto Number

只适用于移动端, 本地预览时,前置摄像头镜像,后置摄像头不镜像

TRTCVideoMirrorType_Enable Number

所有画面均镜像

TRTCVideoMirrorType_Disable Number

所有画面均不镜像

画面渲染镜像类型

TRTC 的画面镜像提供下列设置模式

Type:
  • Number

(constant) TRTCRecordType :Number

Properties:
Name Type Description
TRTCRecordTypeAudio Number

仅录制音频

TRTCRecordTypeVideo Number

仅录制视频

TRTCRecordTypeBoth Number

同时录制音频、视频

媒体录制类型

该枚举类型用于本地媒体录制接口 startLocalRecording(),用于指定是录制音视频文件还是纯音频文件。

Type:
  • Number

(constant) TRTCAppScene :Number

Properties:
Name Type Description
TRTCAppSceneVideoCall Number

视频通话场景,支持720P、1080P高清画质,单个房间最多支持300人同时在线,最高支持50人同时发言。
适合:[视频低延时直播]、[十万人互动课堂]、[视频直播 PK]、[视频相亲房]、[互动课堂]、[远程培训]、[超大型会议]等。
注意:此场景下,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。

TRTCAppSceneLIVE Number

视频互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。
在线直播场景,内部编码器和网络协议优化侧重性能和兼容性,性能和清晰度表现更佳。

TRTCAppSceneAudioCall Number

语音通话场景,支持 48kHz,支持双声道。单个房间最多支持300人同时在线,最高支持50人同时发言。
适合:[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等。

TRTCAppSceneVoiceChatRoom Number

语音互动直播,支持平滑上下麦,切换过程无需等待,主播延时小于300ms;支持十万级别观众同时播放,播放延时低至1000ms。
适合:[语音低延时直播]、[语音直播连麦]、[语聊房]、[K 歌房]、[FM 电台]等。
注意:此场景下,您必须通过 TRTCParams 中的 role 字段指定当前用户的角色。

应用场景

TRTC 可用于视频会议和在线直播等多种应用场景,针对不同的应用场景,TRTC SDK 的内部会进行不同的优化配置:

  • TRTCAppSceneVideoCall :视频通话场景,适合[1对1视频通话]、[300人视频会议]、[在线问诊]、[视频聊天]、[远程面试]等。
  • TRTCAppSceneLIVE :视频互动直播,适合[视频低延时直播]、[十万人互动课堂]、[视频直播 PK]、[视频相亲房]、[互动课堂]、[远程培训]、[超大型会议]等。
  • TRTCAppSceneAudioCall :语音通话场景,适合[1对1语音通话]、[300人语音会议]、[语音聊天]、[语音会议]、[在线狼人杀]等。
  • TRTCAppSceneVoiceChatRoom:语音互动直播,适合:[语音低延时直播]、[语音直播连麦]、[语聊房]、[K 歌房]、[FM 电台]等。
Type:
  • Number

(constant) TRTCRoleType :Number

Properties:
Name Type Description
TRTCRoleAnchor Number

主播

TRTCRoleAudience Number

观众

角色,仅适用于直播场景(TRTCAppSceneLIVE 和 TRTCAppSceneVoiceChatRoom)

在直播场景中,多数用户只是观众,只有个别用户是主播,这种角色区分可以有利于 TRTC 进行更好的定向优化。

  • Anchor:主播,可以上行视频和音频,一个房间里最多支持50个主播同时上行音视频。
  • Audience:观众,只能观看,不能上行视频和音频,一个房间里的观众人数没有上限。
Type:
  • Number

(constant) TRTCQosControlMode :Number

Properties:
Name Type Description
TRTCQosControlModeClient Number

客户端控制(用于 SDK 开发内部调试,客户请勿使用)

TRTCQosControlModeServer Number

云端控制(默认)

流控模式

TRTC SDK 内部需要时刻根据网络情况调整内部的编解码器和网络模块,以便能够对网络的变化做出反应。 为了支持快速算法升级,SDK 内部设置了两种不同的流控模式:

  • ModeClient: 本地控制,用于 SDK 开发内部调试,客户请勿使用。
  • ModeServer: 云端控制,推荐模式,也是默认默认。

推荐您使用云端控制,这样每当我们升级 Qos 算法时,您无需升级 SDK 即可体验更好的效果。

Type:
  • Number

(constant) TRTCVideoQosPreference :Number

Properties:
Name Type Description
TRTCVideoQosPreferenceSmooth Number

弱网下保流畅

TRTCVideoQosPreferenceClear Number

弱网下保清晰

画质偏好

指当 TRTC SDK 在遇到弱网络环境时,您是希望“保清晰”还是“保流畅”:

  • Smooth:弱网下保流畅,在遭遇弱网环境时首先确保声音的流畅和优先发送,画面会变得模糊且会有较多马赛克,但可以保持流畅不卡顿。
  • Clear:弱网下保清晰,在遭遇弱网环境时,画面会尽可能保持清晰,但可能会更容易出现卡顿。
Type:
  • Number

(constant) TRTCAudioFrameFormat :Number

Properties:
Name Type Description
TRTCAudioFrameFormatNone Number

未指定

TRTCAudioFrameFormatPCM Number

PCM,每个采样点占16bit数据量。

音频帧的格式

Type:
  • Number

(constant) TRTCScreenCaptureSourceType :Number

Properties:
Name Type Description
TRTCScreenCaptureSourceTypeUnknown Number

未知类型

TRTCScreenCaptureSourceTypeWindow Number

该分享目标是某一个 Windows 或 Mac 窗口

TRTCScreenCaptureSourceTypeScreen Number

该分享目标是整个 Windows 桌面或 Mac 桌面

TRTCScreenCaptureSourceTypeCustom Number

该分享目标是自定义窗口(保留字段,暂无用法)

屏幕分享目标信息

Type:
  • Number

(constant) TRTCAudioQuality :Number

Properties:
Name Type Description
TRTCAudioQualitySpeech Number

语音模式:采样率:16k;单声道;音频裸码率:16kbps;适合语音通话为主的场景,比如在线会议,语音通话。

TRTCAudioQualityDefault Number

标准模式(或者默认模式):采样率:48k;单声道;音频裸码率:50kbps;SDK 默认的音频质量,如无特殊需求推荐选择之。

TRTCAudioQualityMusic Number

音乐模式:采样率:48k;双声道 + 全频带;音频裸码率:128kbps;适合需要高保真传输音乐的场景,比如K歌、音乐直播等。

音频质量

Type:
  • Number

(constant) TRTCLogLevel :Number

Properties:
Name Type Description
TRTCLogLevelVerbose Number

输出所有级别的 Log

TRTCLogLevelDebug Number

输出 DEBUG,INFO,WARNING,ERROR 和 FATAL 级别的 Log

TRTCLogLevelInfo Number

输出 INFO,WARNNING,ERROR 和 FATAL 级别的 Log

TRTCLogLevelWarn Number

只输出WARNNING,ERROR 和 FATAL 级别的 Log

TRTCLogLevelError Number

只输出ERROR 和 FATAL 级别的 Log

TRTCLogLevelFatal Number

只输出 FATAL 级别的 Log

TRTCLogLevelNone Number

不输出任何 SDK Log

Log 级别

Type:
  • Number

(constant) TRTCDeviceState :Number

Properties:
Name Type Description
TRTCDeviceStateAdd Number

添加设备

TRTCDeviceStateRemove Number

移除设备

TRTCDeviceStateActive Number

设备已启用

TRTCDefaultDeviceChanged Number

系统默认设备变更

设备操作

Type:
  • Number

(constant) TRTCDeviceType :Number

Properties:
Name Type Description
TRTCDeviceTypeUnknown Number

未知类型

TRTCDeviceTypeMic Number

麦克风

TRTCDeviceTypeSpeaker Number

扬声器

TRTCDeviceTypeCamera Number

摄像头

设备类型

Type:
  • Number

(constant) TRTCCameraCaptureMode :Number

Properties:
Name Type Description
TRTCCameraResolutionStrategyAuto Number

自动调整采集参数。SDK 根据实际的采集设备性能及网络情况,选择合适的摄像头输出参数,在设备性能及视频预览质量之间,维持平衡。

TRTCCameraResolutionStrategyPerformance Number

优先保证设备性能。SDK 根据用户设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。

TRTCCameraResolutionStrategyHighQuality Number

优先保证视频预览质量。SDK选择较高的摄像头输出参数,从而提高预览视频的质量。在这种情况下,会消耗更多的 CPU 及内存做视频前处理。

TRTCCameraCaptureManual Number

允许用户设置本地摄像头采集的视频宽高。

摄像头采集偏好

该枚举类型用于摄像头采集参数设置。

Type:
  • Number

(constant) TRTCWaterMarkSrcType :Number

Properties:
Name Type Description
TRTCWaterMarkSrcTypeFile Number

图片文件路径,支持 BMP、GIF、JPEG、PNG、TIFF、Exif、WMF 和 EMF 文件格式

TRTCWaterMarkSrcTypeBGRA32 Number

BGRA32格式内存块

TRTCWaterMarkSrcTypeRGBA32 Number

RGBA32格式内存块

水印图片的源类型

Type:
  • Number

(constant) TRTCTranscodingConfigMode :Number

Properties:
Name Type Description
TRTCTranscodingConfigMode_Unknown Number

非法值

TRTCTranscodingConfigMode_Manual Number

全手动模式,灵活性最高,可以自由组合出各种混流方案,但易用性最差。 此模式下,您需要填写 TRTCTranscodingConfig 中的所有参数,并需要监听 TRTCCloudDelegate 中的 onUserVideoAvailable() 和 onUserAudioAvailable() 回调, 以便根据当前房间中各个上麦用户的音视频状态不断地调整 mixUsers 参数,否则会导致混流失败。

TRTCTranscodingConfigMode_Template_PureAudio Number

纯音频模式,适用于语音通话(AudioCall)和语音聊天室(VoiceChatRoom)等纯音频场景。 只需要在进房后通过 setMixTranscodingConfig() 接口设置一次,之后 SDK 就会自动把房间内所有上麦用户的声音混流到当前用户的直播流上。 此模式下,您无需设置 TRTCTranscodingConfig 中的 mixUsers 参数,只需设置 audioSampleRate、audioBitrate 和 audioChannels 等参数。

TRTCTranscodingConfigMode_Template_PresetLayout Number

预排版模式,通过占位符提前对各路画面进行排布 此模式下,您依然需要设置 mixUsers 参数,但可以将 userId 设置为占位符,可选的占位符有:

  • "$PLACE_HOLDER_REMOTE$" : 指代远程用户的画面,可以设置多个。
  • "$PLACE_HOLDER_LOCAL_MAIN$" : 指代本地摄像头画面,只允许设置一个。
  • "$PLACE_HOLDER_LOCAL_SUB$" : 指代本地屏幕分享画面,只允许设置一个。 但是您可以不需要监听 TRTCCloudDelegate 中的 onUserVideoAvailable() 和 onUserAudioAvailable() 回调进行实时调整, 只需要在进房成功后调用一次 setMixTranscodingConfig() 即可,之后 SDK 会自动将真实的 userId 补位到您设置的占位符上。
TRTCTranscodingConfigMode_Template_ScreenSharing Number

屏幕分享模式,适用于在线教育场景等以屏幕分享为主的应用场景,仅支持 Windows 和 Mac 两个平台的 SDK。 SDK 会先根据您(通过 videoWidth 和 videoHeight 参数)设置的目标分辨率构建一张画布, 当老师未开启屏幕分享时,SDK 会将摄像头画面等比例拉伸绘制到该画布上;当老师开启屏幕分享之后,SDK 会将屏幕分享画面绘制到同样的画布上。 这样操作的目的是为了确保混流模块的输出分辨率一致,避免课程回放和网页观看的花屏问题(网页播放器不支持可变分辨率)。

由于教学模式下的视频内容以屏幕分享为主,因此同时传输摄像头画面和屏幕分享画面是非常浪费带宽的。 推荐的做法是直接将摄像头画面通过 setLocalVideoRenderCallback 接口自定义绘制到当前屏幕上。 在该模式下,您无需设置 TRTCTranscodingConfig 中的 mixUsers 参数,SDK 不会混合学生的画面,以免干扰屏幕分享的效果。

您可以将 TRTCTranscodingConfig 中的 width × height 设为 0px × 0px,SDK 会自动根据用户当前屏幕的宽高比计算出一个合适的分辨率:

  • 如果老师当前屏幕宽度 <= 1920px,SDK 会使用老师当前屏幕的实际分辨率。
  • 如果老师当前屏幕宽度 > 1920px,SDK 会根据当前屏幕宽高比,选择 1920x1080(16:9)、1920x1200(16:10)、1920x1440(4:3) 三种分辨率中的一种。

混流参数配置模式

目前暂仅支持手动配置这一种模式,即需要指定 TRTCTranscodingConfig 的全部参数。

Type:
  • Number

(constant) TRTCMixInputType :Number

Properties:
Name Type Description
TRTCMixInputTypeUndefined Number

不指定,SDK 会根据另一个参数 pureAudio 的数值决定混流输入类型

TRTCMixInputTypeAudioVideo Number

混入音频和视频

TRTCMixInputTypePureVideo Number

只混入视频

TRTCMixInputTypePureAudio Number

只混入音频

TRTCMixInputTypeWatermark Number

混入水印,此时您无需指定 userId 字段,但需要指定 image 字段,推荐使用 png 格式的图片

混流输入类型

Type:
  • Number

(constant) TRTCAudioRecordingContent :Number

Properties:
Name Type Description
TRTCAudioRecordingContentAll Number

录制本地和远端所有音频

TRTCAudioRecordingContentLocal Number

仅录制本地音频

TRTCAudioRecordingContentRemote Number

仅录制远端音频

音频录制内容类型, 9.3 版本开始支持

该枚举类型用于音频录制接口 startAudioRecording,用于指定录制音频的内容。

Type:
  • Number

(constant) TRTCPublishMode :Number

Properties:
Name Type Description
TRTCPublishModeUnknown Number

未定义。

TRTCPublishBigStreamToCdn Number

您可以通过设置该参数将您房间内的主路流(TRTCVideoStreamTypeBig)发布到腾讯或者第三方直播 CDN 服务商(仅支持标准 RTMP 协议)。

TRTCPublishSubStreamToCdn Number

您可以通过设置该参数将您房间内的辅路流(TRTCVideoStreamTypeSub)发布到腾讯或者第三方直播 CDN 服务商(仅支持标准 RTMP 协议)。

TRTCPublishMixStreamToCdn Number

您可以通过设置该参数,配合编码输出参数 (TRTCStreamEncoderParam) 和混流转码参数 (TRTCStreamMixingConfig),将您指定的多路音视频流进行转码并发布到腾讯或者第三方直播 CDN 服务商(仅支持标准 RTMP 协议)。

TRTCPublishMixStreamToRoom Number

您可以通过设置该参数,配合媒体流编码输出参数 (TRTCStreamEncoderParam) 和混流转码参数 (TRTCStreamMixingConfig),将您指定的多路音视频流进行转码并发布到您指定的房间中。通过 TRTCPublishTarget 中的 TRTCUser 进行指定回推房间的机器人信息。

媒体流发布模式

该枚举类型用于媒体流发布接口 startPublishMediaStream TRTC 的媒体流发布服务能够将房间中的多路音视频流混合成一路发布至 CDN 或者回推到房间内,也可以将您当前的这路音视频发布到腾讯或者第三方 CDN 因此您需要指定对应媒体流的发布模式,我们提供了如下几种模式。

Type:
  • Number

(constant) TRTCVoiceReverbType :Number

Properties:
Name Type Description
TRTCLiveVoiceReverbType_0 Number

关闭特效

TRTCLiveVoiceReverbType_1 Number

KTV

TRTCLiveVoiceReverbType_2 Number

小房间

TRTCLiveVoiceReverbType_3 Number

大会堂

TRTCLiveVoiceReverbType_4 Number

低沉

TRTCLiveVoiceReverbType_5 Number

洪亮

TRTCLiveVoiceReverbType_6 Number

金属声

TRTCLiveVoiceReverbType_7 Number

磁性

TRTCLiveVoiceReverbType_8 Number

空灵

TRTCLiveVoiceReverbType_9 Number

录音棚

TRTCLiveVoiceReverbType_10 Number

悠扬

TRTCLiveVoiceReverbType_11 Number

录音棚2

混响特效

混响特效可以作用于人声之上,通过声学算法对声音进行叠加处理,模拟出各种不同环境下的临场感受,目前支持如下几种混响效果。

Type:
  • Number

(constant) TRTCVoiceChangerType :Number

Properties:
Name Type Description
TRTCLiveVoiceChangerType_0 Number

关闭特效

TRTCLiveVoiceChangerType_1 Number

熊孩子

TRTCLiveVoiceChangerType_2 Number

萝莉

TRTCLiveVoiceChangerType_3 Number

大叔

TRTCLiveVoiceChangerType_4 Number

重金属

TRTCLiveVoiceChangerType_5 Number

感冒

TRTCLiveVoiceChangerType_6 Number

外语腔

TRTCLiveVoiceChangerType_7 Number

困兽

TRTCLiveVoiceChangerType_8 Number

肥宅

TRTCLiveVoiceChangerType_9 Number

强电流

TRTCLiveVoiceChangerType_10 Number

重机械

TRTCLiveVoiceChangerType_11 Number

空灵

变声特效

变声特效可以作用于人声之上,通过声学算法对人声进行二次处理,以获得与原始声音所不同的音色,目前支持如下几种变声特效

Type:
  • Number

(constant) TRTCPluginType :Number

Properties:
Name Type Description
TRTCPluginTypeVideoProcess Number

视频处理,可以实现自定义美颜

TRTCPluginTypeMediaEncryptDecrypt Number

音视频加解密,可以实现自定义加解密

TRTCPluginTypeAudioProcess Number

音频处理,可以实现自定义音频处理

插件类型

支持视频处理、音视频加解密插件

Type:
  • Number

Type Definitions

TRTCAudioParallelParams

Properties:
Name Type Description
maxCount Number

【字段含义】最大并发播放数。默认值:0。

  • 如果 maxCount > 0,且实际人数 > maxCount,会实时智能选出 maxCount 路数据进行播放,这会极大的降低性能消耗。
  • 如果 maxCount = 0,SDK 不限制并发播放数,在上麦人数比较多的房间可能会引发性能问题。
includeUsers Array.<String>

【字段含义】指定用户必定能并发播放。
【特殊说明】指定必定并发播放的用户 ID 列表。这些用户不参与智能选择。

  • includeUsers 的数量必须小于 maxCount,否则本次并发播放设置失效。
  • includeUsers 仅在 maxCount > 0 时有效。当 includeUsers 生效时,参与智能并发选择的最大播放数 = maxCount - 有效 includeUsers 的数量。

远端音频流智能并发播放策略的参数

该参数用于设置远端音频流智能并发播放策略。

Type:
  • Object

TRTCCameraCaptureParams

Properties:
Name Type Description
mode TRTCCameraCaptureMode

摄像头采集偏好

width Number

采集图像宽度

height Number

采集图像高度

摄像头采集参数

该设置能决定本地预览图像画质。

Type:
  • Object

TRTCPluginInfo

Properties:
Name Type Description
id String

插件 ID,用户需要自己保证 ID 的唯一性

deviceId String

设备 ID,开启多摄像头美颜时,为对应摄像头 ID,默认为空字符串 ""

enable function

启用该插件,返回值:0 成功,其他值表示失败

disable function

禁用该插件,返回值:0 成功,其他值表示失败

setParameter function

设置该插件的参数,返回值:0 成功,其他值表示失败,入参必须是序列化的 JSON 串,会透传到 C++ 插件层

TRTC 插件信息

Type:
  • Object

TRTCVideoProcessPluginOptions

Properties:
Name Type Description
enable Boolean

是否开启

pixelFormat TRTCVideoPixelFormat

视频格式

视频处理插件选项

Type:
  • Object

TRTCMediaEncryptDecryptPluginOptions

Properties:
Name Type Description
enable Boolean

是否开启

音视频加解密插件选项

Type:
  • Object

TRTCAudioProcessPluginOptions

Properties:
Name Type Description
enable Boolean

是否开启

音频自定义处理插件选项

Type:
  • Object

TRTCPublishCdnUrl

Properties:
Name Type Description
rtmpUrl String

【字段含义】指定该路音视频流在腾讯或者第三方直播服务商的推流地址(RTMP 格式)。
【推荐取值】各家服务商的推流地址规则差异较大,请根据目标服务商的要求填写合法的推流 URL,TRTC 的后台服务器会按照您填写的 URL 向第三方服务商推送标准格式音视频流。
【特别说明】推流 URL 必须为 RTMP 格式,必须符合您的目标直播服务商的规范要求,否则目标服务商会拒绝来自 TRTC 后台服务的推流请求。

isInternalLine Boolean

【字段含义】指定该路音视频流是否发布至腾讯云。
【推荐取值】默认值:true。
【特别说明】若您的目标直播服务商为腾讯,请将此参数设置为 true,此时后台计费系统不会对此计算转推服务费。

向腾讯或者第三方 CDN 上发布音视频流时需设置的 url 配置

该配置用于媒体流发布接口 startPublishMediaStream 中的目标推流配置 (TRTCPublishTarget)

Type:
  • Object

TRTCUser

Properties:
Name Type Description
userId String

【字段含义】用户标识,当前用户的 userId,相当于用户名,使用 UTF-8 编码。
【推荐取值】如果一个用户在您的账号系统中的 ID 为“mike”,则 userId 即可设置为“mike”。

intRoomId Number

【字段含义】数字房间号,需要和您的进房参数 (TRTCParams) 中的房间号类型相匹配。
【推荐取值】取值范围:1 - 4294967294。
【特别说明】intRoomId 与 strRoomId 是互斥的,若您进房参数中选用 strRoomId,则 intRoomId 需要填写为0。若两者都填,SDK 将优先选用 intRoomId。

strRoomId String

【字段含义】字符串房间号,需要和您的进房参数 (TRTCParams) 中的房间号类型相匹配。
【特别说明】intRoomId 与 strRoomId 是互斥的,若您进房参数中选用 roomId,则 strRoomId 无需填写。若两者都填,SDK 将优先选用 intRoomId。
【推荐取值】限制长度为 64 字节。以下为支持的字符集范围(共 89 个字符):

  • 大小写英文字母(a-zA-Z);
  • 数字(0-9);
  • 空格、!#$%&()+-:;<=.>?@[]^_{}|~,

媒体流发布相关配置的用户信息

您可以通过设置该参数,配合媒体流目标发布参数 (TRTCPublishTarget) 和混流转码参数 (TRTCStreamMixingConfig),将您指定的多路音视频流进行转码并发布到您填写的目标发布地址中

Type:
  • Object

TRTCPublishTarget

Properties:
Name Type Description
mode TRTCPublishMode

【字段含义】媒体流发布模式。
【推荐取值】请根据您的业务场景要求自行选择,TRTC 支持转推、转码和回推到 RTC 房间的模式。
【特别说明】若您的业务场景需要多个发布模式,您可以通过多次调用媒体流发布接口 (startPublishMediaStream) 并分别设置不同的 TRTCPublishTarget。
【特别说明】同一个 mode 请对应一个媒体流发布接口 (startPublishMediaStream),并在后续需要调整时,使用 updatePublishMediaStream 进行更新。

cdnUrlList Array.<TRTCPublishCdnUrl>

【字段含义】发布至腾讯或者第三方直播服务商的推流地址(RTMP 格式)。
【特别说明】若您的 mode 选择为 TRTCPublishMixStreamToRoom,此时您不需要设置该参数。

mixStreamIdentity TRTCUser

【字段含义】回推房间机器人信息。
【特别说明】仅当您的 mode 选择为 TRTCPublishMixStreamToRoom 时,您需要设置该参数。
【特别说明】设置后,该路转码音视频数据将回推到您指定的房间中。建议设置为特殊的 userId,以避免难以区分回推机器人和您通过 TRTC SDK 进房的主播。
【特别说明】参与混流的用户不支持订阅该转码流。
【特别说明】当您进房前设置的订阅模式(setDefaultStreamRecvMode) 均为手动时,您需要自行管理您想要拉取的音视频流(通常当您拉取回推房间的转码流时,您应该取消订阅参与转码的对应音视频单流)。
【特别说明】当您进房前设置的订阅模式(setDefaultStreamRecvMode) 均为自动时,不参与转码的用户将自动收到后台下发的转码流并不再继续接收参与转码的音视频单流。除非您明确进行取消订阅(muteRemoteVideoStreammuteRemoteAudio),否则转码流数据将持续下发。

目标推流配置

该配置用于媒体流发布接口 startPublishMediaStream

Type:
  • Object

TRTCStreamEncoderParam

Properties:
Name Type Description
videoEncodedWidth Number

【字段含义】指定媒体发布流的目标分辨率(宽度)。
【推荐取值】单位:像素值,推荐值:368,如果你只混合音频流,请将 width 和 height 均设置为 0,否则混流转码后的直播流中会有黑色背景。

videoEncodedHeight Number

【字段含义】指定媒体发布流的目标分辨率(高度)。
【推荐取值】单位:像素值,推荐值:640,如果你只混合音频流,请将 width 和 height 均设置为 0,否则混流转码后的直播流中会有黑色背景。

videoEncodedFPS Number

【字段含义】指定媒体发布流的目标视频帧率(FPS)。
【推荐取值】推荐值:20fps,取值范围是 (0,30]。

videoEncodedGOP Number

【字段含义】指定媒体发布流的目标视频关键帧间隔(GOP)。
【推荐取值】推荐值:3,单位为秒,取值范围是 [1,5]。

videoEncodedKbps Number

【字段含义】指定媒体发布流的目标视频码率(kbps)。
【推荐取值】如果填 0,TRTC 会根据 videoEncodedWidth 和 videoEncodedHeight 估算出一个合理的码率值,您也可以参考视频分辨率枚举定义中所推荐的码率值(见注释部分)。

audioEncodedSampleRate Number

【字段含义】指定媒体发布流的目标音频采样率。
【推荐取值】默认值:48000Hz。取值为 [48000, 44100, 32000, 24000, 16000, 8000],单位是 Hz。

audioEncodedChannelNum Number

【字段含义】指定媒体发布流的目标音频声道数。
【推荐取值】默认值:1,代表单声道。可设定的数值只有两个数字:1-单声道,2-双声道。

audioEncodedKbps Number

【字段含义】指定媒体发布流的目标音频码率(kbps)。
【推荐取值】默认值:50kbps,取值范围是 [32,192]。

audioEncodedCodecType Number

【字段含义】指定媒体发布流的目标音频编码类型。
【推荐取值】默认值:0,代表 LC-AAC。可设定的数值只有三个数字:0 - LC-AAC,1 - HE-AAC,2 - HE-AACv2。
【特别说明】HE-AAC 和 HE-AACv2 支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]。
【特别说明】当音频编码设置为 HE-AACv2 时,只支持输出流音频声道数为双声道。

videoEncodedCodecType Number

【字段含义】指定媒体发布流的目标视频编码类型。
【推荐取值】默认值:0,代表 H264。可设定的数值只有两个数字:0 - H264,1 - H265。

videoSeiParams String

【字段含义】混流 SEI 参数,默认不填写。
【特别说明】参数以 json 字符串形式传入,示例如下:

{
  "payLoadContent":"xxx",
  "payloadType":5,
  "payloadUuid":"1234567890abcdef1234567890abcdef",
  "interval":1000,
  "followIdr":false
}

当前支持的字段及含义:

  • payloadContent: 必填。透传 sei 的 payload 内容,不能为空;
  • payloadType: 必填。sei 消息的类型,取值范围: 5 或 [100, 254] 范围内的整数(244 除外,244 是内部自定义的时间戳 sei);
  • payloadUuid: 当 payloadType 为 5 时必须填写,其他情况下该值会被忽略。该值必须是长度为 32 的十六进制数字;
  • interval: 选填,默认 1000。sei 的发送间隔,单位毫秒;
  • followIdr: 选填,默认 false。该值为 true 时,发送关键帧时会确保带 sei,否则不确保。

媒体流编码输出参数

【字段含义】该配置用于媒体流发布接口(startPublishMediaStream)。
【特别说明】当您的发布目标(TRTCPublishTarget)中的 mode 配置为 TRTCPublish_MixStream_ToCdn 或者 TRTCPublish_MixStream_ToRoom 时,该参数为必填。
【特别说明】当您使用转推服务(mode 为 TRTCPublishBigStreamToCdn 或者 TRTCPublishSubStreamToCdn)时,为了更好的转推稳定性以及更好的 CDN 播放兼容性,也建议您填写该配置的具体参数。

Type:
  • Object

TRTCVideoLayout

Properties:
Name Type Description
rect Rect

【字段含义】指定该路画面的坐标区域(单位:像素)。

zOrder Number

【字段含义】指定该路画面的层级(取值范围:0 - 15,不可重复)。

fillMode TRTCVideoFillMode

【字段含义】画面填充模式。
【推荐取值】填充(画面可能会被拉伸裁剪)或适应(画面可能会有黑边),默认值:TRTCVideoFillMode_Fill

backgroundColor Number

【字段含义】指定混合画面的底色颜色。
【推荐取值】默认值:0x000000 代表黑色。格式为十六进制数字,比如:“0x61B9F1” 代表 RGB 分别为 (97,158,241)。

placeHolderImage String

【字段含义】占位图 URL,即当指定用户暂时仅上行音频时,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。
【推荐取值】默认值:空值,即不设置占位图。
【特别说明】此时需要您指定用户信息 fixedVideoUser 中的 userId。
【特别说明】

  • URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。
  • 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为占位图。
fixedVideoUser TRTCUser

【字段含义】参与转码的用户信息。
【特别说明】用户信息 (TRTCUser) 支持不填写(即 userId、intRoomId 和 strRoomId 均不填写)。此时当发起混流的房间中有主播上行音视频数据时,TRTC 后台服务器将自动将对应主播音视频填充到您指定的布局中。

fixedVideoStreamType TRTCVideoStreamType

【字段含义】指定该路画面是主路画面(TRTCVideoStreamTypeBig)还是辅路画面(TRTCVideoStreamTypeSub)。

转码视频布局

该配置用于媒体流发布接口(startPublishMediaStream)中的转码配置(TRTCStreamMixingConfig)。 用于指定转码流中每一路视频画面的位置、大小、图层以及流类型等信息。

Type:
  • Object

TRTCWatermark

Properties:
Name Type Description
watermarkUrl String

【字段含义】水印 URL,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。
【特别说明】

  • URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。
  • 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为水印。
rect Rect

【字段含义】指定该路水印画面的坐标区域(单位:像素)。

zOrder Number

【字段含义】指定该路水印画面的层级(取值范围:0 - 15,不可重复)。

水印布局

该配置用于媒体流发布接口 (startPublishMediaStream) 中的转码配置 (TRTCStreamMixingConfig)

Type:
  • Object

TRTCStreamMixingConfig

Properties:
Name Type Description
backgroundColor Number

【字段含义】指定混合画面的底色颜色。
【推荐取值】默认值:0x000000 代表黑色。格式为十六进制数字,比如:“0x61B9F1” 代表 RGB 分别为 (97、158、241)。

backgroundImage String

【字段含义】指定混合画面的背景图 URL,腾讯云的后台服务器会将该 URL 地址指定的图片混合到最终的画面中。
【推荐取值】默认值:空值,即不设置背景图片。
【特别说明】

  • URL 链接长度限制为 512 字节。图片大小限制不超过 2MB。
  • 图片格式支持 png、jpg、jpeg、bmp 格式,推荐使用 png 格式的半透明图片作为背景图。
videoLayoutList Array.<TRTCVideoLayout>

【字段含义】指定混合画面中的每一路视频画面的位置、大小、图层以及流类型等信息。
【推荐取值】该字段是一个 TRTCVideoLayout 类型的数组,数组中的每一个元素都用来代表每一路画面的信息。

audioMixUserList Array.<TRTCUser>

【字段含义】指定转码流中的每一路输入音频的信息。
【推荐取值】该字段是一个 TRTCUser 类型的数组,数组中的每一个元素都用来代表每一路输入音频的信息。
【特别说明】用户信息支持不填写(即 audioMixUserList 为空)。此时若设置了 TRTCStreamEncoderParam 中音频相关编码输出参数,TRTC 后台服务器将自动将所有主播的音频混合输出(当前仅支持最高 16 路音视频输入)。

watermarkList Array.<TRTCWatermark>

【字段含义】指定混合画面中的每一路水印画面的位置、大小、图层等信息。
【推荐取值】该字段是一个 TRTCWatermark 类型的数组,数组中的每一个元素都用来代表每一路水印的信息。

媒体流转码配置参数

该配置用于媒体流发布接口(startPublishMediaStream)。 用于指定转码时各路画面的排版位置信息和输入的音频信息。

Type:
  • Object

TRTCMusicPlayObserver

Properties:
Name Type Description
onStart TRTCMusicEvent~onStart | null

背景音乐开始播放事件。

onPlayProgress TRTCMusicEvent~onPlayProgress | null

背景音乐的播放进度事件。

onComplete TRTCMusicEvent~onComplete | null

背景音乐播放完毕事件。

背景音乐播放事件回调

Type:
  • Object

TRTCMusicPreloadObserver

Properties:
Name Type Description
onLoadProgress TRTCMusicEvent~onLoadProgress | null

背景音乐预加载进度

onLoadError TRTCMusicEvent~onLoadError | null

背景音乐预加载出错

背景音乐预加载事件回调

Type:
  • Object

TRTCAudioFrameCallback

Properties:
Name Type Description
onCapturedAudioFrame TRTCAudioFrameCallback~onCapturedAudioFrame | null

本地采集并经过音频模块前处理后的音频数据回调。

onLocalProcessedAudioFrame TRTCAudioFrameCallback~onLocalProcessedAudioFrame | null

本地采集并经过音频模块前处理、音效处理和混 BGM 后的音频数据回调。

onPlayAudioFrame TRTCAudioFrameCallback~onPlayAudioFrame | null

混音前的每一路远程用户的音频数据。

onMixedPlayAudioFrame TRTCAudioFrameCallback~onMixedPlayAudioFrame | null

将各路待播放音频混合之后并在最终提交系统播放之前的数据回调。

onMixedAllAudioFrame TRTCAudioFrameCallback~onMixedAllAudioFrame | null

SDK 所有音频混合后的音频数据(包括采集到的和待播放的)。

音频数据自定义回调

Type:
  • Object