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

1.1 视频分辨率

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

Type:
  • Number

(constant) TRTCVideoResolutionMode :Number

Properties:
Name Type Description
TRTCVideoResolutionModeLandscape Number

横屏分辨率

TRTCVideoResolutionModePortrait Number

竖屏分辨率

1.2 视频分辨率模式

  • 横屏分辨率: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

辅流(屏幕分享)

1.3 视频流类型

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

不可用

1.4 画质级别

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

Type:
  • Number

(constant) TRTCVideoFillMode :Number

Properties:
Name Type Description
TRTCVideoFillMode_Fill Number

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

TRTCVideoFillMode_Fit Number

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

1.5 视频画面填充模式

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

  • 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度

1.6 视频画面旋转方向

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

Type:
  • Number

(constant) TRTCBeautyStyle :Number

Properties:
Name Type Description
TRTCBeautyStyleSmooth Number

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

TRTCBeautyStyleNature Number

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

1.7 美颜(磨皮)算法

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

Type:
  • Number

(constant) TRTCVideoPixelFormat :Number

Properties:
Name Type Description
TRTCVideoPixelFormat_Unknown Number

未定义

TRTCVideoPixelFormat_I420 Number

I420

TRTCVideoPixelFormat_BGRA32 Number

BGRA32

1.8 视频像素格式

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

Type:
  • Number

(constant) TRTCVideoBufferType :Number

Properties:
Name Type Description
TRTCVideoBufferType_Unknown Number

未知类型

TRTCVideoBufferType_Buffer Number

二进制Buffer类型

1.9 视频数据包装格式

Type:
  • Number

(constant) TRTCVideoMirrorType :Number

Properties:
Name Type Description
TRTCVideoMirrorType_Auto Number

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

TRTCVideoMirrorType_Enable Number

所有画面均镜像

TRTCVideoMirrorType_Disable Number

所有画面均不镜像

1.10 画面渲染镜像类型

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

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 字段指定当前用户的角色。

2.1 应用场景

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

观众

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

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

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

(constant) TRTCQosControlMode :Number

Properties:
Name Type Description
TRTCQosControlModeClient Number

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

TRTCQosControlModeServer Number

云端控制(默认)

2.3 流控模式

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

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

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

Type:
  • Number

(constant) TRTCVideoQosPreference :Number

Properties:
Name Type Description
TRTCVideoQosPreferenceSmooth Number

弱网下保流畅

TRTCVideoQosPreferenceClear Number

弱网下保清晰

2.4 画质偏好

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

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

(constant) TRTCAudioFrameFormat :Number

Properties:
Name Type Description
TRTCAudioFrameFormatNone Number

未指定

TRTCAudioFrameFormatPCM Number

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

3.1 音频帧的格式

Type:
  • Number

(constant) TRTCScreenCaptureSourceType :Number

Properties:
Name Type Description
TRTCScreenCaptureSourceTypeUnknown Number

未知类型

TRTCScreenCaptureSourceTypeWindow Number

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

TRTCScreenCaptureSourceTypeScreen Number

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

TRTCScreenCaptureSourceTypeCustom Number

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

3.2 屏幕分享目标信息

Type:
  • Number

(constant) TRTCAudioQuality :Number

Properties:
Name Type Description
TRTCAudioQualitySpeech Number

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

TRTCAudioQualityDefault Number

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

TRTCAudioQualityMusic Number

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

3.3 音频质量

Type:
  • Number

(constant) TRTCLogLevel :Number

Properties:
Name Type Description
TRTCLogLevelNone Number

不输出任何 SDK Log

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

4.1 Log 级别

Type:
  • Number

(constant) TRTCDeviceState :Number

Properties:
Name Type Description
TRTCDeviceStateAdd Number

添加设备

TRTCDeviceStateRemove Number

移除设备

TRTCDeviceStateActive Number

设备已启用

4.2 设备操作

Type:
  • Number

(constant) TRTCDeviceType :Number

Properties:
Name Type Description
TRTCDeviceTypeUnknow Number

未知类型

TRTCDeviceTypeMic Number

麦克风

TRTCDeviceTypeSpeaker Number

扬声器

TRTCDeviceTypeCamera Number

摄像头

4.3 设备类型

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格式内存块

4.4 水印图片的源类型

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) 三种分辨率中的一种。

5.10 混流参数配置模式

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

Type:
  • Number