Global

Type Definitions

TurnServer

Properties:
Name Type Attributes Default Description
url string

TURN 服务器 url

username string <optional>

TURN 服务器验证用户名

credential string <optional>

TURN 服务器验证密码

credentialType string <optional>
password

TURN 服务器验证密码类型

ProxyServer

Properties:
Name Type Attributes Default Description
websocketProxy string <optional>

websocket 信令服务代理

loggerProxy string <optional>

日志上报服务代理

turnServer Array.<TurnServer> <optional>

音视频数据传输代理

iceTransportPolicy 'all' | 'relay' <optional>
'all'

'all' 优先直连 TRTC,连不通时尝试走 turn server。
'relay' 强制走 turn server。

VideoProfile

Properties:
Name Type Description
width number

视频宽度

height number

视频高度

frameRate number

视频帧率

bitrate number

视频码率

本地视频流配置

视频配置参数,可以用字符串预设值或者自定义分辨率等参数

视频 Profile 分辨率(宽 x 高) 帧率(fps) 码率(kbps) 备注
120p 160 x 120 15 200
120p_2 160 x 120 15 100 v5.1.1+ 支持
180p 320 x 180 15 350
180p_2 320 x 180 15 150 v5.1.1+ 支持
240p 320 x 240 15 400
240p_2 320 x 240 15 200 v5.1.1+ 支持
360p 640 x 360 15 800
360p_2 640 x 360 15 400 v5.1.1+ 支持
480p 640 x 480 15 900
480p_2 640 x 480 15 500 v5.1.1+ 支持
720p 1280 x 720 15 1500
1080p 1920 x 1080 15 2000
1440p 2560 x 1440 30 4860
4K 3840 x 2160 30 9000
Type:
  • object | string
Examples
const config = {
 option: {
  profile: '480p_2',
 },
}
await trtc.startLocalVideo(config);
const config = {
 option: {
   profile: {
     width: 640,
     height: 480,
     frameRate: 15,
     bitrate: 500,
   }
 }
}
await trtc.startLocalVideo(config);

ScreenShareProfile

Properties:
Name Type Description
width number

屏幕分享宽度

height number

屏幕分享高度

frameRate number

屏幕分享帧率

bitrate number

屏幕分享码率

屏幕分享分辨率码率帧率配置 屏幕分享配置参数,可以用字符串预设值或者自定义分辨率等参数

屏幕 Profile 分辨率(宽 x 高) 帧率(fps) 码率 (kbps)
480p 640 x 480 5 900
480p_2 640 x 480 30 1000
720p 1280 x 720 5 1200
720p_2 1280 x 720 30 3000
1080p 1920 x 1080 5 1600
1080p_2 1920 x 1080 30 4000
  • 屏幕分享默认使用 1080p
  • 若以上 Profile 不能满足您的业务需求,您也可以指定自定义的分辨率、帧率和码率。
Type:
  • object | string
Example
const config = {
 option: {
  profile: '720p',
 },
}
await trtc.startScreenShare(config);

TRTCStatistics

Properties:
Name Type Description
rtt number

从 SDK 与 云端的往返延时(一个网络包经历 “SDK -> 云端 -> SDK” 的总耗时),单位 ms。

upLoss number

从 SDK 到云端的上行丢包率,单位 (%)

downLoss number

从云端到 SDK 的下行丢包率,单位 (%)

bytesSent number

总发送字节数(包含信令数据和音视频数据),单位:字节数(Bytes)。

bytesReceived number

总接收字节数(包含信令数据和音视频数据),单位:字节数(Bytes)。

localStatistics TRTCLocalStatistics

本地的音视频统计信息

remoteStatistics Array.<TRTCRemoteStatistics>

远端的音视频统计信息

TRTCLocalStatistics

Properties:
Name Type Description
audio TRTCAudioStatistic

本地音频统计信息

video Array.<TRTCVideoStatistic>

本地视频统计信息

本地的音视频统计信息

TRTCRemoteStatistics

Properties:
Name Type Description
userId string

远端用户的 userId

audio TRTCAudioStatistic

远端音频统计信息

video Array.<TRTCVideoStatistic>

远端视频统计信息

远端的音视频统计信息

TRTCAudioStatistic

Properties:
Name Type Description
bitrate number

音频码率,单位:Kbps

audioLevel number

音量大小,0 ~ 1 的浮点数。

音频统计信息

TRTCVideoStatistic

Properties:
Name Type Description
bitrate number

视频码率,单位:Kbps

width number

视频宽度

height number

视频高度

frameRate number

视频帧率

videoType 'big' | 'small' | 'sub'

视频类型,大流、小流、辅流。

视频统计信息

PluginName

插件名

Type:
  • 'AudioMixer' | 'AIDenoiser' | 'CDNStreaming' | 'Watermark'

AudioMixerOptions

Properties:
Name Type Attributes Description
id string

给每个传入的音乐 url 设置一个唯一的 ID

url string

背景音乐地址的 url,支持的格式为 MP3,AAC(以及浏览器支持的其他音频格式)

loop boolean <optional>

背景音乐是否重复播放

volume number <optional>

背景音乐的播放音量 (0-1)

新增背景音乐插件参数

Type:
  • Object

UpdateAudioMixerOptions

Properties:
Name Type Attributes Description
id string

给背景音乐设置的唯一 ID

loop boolean <optional>

背景音乐是否重复播放

volume number <optional>

背景音乐的播放音量 (0-1)

seekFrom number <optional>

从某一秒开始 seek

operation string <optional>

对背景音乐的操作: 'pause' | 'resume' | 'stop'

更新背景音乐插件参数

Type:
  • Object

StopAudioMixerOptions

Properties:
Name Type Description
id string

给背景音乐设置的唯一 ID

停止背景音乐插件参数

Type:
  • Object

AIDenoiserOptions

Properties:
Name Type Description
assetsPath string

降噪资源路径

sdkAppId number

应用的 SDKAppId

userId string

当前进房用户的 userId

userSig string

当前进房用户的 userSig

开启降噪参数

Type:
  • Object

CDNStreamingOptions

Properties:
Name Type Description
target Target

目标地址,支持转推/转码到腾讯或者第三方 CDN

encoding Encoding

编码输出参数,推混流模式时必填,您需要指定您预期的转码输出参数。

mix Mix

混流配置参数,您需要指定您预期的混流转码配置参数。转推模式下填写则无效。

CDNStreaming 插件参数,教程可见 云端混流与转推CDN

Type:
  • Object

Target

Properties:
Name Type Attributes Description
publishMode PublishMode

选择推流模式,可选值为 PublishMode.PublishMainStreamToCDN、PublishMode.PublishSubStreamToCDN、PublishMode.PublishMixStreamToCDN

streamId string <optional>

发布 CDN 后的流 ID,默认值为转推流名为 ${sdkappid}_${roomid}_${userid}_main。当 roomId 或者 userId 包含大小写英文字母(a-zA-Z)、数字(0-9)、连字符及下划线之外的特殊字符时,转推流名为 ${sdkAppId}_${md5(${roomId}_${userId}_main)}

appId number <optional>

应用 ID(当转推到第三方 CDN 时必填)

bizId number <optional>

默认推流域名的前 6 个数字(当转推到第三方 CDN 时必填)

url string <optional>

第三方 CDN 的推流地址(当转推到第三方 CDN 时必填)

Type:
  • Object

Encoding

Properties:
Name Type Attributes Description
videoWidth number <optional>

转码后视频分辨率的宽度(px),转码后视频的宽度设置必须大于等于 0 且能容纳所有混入视频,默认值为 640

videoHeight number <optional>

转码后视频分辨率的高度(px),转码后视频的高度设置必须大于等于 0 且能容纳所有混入视频,默认值为 480

videoBitrate number

转码后的视频码率(kbps),如果传入值为 0,码率值将由 videoWidth 和 videoHeight 决定

videoFramerate number <optional>

转码后的视频帧率(fps),默认值为 15,取值范围为 (0, 30]

videoGOP number <optional>

转码后的视频关键帧间隔(s),默认值为 2,取值范围为 [1, 8]

audioSampleRate number <optional>

转码后的音频采样率(Hz),默认值为 48000

audioBitrate number <optional>

转码后的音频码率(kbps),默认值为 64,取值范围为 [32, 192]

audioChannels number <optional>

转码后的音频声道数,默认值为 1,取值范围为 1 或 2

编码配置(推混流时必填)

Type:
  • Object

Mix

Properties:
Name Type Attributes Description
backgroundColor number <optional>

混合后画面的背景颜色,格式为十六进制数字,默认值为 0x000000(黑色)

backgroundImage string <optional>

混合后画面的背景图,默认值为 ''。背景图需要事先在实时音视频控制台的应用管理 > 功能配置 > 素材管理中上传,并获取对应的图片ID,然后将图片ID转换成字符串类型并设置到 backgroundImage 中

audioMixUserList Array.<AudioMixUser>

音频混流用户列表

videoLayoutList Array.<VideoLayout>

混流中的视频布局,必须包含自己

混流配置(推混流时必填)

Type:
  • Object

AudioMixUser

Properties:
Name Type Description
userId string

用户ID

roomId number

数字类型房间 ID,如果需要使用字符串类型的房间号请使用 strRoomId 参数,roomId 和 strRoomId 必须填一个。若两者都填,则优先选择 roomId。

strRoomId string

字符串类型的房间ID

Type:
  • Object

VideoLayout

Properties:
Name Type Attributes Description
fixedVideoUser FixedVideoUser

该布局对应的用户

fixedVideoStreamType string

用于指定混入流类型,TRTC.TYPE.STREAM_TYPE_MAIN 为摄像头流,TRTC.TYPE.STREAM_TYPE_SUB 为屏幕分享流

fillMode number

该用户流在混流中的渲染模式,默认为裁剪模式。0:裁剪模式,1:用户流缩放并显示背景,2:用户流缩放并显示黑底

zOrder number

该用户流在混流中的图层层次,取值范围为 [1, 15]

width number <optional>

该用户流在混流中的宽度(px),必须大于等于 0,默认值为 0

height number <optional>

该用户流在混流中的高度(px),必须大于等于 0,默认值为 0

locationX number <optional>

以混流左上角为起点,该用户流在混流中的 X 坐标(px),必须大于等于 0,默认值为 0

locationY number <optional>

以混流左上角为起点,该用户流在混流中的 Y 坐标(px),必须大于等于 0,默认值为 0

Type:
  • Object

FixedVideoUser

Properties:
Name Type Description
userId string

该用户ID

roomId number

该用户所在的数字房间ID,如果需要使用字符串类型的房间号请使用 strRoomId 参数,roomId 和 strRoomId 必须填一个。若两者都填,则优先选择 roomId。

strRoomId string

字符串类型的房间ID

Type:
  • Object

PublishMode

Properties:
Name Type Description
PublishMainStreamToCDN string

推送主画面到 CDN

PublishSubStreamToCDN string

推送辅流到 CDN

PublishMixStreamToCDN string

推送混流到 CDN

Type:
  • Enum

VirtualBackgroundOptions

Properties:
Name Type Attributes Description
sdkAppId number

当前应用 ID,可在 实时音视频控制台 获取

userId string

用户ID。建议限制长度为32字节,只允许包含大小写英文字母(a-zA-Z)、数字(0-9)及下划线和连词符。

userSig string

计算 userSig 的方式请参考 UserSig 相关

type string <optional>

虚拟背景类型。填入 'blur' 代表模糊背景;填入 'image' 代表图片背景,需要传入图片 url。默认为 blur。

src string <optional>

设置类型为图片背景时,需通过此参数传入图片 url。

VirtualBackground 插件启动参数,教程可见 开启虚拟背景

Type:
  • Object

UpdateVirtualBackgroundOptions

Properties:
Name Type Attributes Description
type string

虚拟背景类型。填入 'blur' 代表模糊背景;填入 'image' 代表图片背景,需要传入图片 url。

src string <optional>

设置类型为图片背景时,需通过此参数传入图片 url。

VirtualBackground 插件更新参数,教程可见 开启虚拟背景

Type:
  • Object

WatermarkOptions

Properties:
Name Type Attributes Description
imageUrl string

图片水印地址。这是一个必填参数。

x string <optional>

水印左边距。这是一个选填参数。

y string <optional>

水印上边距。这是一个选填参数。

size string | number | object <optional>

指定水印的大小。这是一个选填参数。默认值为 cover。 传入字符串时:

  • "cover" 缩放背景图片以完全覆盖背景区,可能导致背景图片的部分区域看不见。
  • "contain" 缩放背景图片以完全装入背景区,可能导致背景区的部分空白。 传入数字时:
  • x 表示将背景图片缩放 x 倍,如 0.5,有效取值范围为 (0,1]。 传入对象时:
  • 可以通过传入 {width: 200, height: 300} 来手动指定尺寸。

Watermark 插件启动参数,教程可见 开启水印

Type:
  • Object