类型: interface
混音配置
| 名称 | 描述 |
|---|---|
| playCount | 混音播放次数 |
| type | 混音播放类型,详见 AudioMixingType。 |
类型: number
混音播放次数
注意
play_count <= 0: 无限循环
类型: AudioMixingType
混音播放类型,详见 AudioMixingType。
类型: enum
混音播放类型
| 属性 | 值 | 描述 |
|---|---|---|
| PLAYOUT | 0 |
仅本地播放 |
| PUBLISH | 1 |
仅发送到远端 |
| PLAYOUT_AND_PUBLISH | 2 |
在本地播放并发送到远端 |
类型: interface
播放器事件
| 名称 | 描述 |
|---|---|
| type | 类型 |
| eventName | 事件名称 |
| rawEvent | 播放事件。详见官方文档 |
| userId | 进房用户的 userId |
| publicStreamId | |
| readyState | 媒体就绪状态,详见官方文档 |
| currentTime | 当前时间 |
| isScreen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
类型: "video" | "audio"
类型
类型: string
事件名称
类型: Event
播放事件。详见官方文档
类型: string
进房用户的 userId
类型: string
类型: number
媒体就绪状态,详见官方文档
类型: number
当前时间
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: interface
远端用户进房事件
| 名称 | 描述 |
|---|---|
| userInfo | 进房用户的 userId |
类型: UserInfo
进房用户的 userId
类型: interface
用户信息
| 名称 | 描述 |
|---|---|
| userId | 用户 ID,长度在 128 字节以内的非空字符串。 |
| extraInfo | 用户传递的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。 |
类型: string
用户 ID,长度在 128 字节以内的非空字符串。
类型: string
用户传递的额外信息,最大长度为 200 字节。会在 onUserJoined 中回调给远端用户。
支持以下字符集范围
类型: interface
远端用户退房事件
| 名称 | 描述 |
|---|---|
| userInfo | 用户信息 |
| reason | 远端用户离开房间的原因 |
类型: UserInfo
用户信息
远端用户离开房间的原因
类型: enum
远端用户离开房间的原因
| 属性 | 值 | 描述 |
|---|---|---|
| QUIT | 0 |
远端用户调用 leaveRoom 主动退出房间。 |
| DROPPED | 1 |
远端用户因 Token 过期或网络原因等掉线。 |
| SWITCH_TO_INVISIBLE | 2 |
远端用户调用 setUserVisibility 切换至不可见状态。 |
| KICKED_BY_ADMIN | 3 |
服务端调用 OpenAPI 将远端用户踢出房间。 |
类型: interface
连接状态改变
| 名称 | 描述 |
|---|---|
| state | 内部连接状态 |
类型: 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 |
连接断开后重连成功。 |
类型: interface
流属性。
| 名称 | 描述 |
|---|---|
| userId | 用户 ID |
| isScreen | 是否是屏幕流 |
| hasVideo | 是否包含视频流 |
| hasAudio | 是否包含音频流 |
| videoStreamDescriptions | 视频流的属性 当远端用户调用 setVideoEncoderConfig 方法发布多个配置的视频流时,此处会包含该用户发布的所有视频流的属性信息。 |
类型: string
用户 ID
类型: boolean
是否是屏幕流
类型: boolean
是否包含视频流
类型: boolean
是否包含音频流
类型: VideoStreamDescription[]
视频流的属性
当远端用户调用 setVideoEncoderConfig 方法发布多个配置的视频流时,此处会包含该用户发布的所有视频流的属性信息。
类型: interface
视频流的属性
| 名称 | 描述 |
|---|---|
| width | 宽 |
| height | 高 |
| frameRate | 视频帧率 |
| maxKbps | 最大码率 |
类型: number
宽
类型: number
高
类型: number
视频帧率
类型: number
最大码率
类型: interface
用户闭麦事件
| 名称 | 描述 |
|---|---|
| userInfo | 用户信息,详见 UserInfo |
| muteState | 用户闭麦事件 |
类型: UserInfo
用户信息,详见 UserInfo
类型: MuteState
用户闭麦事件
类型: enum
音视频流的发送/播放状态
| 属性 | 值 | 描述 |
|---|---|---|
| MUTE_STATE_OFF | 0 |
停止发送 |
| MUTE_STATE_ON | 1 |
发送 |
类型: 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 |
其他原因。 |
类型: interface
第一帧远端视频显示在视图上
| 名称 | 描述 |
|---|---|
| userId | 发布视频用户的 userId |
| height | 高度 |
| width | 宽度 |
类型: string
发布视频用户的 userId
类型: number
高度
类型: number
宽度
类型: interface
第一帧远端视频解码事件
| 名称 | 描述 |
|---|---|
| userId | 发布视频用户的 userId |
| height | 高度 |
| width | 宽度 |
类型: string
发布视频用户的 userId
类型: number
高度
类型: number
宽度
类型: interface
第一帧远端音频解码事件
| 名称 | 描述 |
|---|---|
| userId | 发布视频用户的 userId |
类型: string
发布视频用户的 userId
类型: interface
媒体设备信息
| 名称 | 描述 |
|---|---|
| deviceId | 设备 ID 详见浏览器文档。 |
| deviceType | 设备类型 详见浏览器文档。 |
| deviceInfo | 设备信息 详见浏览器文档。 |
| deviceName | 设备名称 详见浏览器文档。 |
| deviceState | 设备状态 |
类型: string
设备 ID
详见浏览器文档。
类型: MediaDeviceKind
设备类型
详见浏览器文档。
类型: MediaDeviceInfo
设备信息
详见浏览器文档。
类型: string
设备名称
详见浏览器文档。
类型: "active" | "inactive"
设备状态
类型: interface
点对点文本消息
| 名称 | 描述 |
|---|---|
| userId | 发送消息的用户 |
| message | 点对点文本消息 |
类型: string
发送消息的用户
类型: string | Object
点对点文本消息
类型: interface
点对点二进制消息
| 名称 | 描述 |
|---|---|
| userId | 发送消息的用户 |
| message | 点对点二进制消息 |
类型: string
发送消息的用户
类型: ArrayBuffer
点对点二进制消息
类型: interface
远端媒体频流统计信息,统计周期为 2s 。
本地用户订阅媒体流成功后,SDK 会周期性地通知远端的媒体流在此次统计周期内的接收状况。此数据结构为回调给用户的参数类型。
| 名称 | 描述 |
|---|---|
| userId | 进房用户的 userId |
| audioStats | 远端音频流信息 |
| videoStats | 远端视频流信息 |
| isScreen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
类型: string
进房用户的 userId
类型: RemoteAudioStats
远端音频流信息
类型: RemoteVideoStats
远端视频流信息
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: 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 。 |
类型: number
音频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
类型: number
接收码率。统计周期内的音频接收码率,单位为 kbps 。
类型: number
统计周期内的卡顿次数
类型: number
统计周期内的卡顿时长,单位为 ms 。
类型: number
用户体验级别的端到端延时,单位:ms。媒体信息从发送端采集完成并开始编码到接收端解码完成并渲染开始的耗时
类型: number
统计周期内的音频播放采样率信息,单位为 Hz 。
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
类型: number
往返时延,单位:ms
类型: number
抖动延迟,单位:ms
类型: number
声道数
类型: number
接收侧采样率
类型: number
视频冻结率
类型: number
音频丢包补偿(PLC) 样点总个数
类型: number
音频丢包补偿(PLC) 累计次数
类型: number
音频解码采样率。统计周期内的音频解码采样率信息,单位为 Hz 。
类型: number
解码时长。对此次统计周期内接收的远端音频流进行解码的总耗时,单位为 s 。
类型: 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代表流质量从高至低。 |
类型: number
宽度,单位:px
类型: number
高度,单位:px
类型: number
视频丢包率。统计周期内的音频下行丢包率,取值范围为 [0, 1] 。
类型: number
接收码率。统计周期内的音频接收码率,单位为 kbps 。
类型: number
解码器输出帧率。统计周期内的视频解码器输出帧率,单位 fps 。
类型: number
渲染帧率。统计周期内的视频渲染帧率,单位 fps 。
类型: number
统计周期内的卡顿次数
类型: number
统计周期内的卡顿时长,单位为 ms 。
类型: number
用户体验级别的端到端延时,单位:ms。媒体信息从发送端采集完成并开始编码到接收端解码完成并渲染开始的耗时
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
类型: number
客户端到服务端数据传输的往返时延,单位:ms
类型: number
远端用户在加入房间后发生音频卡顿的累计时长占音频总有效时长的百分比。音频有效时长是指远端用户进房发布音频流后,除停止发送音频流和禁用音频模块之外的音频时长。
类型: number
视频分辨率序号。通过此参数指定希望订阅的流。在此之前,远端用户已经通过调用 setVideoEncoderConfig 方法,启动发布多路不同分辨率的视频流。编号 0 至 3代表流质量从高至低。
类型: interface
本地媒体频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布媒体频流成功后,SDK 会周期性地通知本地用户发布的媒体流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。
| 名称 | 描述 |
|---|---|
| audioStats | 本地发送音频流的统计信息,详见 LocalAudioStats。 |
| videoStats | 本地发送视频流的统计信息,详见 LocalVideoStats。 |
| isScreen | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
类型: LocalAudioStats
本地发送音频流的统计信息,详见 LocalAudioStats。
类型: LocalVideoStats
本地发送视频流的统计信息,详见 LocalVideoStats。
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
类型: interface
本地音频流统计信息以及网络状况,统计周期为 2s 。
本地用户发布音频流成功后,SDK 会周期性地通知本地用户发布的音频流在此次统计周期内的发送状况。此数据结构为回调给用户的参数类型。
| 名称 | 描述 |
|---|---|
| audioLossRate | 音频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。 |
| sendKBitrate | 发送码率。统计周期内的音频接收码率,单位为 kbps 。 |
| recordSampleRate | 采集采样率。统计周期内的音频采集采样率信息,单位为 Hz 。 |
| statsInterval | 统计间隔。此次统计周期的间隔,单位为 ms 。 |
| rtt | 客户端到服务端数据传输的往返时延,单位:ms |
| numChannels | 声道数 |
| sentSampleRate | 音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。 |
类型: number
音频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
类型: number
发送码率。统计周期内的音频接收码率,单位为 kbps 。
类型: number
采集采样率。统计周期内的音频采集采样率信息,单位为 Hz 。
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
类型: number
客户端到服务端数据传输的往返时延,单位:ms
类型: number
声道数
类型: number
音频发送采样率。此次统计周期内的音频发送采样率信息,单位为 Hz 。
类型: 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 | 所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。 |
类型: number
发送码率,单位:kbps。统计周期内的视频发送码率
类型: number
采集帧率。此次统计周期内的视频采集帧率,单位为 fps 。
类型: number
发送帧率。统计周期内的视频发送帧率,单位为 fps 。
类型: number
编码器输出帧率。当前编码器在此次统计周期内的输出帧率,单位为 fps 。
类型: number
本地渲染帧率。统计周期内的本地视频渲染帧率,单位为 fps 。
类型: number
目标发送码率。此次统计周期内的视频目标发送码率,单位为 kbps 。
类型: number
目标发送帧率。此次统计周期内的目标发送帧率,单位为 fps 。
类型: number
统计间隔。此次统计周期的间隔,单位为 ms 。
类型: number
视频丢包率。统计周期内的音频上行丢包率,取值范围为 [0, 1] 。
类型: number
客户端到服务端数据传输的往返时延,单位:ms
类型: number
视频编码码率。此次统计周期内的视频编码码率,单位为 kbps 。
类型: number
视频编码宽度,单位为 px 。
类型: number
视频编码高度,单位为 px 。
类型: number
统计周期内发送的视频帧总数
类型: string
视频的编码类型,具体参考 VideoCodecType
类型: boolean
所属用户的媒体流是否为屏幕流。你可以知道当前统计数据来自主流还是屏幕流。
用户订阅的公共流统计信息以及网络状况,统计周期为 2s。
```ts Omit< RemoteStreamStats, 'userId' | 'isScreen'
& { publicStreamId: string; } ```
| 名称 | 类型 | 描述 |
|---|---|---|
| publicStreamId | string |
公共流 ID。 |
| RemoteStreamStats | RemoteStreamStats |
远端媒体频流统计信息 |
类型: interface
声音音量信息。包含每个说话者的用户 id 和音量信息
| 名称 | 描述 |
|---|---|
| userId | 说话者的用户 id |
| volume | 说话者的音量,范围为 0(最低)- 255(最高) |
类型: string
说话者的用户 id
类型: number
说话者的音量,范围为 0(最低)- 255(最高)
类型: interface
收到带有 SEI 消息的视频帧时,收到此回调
| 名称 | 描述 |
|---|---|
| remoteStreamKey | 包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey |
| sei | 收到的 SEI 消息内容 |
类型: RemoteStreamKey
包含 SEI 发送者的用户名,所在的房间名和媒体流,详见 RemoteStreamKey
类型: Uint8Array
收到的 SEI 消息内容
类型: interface
远端流信息
| 名称 | 描述 |
|---|---|
| roomId | 房间 ID |
| userId | 用户 ID |
| streamIndex | 流属性,包括主流、屏幕流。参看 StreamIndex |
类型: string
房间 ID
类型: string
用户 ID
类型: StreamIndex
流属性,包括主流、屏幕流。参看 StreamIndex
类型: enum
流属性
| 属性 | 值 | 描述 |
|---|---|---|
| STREAM_INDEX_MAIN | 0 |
主流。包括:通过默认摄像头/麦克风采集到的视频/音频; |
| STREAM_INDEX_SCREEN | 1 |
屏幕流。共享的视频流,或来自声卡的本地播放音频流。 |
类型: enum
音视频流订阅结果
| 属性 | 值 | 描述 |
|---|---|---|
| SUBSCRIBE_SUCC | 0 |
更新订阅状态成功 |
| SUBSCRIBE_FAIL | 1 |
更新订阅状态失败 |
类型: enum
音视频流发布结果
| 属性 | 值 | 描述 |
|---|---|---|
| PUBLISH_SUCC | 0 |
发布成功 |
| PUBLISH_FAIL | 1 |
发布失败 |
类型: interface
转推直播事件
| 名称 | 描述 |
|---|---|
| code | 转推直播事件编号 |
| message | 转推直播事件详情 |
类型: number
转推直播事件编号
类型: string
转推直播事件详情
类型: interface
音频混音文件播放状态改变事件
| 名称 | 描述 |
|---|---|
| mixId | 混音 ID |
| state | 混音状态 |
| error | 混音错误 |
类型: number
混音 ID
类型: any
混音状态
类型: any
混音错误
类型: interface
| 名称 | 描述 |
|---|---|
| interval |
类型: number
类型: interface
公共流发布结果
| 名称 | 描述 |
|---|---|
| code | 公共流发布事件编号 |
| message | 公共流发布事件详情 |
类型: number
公共流发布事件编号
类型: string
公共流发布事件详情
公共流首帧视频解码事件。
```ts Omit< onVideoFirstFrameDecodedEvent, 'userId'
& { publicStreamId: string; } ```
| 名称 | 类型 | 描述 |
|---|---|---|
| publicStreamId | string |
公共流 ID。 |
| onVideoFirstFrameDecodedEvent | onVideoFirstFrameDecodedEvent |
视频首帧解码事件。 |
类型: interface
公共流首帧解码/渲染事件。
| 名称 | 描述 |
|---|---|
| publicStreamId | 公共流 ID。 |
类型: string
公共流 ID。
类型: interface
房间参数配置
| 名称 | 描述 |
|---|---|
| isAutoPublish | 是否自动发布音频流,默认为自动发布。 |
| isAutoSubscribeAudio | 是否自动订阅音频流,默认为自动订阅。 进房后,你可以调用 subscribeUserStream 修改订阅设置。 |
| isAutoSubscribeVideo | 是否自动订阅视频流,默认为自动订阅。 进房后,你可以调用 subscribeUserStream 修改订阅设置。 |
类型: boolean
是否自动发布音频流,默认为自动发布。
类型: boolean
是否自动订阅音频流,默认为自动订阅。
进房后,你可以调用 subscribeUserStream 修改订阅设置。
类型: boolean
是否自动订阅视频流,默认为自动订阅。
进房后,你可以调用 subscribeUserStream 修改订阅设置。
类型: enum
订阅的媒体类型
| 属性 | 值 | 描述 |
|---|---|---|
| AUDIO_ONLY | 0 |
只控制音频,不影响视频 |
| VIDEO_ONLY | 1 |
只控制视频,不影响音频 |
| AUDIO_AND_VIDEO | 2 |
视频和音频 |
| NONE | 3 |
既不订阅音频,也不订阅视频 |
类型: interface
视频订阅配置信息
| 名称 | 描述 |
|---|---|
| videoIndex | 订阅的视频流分辨率下标。 当远端用户通过调用 setVideoEncoderConfig 方法启动发布多路不同分辨率的视频流时,本地用户需通过此参数指定希望订阅的流。 默认值为 0,即订阅第一路流。 如果不想更改之前的设置,可以输入 -1。 |
类型: number
订阅的视频流分辨率下标。
当远端用户通过调用 setVideoEncoderConfig 方法启动发布多路不同分辨率的视频流时,本地用户需通过此参数指定希望订阅的流。
默认值为 0,即订阅第一路流。
如果不想更改之前的设置,可以输入 -1。
类型: interface
屏幕共享流设置
| 名称 | 描述 |
|---|---|
| enableAudio | 当用户为 Windows 端并使用 Chrome 浏览器时,设置为 true 可以捕获系统声音 |
类型: boolean
当用户为 Windows 端并使用 Chrome 浏览器时,设置为 true 可以捕获系统声音
类型: 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 符 "@",减 号 "-" |
类型: string | HTMLElement
DOM
类型: VideoRenderMode
渲染模式:可选 RENDER_MODE_HIDDEN, RENDER_MODE_FIT 和 RENDER_MODE_ADAPTIVE。
类型: string
用户 ID,支持以下字符集范围
+ 26 个大写字母 A ~ Z
+ 26 个小写字母 a ~ z
+ 10 个数字 0 ~ 9
+ 下划线 "_",at 符 "@",减 号 "-"
类型: enum
渲染模式
| 属性 | 值 | 描述 |
|---|---|---|
| RENDER_MODE_HIDDEN | 0 |
视窗填满优先。 视频帧等比缩放,直至视窗被视频填满。如果视频帧长宽比例与视窗不同,视频帧的多出部分将无法显示。 |
| RENDER_MODE_FIT | 1 |
视频帧内容全部显示优先。 视频帧等比缩放,直至视频帧能够在视窗上全部显示。如果视频帧长宽比例与视窗不同,视窗上未被视频帧填满区域将被涂黑。 |
类型: enum
镜像类型
| 属性 | 值 | 描述 |
|---|---|---|
| MIRROR_TYPE_NONE | 0 |
本地渲染和编码传输时均无镜像效果 |
| MIRROR_TYPE_RENDER | 1 |
本地渲染时有镜像效果,编码传输时无镜像效果 |
类型: enum
媒体流类型
| 属性 | 值 | 描述 |
|---|---|---|
| RTC_PAUSE_RESUME_CONTROL_AUDIO | 0 |
音频 |
| RTC_PAUSE_RESUME_CONTROL_VIDEO | 1 |
视频 |
| RTC_PAUSE_RESUME_CONTROL_AUDIO_AND_VIDEO | 2 |
音频和视频 |
类型: interface
视频编码配置
| 名称 | 描述 |
|---|---|
| maxKbps | 最大码率,单位 kbps |
类型: number
最大码率,单位 kbps
类型: interface
转码推流配置参数
| 名称 | 描述 |
|---|---|
| url | 推流 CDN 地址 |
| audio | 音频参数 |
| video | 视频参数 |
| layout | 用户布局信息,详见 LiveTranscodeLayoutConfig |
类型: string
推流 CDN 地址
类型: Partial<LiveTranscodeAudioConfig>
音频参数
类型: Partial<LiveTranscodeVideoConfig>
视频参数
类型: Partial<LiveTranscodeLayoutConfig>
用户布局信息,详见 LiveTranscodeLayoutConfig
类型: 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。 |
类型: string
音频编码格式,选填,默认为 AAC
类型: number
音频码率。单位为 kbps。可选取值:32, 64,128,192。默认值为 64 Kbps
类型: number
音频采样率。单位为 kHz。可选取值:32, 44.1, 48。默认值为 48 Khz。
类型: number
音频声道数,可取 1 或 2。默认值为双声道。
类型: "LC" | "HEv1" | "HEv2"
AAC 编码类型。可选 LC, HEv1, 和 HEv2。默认值为 LC。
类型: 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。 |
类型: number
宽。范围为 [2, 4096],必须是偶数。单位 px。默认 640 px。
类型: number
高。范围为 [2, 2160],必须是偶数。单位 px。默认 360 px
类型: string
编码格式。默认 H264。
类型: number
合流视频帧率。取值范围 >0。单位 fps。默认为 30 fps。
类型: number
视频 I 帧间隔。取值范围 >0。默认为 60。
类型: boolean
是否使用低延时特性。默认开启。
类型: number
合流视频码率。取值范围 [16, 50000000]。单位为 Kbps。默认为 600 Kbps。
类型: interface
视频流合流整体布局信息
开启转推直播功能后,你可以设置参与合流的每路视频流的预设布局信息和合流背景信息等。
| 名称 | 描述 |
|---|---|
| regions | 用户布局信息列表 |
| appData | 透传的 App 数据 |
| backgroundColor | 画布的背景颜色 |
类型: LiveTranscodeLayoutRegion[]
用户布局信息列表
类型: string
透传的 App 数据
类型: string
画布的背景颜色
类型: 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 | 是否本地用户 |
类型: number
透明度。可选范围为 [0.0, 1.0]。
类型: string
视频流发布用户的用户 ID
类型: number
视频流对应区域左上角的横坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。
类型: number
视频流对应区域左上角的纵坐标相对整体画面的归一化比例,取值的范围为 [0.0, 1.0)。
类型: number
用户视频布局在画布中的层级。取值范围为[0 - 100]。0为底层,值越大越上层。
类型: number
视频流对应区域宽度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。
类型: number
视频流对应区域高度相对整体画面的归一化比例,取值的范围为 (0.0, 1.0]。
类型: number
视频显示模式,默认可设置为1。可选取值如下:
• 1: 视频尺寸等比缩放,优先保证窗口被填满。当视频尺寸与显示窗口尺寸不一致时,多出的视频将被截掉。
• 2: 视频尺寸等比缩放,优先保证视频内容全部显示。当视频尺寸与显示窗口尺寸不一致时,会把窗口未被填满的区域填充成黑色。
• 3: 视频尺寸非等比例缩放,把窗口充满。当视频尺寸与显示窗口尺寸不一致时,视频高或宽方向会被拉伸。
类型: number
合流内容控制。默认值为0,可选取值如下:
• 0: 输出的混流包含音视频
• 1: 只包含音频
• 2: 只包含视频
类型: boolean
是否是屏幕流
类型: boolean
是否本地用户
类型: enum
| 属性 | 值 | 描述 |
|---|---|---|
| VIDEO_SOURCE_TYPE_EXTERNAL | 0 |
自定义采集 |
| VIDEO_SOURCE_TYPE_INTERNAL | 1 |
内部采集,使用由 SDK 提供的视频采集模块(默认) |
类型: enum
音频采集方式
| 属性 | 值 | 描述 |
|---|---|---|
| AUDIO_SOURCE_TYPE_EXTERNAL | 0 |
自定义采集模块 |
| AUDIO_SOURCE_TYPE_INTERNAL | 1 |
内部采集,使用由 SDK 提供的音频采集模块 |
类型: enum
登录状态
| 属性 | 值 | 描述 |
|---|---|---|
| OFFLINE | 0 |
离线。无法收发点对点消息。 |
| ONLINE | 1 |
在线 |
| UNREACHABLE | 2 |
未知。无法收发点对点消息。 |
类型: interface
公共流配置信息
| 名称 | 描述 |
|---|---|
| video | 视频参数 |
| layout | 公共流的布局模式 |
类型: { width?: number; height?: number; fps?: number; kBitRate: number; }
视频参数
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| width | number |
宽度,单位:px。 仅支持设为偶数,如果设为奇数,将导致公共流发布失败。 |
| height | number |
高度,单位:px。 仅支持设为偶数,如果设为奇数,后处理会直接拒绝,导致公共流失败。 |
| fps | number |
帧率,单位:fps |
| kBitRate | number |
码率,单位:kbps |
类型: { interpolationMode?: PublicInterpolationMode; backgroundColor?: string; backgroundImage?: string; regions?: PublicStreamLayoutRegion[]; }
公共流的布局模式
成员
| 名称 | 类型 | 描述 |
|---|---|---|
| interpolationMode | PublicInterpolationMode |
补帧模式 |
| backgroundColor | string |
背景颜色,用 Hex 色值表示。 |
| backgroundImage | string |
背景图片的 URL。长度最大为 1024 byte。可以传入的图片的格式包括:JPG, JPEG, PNG。 |
| regions | PublicStreamLayoutRegion[] |
多路媒体流布局设置。 |
类型: enum
补帧模式
| 属性 | 值 | 描述 |
|---|---|---|
| PREV_FRAME | 0 |
补最后一帧。 |
| OTHER_FRAME | 1 |
补背景图片或者黑帧。 |
多路媒体流中一路流的布局设置。
```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]。 |
类型: enum
公共流输出内容类型
| 属性 | 值 | 描述 |
|---|---|---|
| AUDIO_AND_VIDEO | 0 |
包含音视频 |
| AUDIO_ONLY | 1 |
仅包含音频 |
| VIDEO_ONLY | 2 |
仅包含视频 |