MixOption

类型: interface

混音配置

名称 描述
playCount 混音播放次数
type 混音播放类型,详见 AudioMixingType。

playCount

类型: number

混音播放次数

type

类型: AudioMixingType

混音播放类型,详见 AudioMixingType。

AudioMixingType

类型: enum

混音播放类型

属性 值 描述
PLAYOUT 0 仅本地播放
PUBLISH 1 仅发送到远端
PLAYOUT_AND_PUBLISH 2 在本地播放并发送到远端

PlayerEvent

类型: interface

播放器事件

名称 描述
type 类型
eventName 事件名称
rawEvent 播放事件。详见官方文档
userId 进房用户的 userId
publicStreamId
readyState 媒体就绪状态,详见官方文档
currentTime 当前时间
isScreen 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

type

类型: "video" | "audio"

类型

eventName

类型: string

事件名称

rawEvent

类型: Event

播放事件。详见官方文档

userId

类型: string

进房用户的 userId

publicStreamId

类型: string

readyState

类型: number

媒体就绪状态,详见官方文档

currentTime

类型: number

当前时间

isScreen

类型: boolean

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

onUserJoinedEvent

类型: interface

远端用户进房事件

名称 描述
userInfo 进房用户的 userId

userInfo

类型: UserInfo

进房用户的 userId

UserInfo

类型: interface

用户信息

名称 描述
userId 用户 ID,长度在 128 字节以内的非空字符串。
extraInfo 用户传递的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。

userId

类型: string

用户 ID,长度在 128 字节以内的非空字符串。

extraInfo

类型: string

用户传递的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。

支持以下字符集范围

onUserLeaveEvent

类型: interface

远端用户退房事件

名称 描述
userInfo 用户信息
reason 远端用户离开房间的原因

userInfo

类型: UserInfo

用户信息

reason

类型: UserOfflineReason

远端用户离开房间的原因

UserOfflineReason

类型: enum

远端用户离开房间的原因

属性 值 描述
QUIT 0 远端用户调用 leaveRoom 主动退出房间。
DROPPED 1 远端用户因 Token 过期或网络原因等掉线。
SWITCH_TO_INVISIBLE 2 远端用户调用 setUserVisibility 切换至不可见状态。
KICKED_BY_ADMIN 3 服务端调用 OpenAPI 将远端用户踢出房间。

ConnectionStateChangeEvent

类型: interface

连接状态改变

名称 描述
state 内部连接状态

state

类型: ConnectionState

内部连接状态

ConnectionState

类型: enum

SDK 与信令服务器连接状态。

属性 值 描述
CONNECTION_START 0 进行连接前准备,锁定相关资源。
CONNECTION_STATE_DISCONNECTED 1 连接断开。
CONNECTION_STATE_CONNECTING 2 首次连接,正在连接中。
CONNECTION_STATE_CONNECTED 3 首次连接成功。
CONNECTION_STATE_RECONNECTING 4 连接断开后重新连接中。
CONNECTION_STATE_RECONNECTED 5 连接断开后重连成功。

RTCStream

类型: interface

流属性。

名称 描述
userId 用户 ID
isScreen 是否是屏幕流
hasVideo 是否包含视频流
hasAudio 是否包含音频流
videoStreamDescriptions 视频流的属性

当远端用户调用 setVideoEncoderConfig 方法发布多个配置的视频流时,此处会包含该用户发布的所有视频流的属性信息。

userId

类型: string

用户 ID

isScreen

类型: boolean

是否是屏幕流

hasVideo

类型: boolean

是否包含视频流

hasAudio

类型: boolean

是否包含音频流

videoStreamDescriptions

类型: VideoStreamDescription[]

视频流的属性

当远端用户调用 setVideoEncoderConfig 方法发布多个配置的视频流时,此处会包含该用户发布的所有视频流的属性信息。

VideoStreamDescription

类型: interface

视频流的属性

名称 描述
width 宽
height 高
frameRate 视频帧率
maxKbps 最大码率

width

类型: number

宽

height

类型: number

高

frameRate

类型: number

视频帧率

maxKbps

类型: number

最大码率

UserMuteEvent

类型: interface

用户闭麦事件

名称 描述
userInfo 用户信息,详见 UserInfo
muteState 用户闭麦事件

userInfo

类型: UserInfo

用户信息,详见 UserInfo

muteState

类型: MuteState

用户闭麦事件

MuteState

类型: enum

音视频流的发送/播放状态

属性 值 描述
MUTE_STATE_OFF 0 停止发送
MUTE_STATE_ON 1 发送

StreamRemoveReason

类型: enum

房间内远端流移除原因。

属性 值 描述
STREAM_REMOVE_REASON_UNPUBLISH 0 远端用户停止发布流。
STREAM_REMOVE_REASON_PUBLISH_FAILED 1 远端用户发布流失败。
STREAM_REMOVE_REASON_KEEP_LIVE_FAILED 2 保活失败。
STREAM_REMOVE_REASON_CLIENT_DISCONNECTED 3 远端用户断网。
STREAM_REMOVE_REASON_REPUBLISH 4 远端用户重新发布流。
STREAM_REMOVE_REASON_OTHER 5 其他原因。

onVideoFirstFrameRenderedEvent

类型: interface

第一帧远端视频显示在视图上

名称 描述
userId 发布视频用户的 userId
height 高度
width 宽度

userId

类型: string

发布视频用户的 userId

height

类型: number

高度

width

类型: number

宽度

onVideoFirstFrameDecodedEvent

类型: interface

第一帧远端视频解码事件

名称 描述
userId 发布视频用户的 userId
height 高度
width 宽度

userId

类型: string

发布视频用户的 userId

height

类型: number

高度

width

类型: number

宽度

onAudioFirstFrameDecodedEvent

类型: interface

第一帧远端音频解码事件

名称 描述
userId 发布视频用户的 userId

userId

类型: string

发布视频用户的 userId

RTCDevice

类型: interface

媒体设备信息

名称 描述
deviceId 设备 ID
详见浏览器文档。
deviceType 设备类型
详见浏览器文档。
deviceInfo 设备信息
详见浏览器文档。
deviceName 设备名称
详见浏览器文档。
deviceState 设备状态

deviceId

类型: string

设备 ID
详见浏览器文档。

deviceType

类型: MediaDeviceKind

设备类型
详见浏览器文档。

deviceInfo

类型: MediaDeviceInfo

设备信息
详见浏览器文档。

deviceName

类型: string

设备名称
详见浏览器文档。

deviceState

类型: "active" | "inactive"

设备状态

UserMessageEvent

类型: interface

点对点文本消息

名称 描述
userId 发送消息的用户
message 点对点文本消息

userId

类型: string

发送消息的用户

message

类型: string | Object

点对点文本消息

UserBinaryMessageEvent

类型: interface

点对点二进制消息

名称 描述
userId 发送消息的用户
message 点对点二进制消息

userId

类型: string

发送消息的用户

message

类型: ArrayBuffer

点对点二进制消息

RemoteStreamStats

类型: interface

远端媒体频流统计信息,统计周期为 2s 。
本地用户订阅媒体流成功后,SDK 会周期性地通知远端的媒体流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。

名称 描述
userId 进房用户的 userId
audioStats 远端音频流信息
videoStats 远端视频流信息
isScreen 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

userId

类型: string

进房用户的 userId

audioStats

类型: RemoteAudioStats

远端音频流信息

videoStats

类型: RemoteVideoStats

远端视频流信息

isScreen

类型: boolean

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

RemoteAudioStats

类型: interface

远端音频流统计信息,统计周期为 2s 。
本地用户订阅音频流成功后,SDK 会周期性地通知远端的音频流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。

名称 描述
audioLossRate 音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
receivedKBitrate 接收码率。统计周期内的音频接收码率,单位为 kbps 。
stallCount 统计周期内的卡顿次数
stallDuration 统计周期内的卡顿时长,单位为 ms 。
e2eDelay 用户体验级别的端到端延时,单位:ms。媒体信息从发送端采集完成并开始编码到接收端解码完成并渲染开始的耗时
playoutSampleRate 统计周期内的音频播放采样率信息,单位为 Hz 。
statsInterval 统计间隔。此次统计周期的间隔,单位为 ms 。
rtt 往返时延,单位:ms
jitterBufferDelay 抖动延迟,单位:ms
numChannels 声道数
receivedSampleRate 接收侧采样率
frozenRate 视频冻结率
concealedSamples 音频丢包补偿(PLC) 样点总个数
concealmentEvent 音频丢包补偿(PLC) 累计次数
decSampleRate 音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。
decDuration 解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。

audioLossRate

类型: number

音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。

receivedKBitrate

类型: number

接收码率。统计周期内的音频接收码率,单位为 kbps 。

stallCount

类型: number

统计周期内的卡顿次数

stallDuration

类型: number

统计周期内的卡顿时长,单位为 ms 。

e2eDelay

类型: number

用户体验级别的端到端延时,单位:ms。媒体信息从发送端采集完成并开始编码到接收端解码完成并渲染开始的耗时

playoutSampleRate

类型: number

统计周期内的音频播放采样率信息,单位为 Hz 。

statsInterval

类型: number

统计间隔。此次统计周期的间隔,单位为 ms 。

rtt

类型: number

往返时延,单位:ms

jitterBufferDelay

类型: number

抖动延迟,单位:ms

numChannels

类型: number

声道数

receivedSampleRate

类型: number

接收侧采样率

frozenRate

类型: number

视频冻结率

concealedSamples

类型: number

音频丢包补偿(PLC) 样点总个数

concealmentEvent

类型: number

音频丢包补偿(PLC) 累计次数

decSampleRate

类型: number

音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。

decDuration

类型: number

解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。

RemoteVideoStats

类型: interface

远端视频流统计信息,统计周期为 2s 。
本地用户订阅视频流成功后,SDK 会周期性地通知远端的视频流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。

名称 描述
width 宽度,单位:px
height 高度,单位:px
videoLossRate 视频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
receivedKBitrate 接收码率。统计周期内的音频接收码率,单位为 kbps 。
decoderOutputFrameRate 解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。
rendererOutputFrameRate 渲染帧率。统计周期内的视频渲染帧率,单位 fps 。
stallCount 统计周期内的卡顿次数
stallDuration 统计周期内的卡顿时长,单位为 ms 。
e2eDelay 用户体验级别的端到端延时,单位:ms。媒体信息从发送端采集完成并开始编码到接收端解码完成并渲染开始的耗时
isScreen 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
statsInterval 统计间隔。此次统计周期的间隔,单位为 ms 。
rtt 客户端到服务端数据传输的往返时延,单位:ms
frozenRate 远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。
videoIndex 视频分辨率序号。通过此参数指定希望订阅的流。在此之前,远端用户已经通过调用 setVideoEncoderConfig 方法,启动发布多路不同分辨率的视频流。编号 0 至 3代表流质量从高至低。

width

类型: number

宽度,单位:px

height

类型: number

高度,单位:px

videoLossRate

类型: number

视频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。

receivedKBitrate

类型: number

接收码率。统计周期内的音频接收码率,单位为 kbps 。

decoderOutputFrameRate

类型: number

解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。

rendererOutputFrameRate

类型: number

渲染帧率。统计周期内的视频渲染帧率,单位 fps 。

stallCount

类型: number

统计周期内的卡顿次数

stallDuration

类型: number

统计周期内的卡顿时长,单位为 ms 。

e2eDelay

类型: number

用户体验级别的端到端延时,单位:ms。媒体信息从发送端采集完成并开始编码到接收端解码完成并渲染开始的耗时

isScreen

类型: boolean

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

statsInterval

类型: number

统计间隔。此次统计周期的间隔,单位为 ms 。

rtt

类型: number

客户端到服务端数据传输的往返时延,单位:ms

frozenRate

类型: number

远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。

videoIndex

类型: number

视频分辨率序号。通过此参数指定希望订阅的流。在此之前,远端用户已经通过调用 setVideoEncoderConfig 方法,启动发布多路不同分辨率的视频流。编号 0 至 3代表流质量从高至低。

LocalStreamStats

类型: interface

本地媒体频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布媒体频流成功后,SDK 会周期性地通知本地用户发布的媒体流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。

名称 描述
audioStats 本地发送音频流的统计信息,详见 LocalAudioStats。
videoStats 本地发送视频流的统计信息,详见 LocalVideoStats。
isScreen 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

audioStats

类型: LocalAudioStats

本地发送音频流的统计信息,详见 LocalAudioStats。

videoStats

类型: LocalVideoStats

本地发送视频流的统计信息,详见 LocalVideoStats。

isScreen

类型: boolean

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

LocalAudioStats

类型: interface

本地音频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布音频流成功后,SDK 会周期性地通知本地用户发布的音频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。

名称 描述
audioLossRate 音频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
sendKBitrate 发送码率。统计周期内的音频接收码率,单位为 kbps 。
recordSampleRate 采集采样率。统计周期内的音频采集采样率信息,单位为 Hz 。
statsInterval 统计间隔。此次统计周期的间隔,单位为 ms 。
rtt 客户端到服务端数据传输的往返时延,单位:ms
numChannels 声道数
sentSampleRate 音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。

audioLossRate

类型: number

音频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。

sendKBitrate

类型: number

发送码率。统计周期内的音频接收码率,单位为 kbps 。

recordSampleRate

类型: number

采集采样率。统计周期内的音频采集采样率信息,单位为 Hz 。

statsInterval

类型: number

统计间隔。此次统计周期的间隔,单位为 ms 。

rtt

类型: number

客户端到服务端数据传输的往返时延,单位:ms

numChannels

类型: number

声道数

sentSampleRate

类型: number

音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。

LocalVideoStats

类型: interface

本地视频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布视频流成功后,SDK 会周期性地通知本地用户发布的视频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。

名称 描述
sentKBitrate 发送码率,单位:kbps。统计周期内的视频发送码率
inputFrameRate 采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。
sentFrameRate 发送帧率。统计周期内的视频发送帧率,单位为 fps 。
encoderOutputFrameRate 编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。
rendererOutputFrameRate 本地渲染帧率。统计周期内的本地视频渲染帧率,单位为 fps 。
targetKBitrate 目标发送码率。此次统计周期内的视频目标发送码率,单位为 kbps 。
targetFrameRate 目标发送帧率。此次统计周期内的目标发送帧率,单位为 fps 。
statsInterval 统计间隔。此次统计周期的间隔,单位为 ms 。
videoLossRate 视频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
rtt 客户端到服务端数据传输的往返时延,单位:ms
encodedBitrate 视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。
encodedFrameWidth 视频编码宽度,单位为 px 。
encodedFrameHeight 视频编码高度,单位为 px 。
encodedFrameCount 统计周期内发送的视频帧总数
codecType 视频的编码类型,具体参考 VideoCodecType
isScreen 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

sentKBitrate

类型: number

发送码率,单位:kbps。统计周期内的视频发送码率

inputFrameRate

类型: number

采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。

sentFrameRate

类型: number

发送帧率。统计周期内的视频发送帧率,单位为 fps 。

encoderOutputFrameRate

类型: number

编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。

rendererOutputFrameRate

类型: number

本地渲染帧率。统计周期内的本地视频渲染帧率,单位为 fps 。

targetKBitrate

类型: number

目标发送码率。此次统计周期内的视频目标发送码率,单位为 kbps 。

targetFrameRate

类型: number

目标发送帧率。此次统计周期内的目标发送帧率,单位为 fps 。

statsInterval

类型: number

统计间隔。此次统计周期的间隔,单位为 ms 。

videoLossRate

类型: number

视频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。

rtt

类型: number

客户端到服务端数据传输的往返时延,单位:ms

encodedBitrate

类型: number

视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。

encodedFrameWidth

类型: number

视频编码宽度,单位为 px 。

encodedFrameHeight

类型: number

视频编码高度,单位为 px 。

encodedFrameCount

类型: number

统计周期内发送的视频帧总数

codecType

类型: string

视频的编码类型,具体参考 VideoCodecType

isScreen

类型: boolean

所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。

PublicStreamStats

用户订阅的公共流统计信息以及网络状况,统计周期为 2s。

```ts Omit< RemoteStreamStats, 'userId' | 'isScreen'

& { publicStreamId: string; } ```

名称 类型 描述
publicStreamId string 公共流 ID。
RemoteStreamStats RemoteStreamStats 远端媒体频流统计信息

AudioVolumeInfo

类型: interface

声音音量信息。包含每个说话者的用户 id 和音量信息

名称 描述
userId 说话者的用户 id
volume 说话者的音量,范围为 0(最低)- 255(最高)

userId

类型: string

说话者的用户 id

volume

类型: number

说话者的音量,范围为 0(最低)- 255(最高)

onSEIMessageEvent

类型: interface

收到带有 SEI 消息的视频帧时,收到此回调

名称 描述
remoteStreamKey 包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey
sei 收到的 SEI 消息内容

remoteStreamKey

类型: RemoteStreamKey

包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey

sei

类型: Uint8Array

收到的 SEI 消息内容

RemoteStreamKey

类型: interface

远端流信息

名称 描述
roomId 房间 ID
userId 用户 ID
streamIndex 流属性,包括主流、屏幕流。参看 StreamIndex

roomId

类型: string

房间 ID

userId

类型: string

用户 ID

streamIndex

类型: StreamIndex

流属性,包括主流、屏幕流。参看 StreamIndex

StreamIndex

类型: enum

流属性

属性 值 描述
STREAM_INDEX_MAIN 0 主流。包括:通过默认摄像头/麦克风采集到的视频/音频;
STREAM_INDEX_SCREEN 1 屏幕流。共享的视频流,或来自声卡的本地播放音频流。

SubscribeState

类型: enum

音视频流订阅结果

属性 值 描述
SUBSCRIBE_SUCC 0 更新订阅状态成功
SUBSCRIBE_FAIL 1 更新订阅状态失败

PublishState

类型: enum

音视频流发布结果

属性 值 描述
PUBLISH_SUCC 0 发布成功
PUBLISH_FAIL 1 发布失败

LiveTranscodingResultEvent

类型: interface

转推直播事件

名称 描述
code 转推直播事件编号
message 转推直播事件详情

code

类型: number

转推直播事件编号

message

类型: string

转推直播事件详情

AudioMixingStateChangedEvent

类型: interface

音频混音文件播放状态改变事件

名称 描述
mixId 混音 ID
state 混音状态
error 混音错误

mixId

类型: number

混音 ID

state

类型: any

混音状态

error

类型: any

混音错误

CloudProxyConnectedEvent

类型: interface

名称 描述
interval

interval

类型: number

PublicStreamResultEvent

类型: interface

公共流发布结果

名称 描述
code 公共流发布事件编号
message 公共流发布事件详情

code

类型: number

公共流发布事件编号

message

类型: string

公共流发布事件详情

PublicStreamVideoFirstFrameDecodedEvent

公共流首帧视频解码事件。

```ts Omit< onVideoFirstFrameDecodedEvent, 'userId'

& { publicStreamId: string; } ```

名称 类型 描述
publicStreamId string 公共流 ID。
onVideoFirstFrameDecodedEvent onVideoFirstFrameDecodedEvent 视频首帧解码事件。

PublicStreamAudioFirstFrameDecodedEvent

类型: interface

公共流首帧解码/渲染事件。

名称 描述
publicStreamId 公共流 ID。

publicStreamId

类型: string

公共流 ID。

RoomConfig

类型: interface

房间参数配置

名称 描述
isAutoPublish 是否自动发布音频流,默认为自动发布。
isAutoSubscribeAudio 是否自动订阅音频流,默认为自动订阅。

进房后,你可以调用 subscribeUserStream 修改订阅设置。
isAutoSubscribeVideo 是否自动订阅视频流,默认为自动订阅。

进房后,你可以调用 subscribeUserStream 修改订阅设置。

isAutoPublish

类型: boolean

是否自动发布音频流,默认为自动发布。

isAutoSubscribeAudio

类型: boolean

是否自动订阅音频流,默认为自动订阅。

进房后,你可以调用 subscribeUserStream 修改订阅设置。

isAutoSubscribeVideo

类型: boolean

是否自动订阅视频流,默认为自动订阅。

进房后,你可以调用 subscribeUserStream 修改订阅设置。

SubscribeMediaType

类型: enum

订阅的媒体类型

属性 值 描述
AUDIO_ONLY 0 只控制音频,不影响视频
VIDEO_ONLY 1 只控制视频,不影响音频
AUDIO_AND_VIDEO 2 视频和音频
NONE 3 既不订阅音频,也不订阅视频

SubscribeVideoConfig

类型: interface

视频订阅配置信息

名称 描述
videoIndex 订阅的视频流分辨率下标。

当远端用户通过调用 setVideoEncoderConfig 方法启动发布多路不同分辨率的视频流时,本地用户需通过此参数指定希望订阅的流。

默认值为 0,即订阅第一路流。

如果不想更改之前的设置,可以输入 -1。

videoIndex

类型: number

订阅的视频流分辨率下标。

当远端用户通过调用 setVideoEncoderConfig 方法启动发布多路不同分辨率的视频流时,本地用户需通过此参数指定希望订阅的流。

默认值为 0,即订阅第一路流。

如果不想更改之前的设置,可以输入 -1。

ScreenConfig

类型: interface

屏幕共享流设置

名称 描述
enableAudio 当用户为 Windows 端并使用 Chrome 浏览器时,设置为 true 可以捕获系统声音

enableAudio

类型: boolean

当用户为 Windows 端并使用 Chrome 浏览器时,设置为 true 可以捕获系统声音

VideoPlayerOption

类型: interface

播放器信息和渲染模式

名称 描述
renderDom DOM
renderMode 渲染模式:可选 RENDER_MODE_HIDDEN, RENDER_MODE_FIT 和 RENDER_MODE_ADAPTIVE。
userId 用户 ID,支持以下字符集范围

+ 26 个大写字母 A ~ Z
+ 26 个小写字母 a ~ z
+ 10 个数字 0 ~ 9
+ 下划线 "_",at 符 "@",减 号 "-"

renderDom

类型: string | HTMLElement

DOM

renderMode

类型: VideoRenderMode

渲染模式:可选 RENDER_MODE_HIDDEN, RENDER_MODE_FIT 和 RENDER_MODE_ADAPTIVE。

userId

类型: string

用户 ID,支持以下字符集范围

+ 26 个大写字母 A ~ Z
+ 26 个小写字母 a ~ z
+ 10 个数字 0 ~ 9
+ 下划线 "_",at 符 "@",减 号 "-"

VideoRenderMode

类型: enum

渲染模式

属性 值 描述
RENDER_MODE_HIDDEN 0 视窗填满优先。

视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。
RENDER_MODE_FIT 1 视频帧内容全部显示优先。

视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。

MirrorType

类型: enum

镜像类型

属性 值 描述
MIRROR_TYPE_NONE 0 本地渲染和编码传输时均无镜像效果
MIRROR_TYPE_RENDER 1 本地渲染时有镜像效果,编码传输时无镜像效果

PauseResumeControlMediaType

类型: enum

媒体流类型

属性 值 描述
RTC_PAUSE_RESUME_CONTROL_AUDIO 0 音频
RTC_PAUSE_RESUME_CONTROL_VIDEO 1 视频
RTC_PAUSE_RESUME_CONTROL_AUDIO_AND_VIDEO 2 音频和视频

VideoEncoderConfig

类型: interface

视频编码配置

名称 描述
maxKbps 最大码率,单位 kbps

maxKbps

类型: number

最大码率,单位 kbps

LiveTranscodeConfig

类型: interface

转码推流配置参数

名称 描述
url 推流 CDN 地址
audio 音频参数
video 视频参数
layout 用户布局信息,详见 LiveTranscodeLayoutConfig

url

类型: string

推流 CDN 地址

audio

类型: Partial<LiveTranscodeAudioConfig>

音频参数

video

类型: Partial<LiveTranscodeVideoConfig>

视频参数

layout

类型: Partial<LiveTranscodeLayoutConfig>

用户布局信息,详见 LiveTranscodeLayoutConfig

LiveTranscodeAudioConfig

类型: interface

音频转码配置参数

名称 描述
codec 音频编码格式,选填,默认为 AAC
kBitRate 音频码率。单位为 kbps。可选取值:32, 64,128,192。默认值为 64 Kbps
sampleRate 音频采样率。单位为 kHz。可选取值:32, 44.1, 48。默认值为 48 Khz。
channels 音频声道数,可取 1 或 2。默认值为双声道。
AACProfile AAC 编码类型。可选 LC, HEv1, 和 HEv2。默认值为 LC。

codec

类型: string

音频编码格式,选填,默认为 AAC

kBitRate

类型: number

音频码率。单位为 kbps。可选取值:32, 64,128,192。默认值为 64 Kbps

sampleRate

类型: number

音频采样率。单位为 kHz。可选取值:32, 44.1, 48。默认值为 48 Khz。

channels

类型: number

音频声道数,可取 1 或 2。默认值为双声道。

AACProfile

类型: "LC" | "HEv1" | "HEv2"

AAC 编码类型。可选 LC, HEv1, 和 HEv2。默认值为 LC。

LiveTranscodeVideoConfig

类型: interface

视频转码配置参数。传入超出取值范围的值将导致转推任务发起或更新失败。

名称 描述
width 宽。范围为 [2, 4096],必须是偶数。单位 px。默认 640 px。
height 高。范围为 [2, 2160],必须是偶数。单位 px。默认 360 px
codec 编码格式。默认 H264。
fps 合流视频帧率。取值范围 >0。单位 fps。默认为 30 fps。
gop 视频 I 帧间隔。取值范围 >0。默认为 60。
lowLatency 是否使用低延时特性。默认开启。
kBitRate 合流视频码率。取值范围 [16, 50000000]。单位为 Kbps。默认为 600 Kbps。

width

类型: number

宽。范围为 [2, 4096],必须是偶数。单位 px。默认 640 px。

height

类型: number

高。范围为 [2, 2160],必须是偶数。单位 px。默认 360 px

codec

类型: string

编码格式。默认 H264。

fps

类型: number

合流视频帧率。取值范围 >0。单位 fps。默认为 30 fps。

gop

类型: number

视频 I 帧间隔。取值范围 >0。默认为 60。

lowLatency

类型: boolean

是否使用低延时特性。默认开启。

kBitRate

类型: number

合流视频码率。取值范围 [16, 50000000]。单位为 Kbps。默认为 600 Kbps。

LiveTranscodeLayoutConfig

类型: interface

视频流合流整体布局信息
开启转推直播功能后,你可以设置参与合流的每路视频流的预设布局信息和合流背景信息等。

名称 描述
regions 用户布局信息列表
appData 透传的 App 数据
backgroundColor 画布的背景颜色

regions

类型: LiveTranscodeLayoutRegion[]

用户布局信息列表

appData

类型: string

透传的 App 数据

backgroundColor

类型: string

画布的背景颜色

LiveTranscodeLayoutRegion

类型: interface

单个视频流在合流中的布局信息

名称 描述
alpha 透明度。可选范围为 [0.0, 1.0]。
userId 视频流发布用户的用户 ID
x 视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。
y 视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。
zorder 用户视频布局在画布中的层级。取值范围为[0 - 100]。0为底层,值越大越上层。
w 视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。
h 视频流对应区域高度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。
renderMode 视频显示模式,默认可设置为1。可选取值如下:
• 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
• 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。
• 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。
contentControl 合流内容控制。默认值为0,可选取值如下:
• 0: 输出的混流包含音视频
• 1: 只包含音频
• 2: 只包含视频
isScreenStream 是否是屏幕流
isLocalUser 是否本地用户

alpha

类型: number

透明度。可选范围为 [0.0, 1.0]。

userId

类型: string

视频流发布用户的用户 ID

x

类型: number

视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。

y

类型: number

视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。

zorder

类型: number

用户视频布局在画布中的层级。取值范围为[0 - 100]。0为底层,值越大越上层。

w

类型: number

视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。

h

类型: number

视频流对应区域高度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。

renderMode

类型: number

视频显示模式,默认可设置为1。可选取值如下:
• 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
• 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。
• 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。

contentControl

类型: number

合流内容控制。默认值为0,可选取值如下:
• 0: 输出的混流包含音视频
• 1: 只包含音频
• 2: 只包含视频

isScreenStream

类型: boolean

是否是屏幕流

isLocalUser

类型: boolean

是否本地用户

VideoSourceType

类型: enum

属性 值 描述
VIDEO_SOURCE_TYPE_EXTERNAL 0 自定义采集
VIDEO_SOURCE_TYPE_INTERNAL 1 内部采集,使用由 SDK 提供的视频采集模块(默认)

AudioSourceType

类型: enum

音频采集方式

属性 值 描述
AUDIO_SOURCE_TYPE_EXTERNAL 0 自定义采集模块
AUDIO_SOURCE_TYPE_INTERNAL 1 内部采集,使用由 SDK 提供的音频采集模块

USER_ONLINE_STATUS

类型: enum

登录状态

属性 值 描述
OFFLINE 0 离线。无法收发点对点消息。
ONLINE 1 在线
UNREACHABLE 2 未知。无法收发点对点消息。

PublicStreamConfig

类型: interface

公共流配置信息

名称 描述
video 视频参数
layout 公共流的布局模式

video

类型: { width?: number; height?: number; fps?: number; kBitRate: number; }

视频参数

layout

类型: { interpolationMode?: PublicInterpolationMode; backgroundColor?: string; backgroundImage?: string; regions?: PublicStreamLayoutRegion[]; }

公共流的布局模式

PublicInterpolationMode

类型: enum

补帧模式

属性 值 描述
PREV_FRAME 0 补最后一帧。
OTHER_FRAME 1 补背景图片或者黑帧。

PublicStreamLayoutRegion

多路媒体流中一路流的布局设置。

```ts Omit< LiveTranscodeLayoutRegion, 'isLocalUser' | 'contentControl'

& { roomId: string; mediaType?: PublicStreamType; sourceCrop?: { x: number; y: number; w: number; h: number; }; } ```

名称 类型 描述
roomId string 媒体流发布用户的房间 ID
mediaType PublicStreamType 公共流输出内容类型
sourceCrop { x: number; y: number; w: number; h: number; } 公共流视频裁剪配置
x number 裁剪后得到的视频帧左上角横坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。
y number 裁剪后得到的视频帧左上角纵坐标相对于裁剪前整体画面的归一化比例,取值范围[0.0, 1.0)。
w number 裁剪后得到的视频帧宽度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]。
h number 裁剪后得到的视频帧高度相对于裁剪前整体画面的归一化比例,取值范围(0.0, 1.0]。

PublicStreamType

类型: enum

公共流输出内容类型

属性 值 描述
AUDIO_AND_VIDEO 0 包含音视频
AUDIO_ONLY 1 仅包含音频
VIDEO_ONLY 2 仅包含视频