# Global

##

### Members

#### NetworkErrorCode[undefined]

Description:

  - success 默认所有信令返回

success 默认所有信令返回

#### NetworkErrorCode[undefined]

Description:

  - stream not found 媒体服务-流不存在 subscribe 信令返回

stream not found 媒体服务-流不存在 subscribe 信令返回

#### NetworkErrorCode[undefined]

Description:

  - param err 媒体服务-参数错误 subscribe 信令返回

param err 媒体服务-参数错误 subscribe 信令返回

#### NetworkErrorCode[undefined]

Description:

  - track not found 媒体服务-订阅的track不存在 subscribe 信令返回

track not found 媒体服务-订阅的track不存在 subscribe 信令返回

#### NetworkErrorCode[undefined]

Description:

  - json invalid! 检查信令结构、参数

json invalid! 检查信令结构、参数

#### NetworkErrorCode[undefined]

Description:

  - 参数错误 param invalid! 检查信令参数

参数错误 param invalid! 检查信令参数

#### NetworkErrorCode[undefined]

Description:

  - user not join! 用户未进房，请先进房

user not join! 用户未进房，请先进房

#### NetworkErrorCode[undefined]

Description:

  - user repeat join! 用户重复登录，进房只需要调用一次

user repeat join! 用户重复登录，进房只需要调用一次

#### NetworkErrorCode[undefined]

Description:

  - src user not exist! 远端用户不存在 invite、offer、answer、custom data 等和远端用户有关的信令

src user not exist! 远端用户不存在 invite、offer、answer、custom data 等和远端用户有关的信令

#### NetworkErrorCode[undefined]

Description:

  - user sig invalid! user sig 无效

user sig invalid! user sig 无效

#### NetworkErrorCode[undefined]

Description:

  - auth server sig invalid! 公有云鉴权服务鉴权失败

auth server sig invalid! 公有云鉴权服务鉴权失败

#### NetworkErrorCode[undefined]

Description:

  - no track exist! 流不存在 subscribe 信令返回

no track exist! 流不存在 subscribe 信令返回

#### NetworkErrorCode[undefined]

Description:

  - server overload! 服务过载 join 信令返回

server overload! 服务过载 join 信令返回

#### NetworkErrorCode[undefined]

Description:

  - media server except! 媒体服务响应异常

media server except! 媒体服务响应异常

#### NetworkErrorCode[undefined]

Description:

  - unknown 未定义错误

unknown 未定义错误

### Type Definitions

#### ConnectionState

Description:

  - 连接状态

连接状态

##### Type:

- 'new' | 'connecting' | 'connected' | 'failed' | 'disconnected' | 'reconnecting' | 'not_support' | 'limit_exceeded'

#### CloudMode

Description:

  - 云模式

    - `public` 公有云
    - `public_intl` 公有云国际站
    - `private` 私有云

云模式

- `public` 公有云
- `public_intl` 公有云国际站
- `private` 私有云

##### Type:

- 'public' | 'public_intl' | 'private'

#### SDKMode

Description:

  - 服务模式

    - `server` 专属加速模式
    - `server2` 普通加速模式

服务模式

- `server` 专属加速模式
- `server2` 普通加速模式

##### Type:

- 'server' | 'server2'

#### MediaType

Description:

  - 媒体类型

媒体类型

##### Type:

- 'video' | 'audio'

#### RoomState

Description:

  - 房间状态

房间状态

##### Type:

- 'joining' | 'joined' | 'unjoined'

#### SignalingState

Description:

  - 信令状态

信令状态

##### Type:

- 'new' | 'scheduling' | 'scheduled' | 'connecting' | 'connected' | 'disconnected' | 'closed' | 'reconnecting'

#### MqttConnectionState

Description:

  - MQTT 连接状态

MQTT 连接状态

##### Type:

- 'new' | 'connecting' | 'connected' | 'reconnecting' | 'error' | 'closed'

#### PermissionState

Description:

  - 网关设备权限

网关设备权限

##### Type:

- 'master' | 'guest'

#### Gateway

Description:

  - 网关信息

##### Properties:

Name | Type | Attributes | Description
--- | --- | --- | ---
`deviceId` | string |  | 现场设备 ID。公有云模式下，返回的 ID 的格式为 `${projectId}/${fieldDeviceId}`
`deviceName` | string |  |
`deviceType` | string |  |
`streamCount` | number |  |
`status` | string |  |
`version` | string |  | 网关 SDK 版本号
`licenseExpire` | number | <optional> | License 过期时间戳（秒）

网关信息

##### Type:

- object

#### WebRTCStats

Description:

  - 媒体流统计信息

##### Properties:

Name | Type | Attributes | Description
--- | --- | --- | ---
`srcUserId` | string |  | 媒体流推流 ID
`trackId` | string |  | 媒体流流 ID
`streamId` | number |  | 媒体流流号
`mediaType` | MediaType |  | 媒体类型
`bitrate` | number |  | 当前码率，单位为 Mbps
`packetsReceived` | number |  | 接收到的 RTP 数据包总数，累积值
`packetsLost` | number |  | 丢失的 RTP 数据包总数，累积值
`lost` | number |  | 当前丢包率，单位为 %
`lostAvg` | number |  | 平均丢包率，单位为 %
`rtt` | number |  | RTT（往返时间），单位为 ms
`rttAvg` | number |  | RTT（往返时间）平均值，单位为 ms
`codec` | string |  | 媒体流编解码 MIME 类型
`decoderImplementation` | string |  | 解码器标识
`decoderType` | 'hardware' | 'software' | 'unknown' |  | 解码器类型：, hardware 硬件解码器, software 软件解码器, unknown 未知类型
`nack` | number |  | NACK 数据包发送总次数，累积值
`firCount` | number |  | FIR 数量
`pliCount` | number |  | PLI 数量，仅对视频流生效
`framesReceived` | number |  | 接收到的帧总数，累积值，仅对视频流生效
`framesDecoded` | number |  | 解码的帧总数，累积值，仅对视频流生效
`keyFramesDecoded` | number |  | 解码的关键帧总数，累积值，仅对视频流生效
`resolution` | string |  | 分辨率，格式为 `${width}x${height}`，仅对视频流生效
`fps` | number |  | 帧率，仅对视频流生效
`decodeTime` | number |  | 当前解码耗时，单位为 ms，仅对视频流生效
`decodeTimeAvg` | number |  | 平均解码耗时，单位为 ms，仅对视频流生效
`processingDelay` | number |  | 当前处理视频帧的耗时，单位为 ms，仅对视频流生效
`processingDelayAvg` | number |  | 平均处理视频帧的耗时，单位为 ms，仅对视频流生效
`audioLevel` | number |  | 当前音频轨道音量，取值范围为 0 到 1，仅对音频流生效
`jitter` | number |  | 抖动，单位为 s
`jitterBuffer` | number |  | 当前抖动缓冲区延迟，单位为 ms
`jitterBufferAvg` | number |  | 平均抖动缓冲区延迟，单位为 ms
`jitterBufferTarget` | number |  | 当前目标抖动缓冲延迟，单位为 ms
`jitterBufferTargetAvg` | number |  | 平均目标抖动缓冲延迟，单位为 ms
`latency` | number |  | 视频延迟，单位为 ms
`latency1` | number | <optional> |
`latency2` | number | <optional> |
`lag100` | number |  | 视频 100ms 卡顿率
`lag150` | number |  | 视频 150ms 卡顿率
`nackDelta` | number |  | 周期增量：当前采集周期内 NACK 发送次数
`firCountDelta` | number |  | 周期增量：当前采集周期内 FIR 数量
`pliCountDelta` | number |  | 周期增量：当前采集周期内 PLI 数量
`framesReceivedDelta` | number |  | 周期增量：当前采集周期内接收帧数
`framesDecodedDelta` | number |  | 周期增量：当前采集周期内解码帧数
`packetsReceivedDelta` | number |  | 周期增量：当前采集周期内接收包数
`packetsLostDelta` | number |  | 周期增量：当前采集周期内丢包数
`stableFps` | number |  | 稳定帧率：10s 滑动窗口平均值，排除 0 值，仅对视频流生效

媒体流统计信息

##### Type:

- object

#### DiagnosisReport

Description:

  - 诊断报告

##### Properties:

Name | Type | Attributes | Description
--- | --- | --- | ---
`diag_error` | string |  | 诊断错误信息，若没有错误则返回 `'ok'`，否则返回错误信息
`device_id` | string |  | 现场设备 ID
`field_pid` | string | <optional> | 现场设备进程 ID
`license_check` | string | <optional> | 现场设备 License 检测，若通过则返回 `'ok'`，否则返回错误信息
`field_mqtt_connect` | string | <optional> | 现场设备 MQTT 连接状态，若连接正常则返回 `'ok'`，否则返回错误信息
`remote_mqtt_connect` | string |  | 远端设备 MQTT 连接状态，若连接正常则返回 `'ok'`，否则返回错误信息
`result` | Array |  | 视频流诊断报告
`result[].stream_id` | number |  | 视频流 ID
`result[].field` | object | <optional> | 现场设备视频流诊断报告 ###### Properties
Name | Type | Description
--- | --- | ---
`field_mode` | string | 现场设备服务模式
`signal_connect` | string | 现场设备信令连接状态，若连接正常则返回 `'ok'`，否则返回错误信息
`media_connect` | string | 现场设备媒体连接状态，若连接正常则返回 `'ok'`，否则返回错误信息
`video_transfer` | string | 现场设备视频传输状态，若视频传输正常则返回 `'ok'`，否则返回错误信息
`video_capture` | string | 现场设备视频采集状态，若视频编码正常则返回 `'ok'`，否则返回错误信息
`video_encode` | string | 现场设备视频编码状态，若视频编码正常则返回 `'ok'`，否则返回错误信息
`rtt` | Array.<number> | 现场设备 RTT 统计信息，单位为毫秒，统计间隔为 2 秒
`lost` | Array.<number> | 现场设备丢包率统计信息，统计间隔为 2 秒
`bps` | Array.<number> | 现场设备比特率统计信息，单位为 kbps，统计间隔为 2 秒
`fps` | Array.<number> | 现场设备帧率统计信息，统计间隔为 2 秒
`result[].remote` | object | <optional> | 远端设备视频流诊断报告 ###### Properties
Name | Type | Description
--- | --- | ---
`remote_mode` | string | 远端设备服务模式
`signal_connect` | string | 远端设备信令连接状态，若连接正常则返回 `'ok'`，否则返回错误信息
`media_connect` | string | 远端设备媒体连接状态，若连接正常则返回 `'ok'`，否则返回错误信息
`video_transfer` | string | 远端设备视频传输状态，若视频传输正常则返回 `'ok'`，否则返回错误信息
`video_decode` | string | 远端设备视频解码状态，若视频解码正常则返回 `'ok'`，否则返回错误信息
`lag_k100` | number | 远端设备 100ms 卡顿率
`lag_k150` | number | 远端设备 150ms 卡顿率
`rtt` | Array.<number> | 远端设备 RTT 统计信息，单位为毫秒，统计间隔为 2 秒
`lost` | Array.<number> | 远端设备丢包率统计信息，统计间隔为 2 秒
`bps` | Array.<number> | 远端设备比特率统计信息，单位为 kbps，统计间隔为 2 秒
`fps` | Array.<number> | 远端设备帧率统计信息，统计间隔为 2 秒
`latency` | Array.<number> | 远端设备延迟统计信息，单位为毫秒，统计间隔为 2 秒
`webrtc_stats` | Array.<WebRTCStats> | 远端设备完整统计信息，统计间隔为 2 秒

诊断报告

##### Type:

- object

#### OnEventAutoplayResponse

Description:

  - 自动播放返回类型

##### Properties:

Name | Type | Description
--- | --- | ---
`type` | 'autoplay' |
`data` | object | ###### Properties
Name | Type | Attributes | Description
--- | --- | --- | ---
`code` | number |  | 0 success, , -1 failed, 20 mqtt client not found （只在公有云场景下出现）, , 21 mqtt client not connected （只在公有云场景下出现）, , 22 mqtt publish message failed （只在公有云场景下出现）, , 25 mqtt sessionId not found （只在公有云场景下出现）
`message` | string |  |
`fieldDeviceId` | string |  |
`srcUserId` | string |  |
`streamId` | number |  |
`trackId` | string |  |
`mediaType` | MediaType |  |
`videoWidth` | number | <optional> |
`videoHeight` | number | <optional> |

自动播放返回类型

##### Type:

- object

#### OnEventWebRTCStatsResponse

Description:

  - 媒体流统计信息回调

##### Properties:

Name | Type | Description
--- | --- | ---
`type` | 'webrtcStats' |
`data` | Array.<WebRTCStats> |

媒体流统计信息回调

##### Type:

- object

#### OnEventGatewayStatsResponse

Description:

  - 远端设备媒体流统计信息回调

##### Properties:

Name | Type | Description
--- | --- | ---
`type` | 'gatewayStats' |
`data` | object | ###### Properties
Name | Type | Description
--- | --- | ---
`fieldDeviceId` | string |
`stats` | any |

远端设备媒体流统计信息回调

##### Type:

- object

#### OnEventLocalTrackUnpublishedResponse

Description:

  - 本地音频流自动取消推流回调

##### Properties:

Name | Type | Description
--- | --- | ---
`type` | 'localTrackUnpublished' |
`data` | Object |

本地音频流自动取消推流回调

##### Type:

- object

#### OnEventResponse

Description:

  - OnEvent 回调

OnEvent 回调

##### Type:

- OnEventAutoplayResponse | OnEventWebRTCStatsResponse | OnEventGatewayStatsResponse | OnEventLocalTrackUnpublishedResponse