直播中关键信息回调
更新时间:2024-04-22 19:18:32
作用
直播过程中,回调讲师的行为和网络状态(当前仅支持讲师,未来会逐步支持嘉宾等角色)
详情
设置接口地址后,如果账号下相关频道在直播时,直播讲师的若干操作以及讲师当时的网络状态会以POST方式提交到给用户自定义的回调接口进行通知。
回调参数说明
回调包含的参数(通过form-data参数请求):
| 参数名 | 类型 | 说明 |
|---|---|---|
| logList | string | 为对象数组json格式 |
| timestamp | number | 当前时间戳 |
| sign | string | 签名验证,前后加polyvlog,中间由数据的key和value组成,key值按首字母从小到大排序。md5转码后,转为大写。比如,参数为{roomId:'200060', channelId:'005200060',user:{nick:'yang'}},则签名为 md5/('polyvlog'+'channelId'+'005200060'+'roomId'+'200060'+'user'+JSON.stringify({nick:'yang'})+'polyvlog').toLocaleUpperCase();'} |
说明
- 回调会累计1秒内的数据统一回调
- 新旧版后台都支持
- 因回调较为频繁,或对客户服务端造成压力,需提前与客户沟通
- 接口返回json对象,json对象中有字段code,200表示成功。如果没有返回200,会重试3次,超过3次则丢弃日志
logList参数json对象数组格式
| 参数名 | 类型 | 说明 |
|---|---|---|
| EVENT | string | 操作事件类型,下面说明 |
| sessionId | string | 场次id |
| roomId | string | 频道号 |
| userOrigin | string | 信息来源,client表示客户端,webClient表示网页开播 |
| timestamp | number | 数据产生时的时间戳 |
EVENT类型
目前EVENT包括AV_DEVICE_INFO、PPT_OPERATION、 NETWORK_STATUS,每种类型的数据格式不一致。
AV_DEVICE_INFO
AV_DEVICE_INFO的数据格式为:
| 参数名 | 类型 | 说明 |
|---|---|---|
| audio | Object | 音频信息 |
| video | Object | 视频信息 |
audio参数包括:
| 参数名 | 类型 | 说明 |
|---|---|---|
| switch | boolean | 音频流总开关状态 |
| microphone | Object | 音频来源类型之一:麦克风 |
| speaker | Object | 音频来源类型之一:系统声音。只有开关状态 |
| media | Object | 音频来源类型之一:多媒体文件音频。只有开关状态 |
audio.microphone参数包括:
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceId | string | 设备唯一标识 |
| deviceName | string | 描述该设备的字符串(例如“麦克风阵列”)。 |
| switch | boolean | 当前音频轨道是否包含该设备音频 |
| volume | number | 设置音量 |
audio.speaker参数包括:
| 参数名 | 类型 | 说明 |
|---|---|---|
| switch | boolean | 开关状态 |
audio.media参数包括:
| 参数名 | 类型 | 说明 |
|---|---|---|
| switch | boolean | 开关状态 |
video参数包括:
| 参数名 | 类型 | 说明 |
|---|---|---|
| switch | boolean | 视频流总开关状态 |
| camera | Object | 视频采集类型之一:摄像头 |
| screen | Object | 视频采集类型之一:屏幕共享 |
video.camera参数包括:
| 参数名 | 类型 | 说明 |
|---|---|---|
| switch | Boolean | 开关状态 |
| deviceList | Array[Object] | 摄像头设备列表。 |
video.camera.deviceList参数包括:
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceId | string | 设备唯一标识 |
| deviceName | string | 描述该设备的字符串(例如“外部 USB 网络摄像头”)。 |
video.screen参数包括:
| 参数名 | 类型 | 说明 |
|---|---|---|
| displaySurface | string | 指示正在捕获的屏幕共享的类型,可能是:browser 单个浏览器标签页 monitor 屏幕 window 应用窗口 |
| switch | boolean | 开关状态 |
PPT_OPERATION
PPT_OPERATION的数据格式为:
| 参数名 | 类型 | 说明 |
|---|---|---|
| operation | string | 操作类型,open:打开ppt, switchpage: 切页, switchAnimation: 切动画 |
| fileId | string | 文件唯一标识 |
| fileName | string | 文件名称 |
| pageId | number | 页面id |
| step | number | 页面切换步骤 |
NETWORK_STATUS
NETWORK_STATUS的数据格式为:
| 参数名 | 类型 | 说明 |
|---|---|---|
| networkQuality | number | 网络质量,共分为:0-6档位: 0:网络质量未知; 1:网络质量极好;2:网络质量较好;3:网络质量一般;4~5:网络质量差,建议及时调整;6:当前已断网。 |
| networkDelay | number | 从推流端到云端的往返延时,单位 ms。 该数值越小越好:如果 rtt < 50ms,意味着较低的音视频通话延迟;如果 rtt > 200ms,则意味着较高的音视频通话延迟。 |
| uplinkLossRate | number | 上行丢包率,取值范围为 [0, 1](可选,如未返回 uplinkVideoLossRate 及 uplinkAudioLossRate 则必选) |
| uplinkVideoLossRate | number | 上行视频丢包率,取值范围为 [0, 1](可选,如未返回 uplinkLossRate 则必选) |
| uplinkAudioLossRate | number | 上行音频丢包率,取值范围为 [0, 1](可选,如未返回 uplinkLossRate 则必选) |
| downlinkLossRate | number | 下行丢包率,取值范围为 [0, 1](可选,如未返回 downlinkVideoLossRate 及 downlinkAudioLossRate 则必选) |
| downlinkVideoLossRate | number | 下行视频丢包率,取值范围为 [0, 1](可选,如未返回 downlinkLossRate 则必选) |
| downlinkAudioLossRate | number | 下行音频丢包率,取值范围为 [0, 1](可选,如未返回 downlinkLossRate 则必选) |
| uplinkAudios | Array[Object] | 上行音频流信息 |
| uplinkAudios[index].volume | number | 音频流音量,取值范围为 [0, 100] |
如何设置
通过后台设置:
登录账户 - 进入【云直播】 - 点击【开发设置】- 点击【回调设置】- 直播状态改变回调URL
注意:提交的接口地址必须要以 http:// 或者 https:// 开头
后台设置参考图片
后台设置:

