event_type | event_name | 事件含义 | payload 包含的字段 |
---|---|---|---|
101 | channel create | 创建频道。 | channelName ts |
102 | channel destroy | 销毁频道。 | channelName ts |
103 | broadcaster join channel | 直播场景下,主播加入频道。 | channelName uid platform clientType clientSeq ts |
104 | broadcaster leave channel | 直播场景下,主播离开频道。 | channelName uid platform clientType clientSeq reason ts |
105 | audience join channel | 直播场景下,观众加入频道。 | channelName uid platform clientType clientSeq ts |
106 | audience leave channel | 直播场景下,观众离开频道。 | channelName uid platform clientType clientSeq reason ts |
107 | user join channel with communication mode | 通信场景下,用户加入频道。 | channelName uid platform clientSeq ts |
108 | user leave channel with communication mode | 通信场景下,用户离开频道。 | channelName uid platform clientSeq reason ts |
111 | client role change to broadcaster | 直播场景下,加入频道后,用户将角色切换为主播。 | channelName uid clientSeq ts |
112 | client role change to audience | 直播场景下,加入频道后,用户将角色切换为观众。 | channelName uid clientSeq ts |
字段名 | 类型 | 含义 |
---|---|---|
channelName |
String | 频道名。 |
ts |
Number | 该事件发生的 Unix 时间戳,单位为秒。 |
uid |
Number | 用户使用的 UID。 |
platform |
Number | 用户使用的设备类型:1 :Android 2 :iOS 5 :Windows 6 :Linux 7 :Web 8 :macOS0 :其他平台 |
clientType |
Number | Linux 系统的设备使用的业务类型,常见的返回值包括:3 :本地服务端录制8 :小程序10 :云录制该字段仅当 platform 为 6 时返回。 |
clientSeq |
Number | 序列号,标识该事件在 app 客户端上发生的顺序,可用于对同一用户的事件进行排序。 |
reason |
Number | 用户离开频道的原因: 1 :正常离开频道。2 :连接超时,判断标准为 SD-RTN 超过 10 秒未收到用户的任何数据包。3 :权限原因。比如如被运营人员通过踢人 RESTful API 踢出频道。4 :服务端原因。比如服务端做负载调整,和用户短暂断开连接,一般 SDK 会自动重连。5 :连接切换原因。比如用户换新设备登录频道,迫使旧设备离开频道。9 :由于客户端有多个 IP 地址,SDK 主动与声网业务服务器断开连接并重连。此过程用户无感知。请检查用户是否存在多个公网 IP 或使用了 VPN。10 :由于网络连接问题,例如 SDK 超过 4 秒未收到来自声网业务服务器的任何数据包或 socket 连接错误,SDK 主动与声网业务服务器断开连接并重连。此过程用户无感知。请检查网络连接状态。999 :异常用户。例如,用户短时间内频繁登录登出频道会被判定为异常用户。Note:你的 app 服务端需要在收到 reason 为 999 的 104 或 106 事件 60 秒后调用踢人 API 将该用户踢出频道。否则,该用户再次加入频道后,可能无法收到相关事件通知。0 :其他原因。 |
event_type | event_name | 事件含义 | payload 包含的字段 |
---|---|---|---|
1 | Publish Stream | 开始推流。 | event stream code time reason channel videoCodec videoProfile width height audioCodec audioProfile audioChannels audioSampleRate |
2 | Unpublish Stream | 取消推流。 | event stream code time reason channel |
3 | Publish Status | 推流状态改变。 | event stream code time reason channel |
4 | Update Transcoding | 推流的转码布局设置已更新。 | event stream code time reason channel videoCodec videoProfile width height audioCodec audioProfile audioChannels audioSampleRate |
5 | Publish Request | 声网推流服务器收到开始推流的请求。 | event stream time channel uid |
6 | Publish First Frame | 视频首帧已推到 CDN。 | event stream time channel uid elapse retry |
字段名 | 类型 | 含义 |
---|---|---|
event |
String | 推流事件:PublishStream :开始推流。UnpublishStream :取消推流。 PublishStatus :推流状态改变。UpdateTranscoding :推流的转码布局设置已更新。PublishRequest :声网推流服务器收到开始推流的请求。PublishFirstFrame :视频首帧已推到 CDN。 |
stream |
String | 推流地址,支持 RTMP 协议。 Note:不支持中文字符等特殊字符,且该字符长度不能超过 1024 字节。 |
code |
Number | 错误码:200 :推流成功。450 :非法参数。比如设置转码布局设置时,传入的参数与声网要求的格式不同。451 :非法推流地址。请检查使用的流地址。452 :没有发起推流操作。比如推流过程中,更新转码布局后,没有再次调用推流接口。453 :不支持的操作。比如非转码推流时更新转码布局参数。454 :重复推流,已经存在该流地址。455 :超出最大允许推流的流数量(10个)。456 :没有权限的操作。比如删除别人的流。30 :RTMP handshake 失败。31 :RTMP connect 失败。32 :RTMP publish 失败。33 :TCP 连接断开。 |
time |
Number | 该事件发生的 Unix 时间戳,单位为毫秒。 |
reason |
String | 具体原因。 |
channel |
String | 频道名。 |
videoCodec |
String | 输出视频的编码格式:H.264 H.265 |
videoProfile |
String | 输出视频的编码规格:High :High 级别的视频编码规格,一般用于广播及视频碟片存储,高清电视。Main :Main 级别的视频编码规格,一般用于主流消费类电子产品,如 mp4、便携的视频播放器、PSP 和 iPad 等。Baseline :Baseline 级别的视频编码规格,一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等。 |
uid |
String | 用户的 UID/User Account:int 型 uid 加入频道,则服务器在此处自动将 uid 转为 string 型参数并返回该参数。string 型 userAccount 加入频道,则服务器返回该参数。 |
width |
Number | 输出视频的宽度(px)。 |
height |
Number | 输出视频的高度(px)。 |
audioCodec |
String | 输出音频的编码标准:AAC 。 |
audioProfile |
String | 输出音频的编码规格:LC :LC-AAC,低复杂度高级音频编码。HE :HE-AAC,高效率高级音频编码。 |
audioChannels |
Number | 输出音频的声道数。 |
audioSampleRate |
Number | 输出音频的采样率(Hz)。 |
elapse |
Number | 首帧推流所耗时间(ms),即从声网推流服务器收到推流请求(PublishRequest )到输出视频首帧(PublishFirstFrame )的时间。 |
retry |
Boolean | 是否为重新推流:true :重新推流。false :首次推流。454 。 |