媒体服务 4.0.19 与巡检服务 vid-inspect 1.2.0 同期发布:新增自动语音下发,证据提取与巡检抓拍支持优先级调度。媒体服务修复一处内存泄露。
本版本要点
- 自动语音下发:企业应用调用接口播放预置语音;终态写入 Kafka
auto-voice-evt。人工对讲占用时立即失败,不踢人。 - 证据 / 巡检可按优先级排队:附件提取与巡检抓拍支持
priority/guid/ai,按优先级调度且不抢占已执行任务。 - 可选 Kafka 双发:证据成功可双发
eeye-stm-evidence;巡检全通道结束可双发eeye-stm-inspect-evt(由 vid-inspect 发出)。旧队列保持兼容。 - 运维观察:附件与语音内存队列可查询;vid-inspect 可选独立观察端口(默认不监听)。
WebSocket 对等接口见 strm-js 1.1.3(图片与 WAV 下载仍走 HTTP)。
新增
自动语音下发
企业应用调用 下发语音(POST /v1/stream/voice/upload),流媒体打开对讲通道播放本地音频库,并将结果写入 auto-voice-evt。
- 优先级 0–2(默认 0);同终端串行;不抢占已执行任务
- 超时从请求
tm起算(默认 30 秒)→result=3;通道未就绪 →result=4;播完 →result=1 - 人工对讲占用 →
result=2,不打断人工对讲 - 首次启动可从远程音频 API 全量同步并转码为 8 kHz 单声道 LPCM WAV;之后缺文件时按需拉取
- 可 查询任务、查询内存队列、浏览音频库 并 试听
流程说明见 自动语音下发。不配置 voice(或 "enabled": false)则功能关闭。
只读观察 API
| 接口 | 进程 | 说明 |
|---|---|---|
GET /v1/alm/att/queue | 流媒体 | 证据提取内存调度快照;旧 /v1/alm/att/stat 计数语义不变 |
GET /v1/stream/voice/queue | 流媒体 | 语音下发内存调度快照 |
GET /v1/info、GET /v1/queue | vid-inspect | 独立观察端口(默认本机 18288);未配置 http 或 port=0 则不监听 |
列表最多 200 条,超出设 truncated: true。快照 best-effort,建议轮询间隔 ≥ 200ms。
WebSocket API 对齐(strm-js 1.1.3)
WS meth | HTTP |
|---|---|
almAtt/queue | GET /v1/alm/att/queue |
vidInspect/create、vidInspect/qry | POST / GET /v1/vid_inspect |
voice/upload、voice/qryTask、voice/queue、voice/clip | 对应语音 HTTP 接口 |
取图与 WAV 下载仍走 HTTP。见 巡检、语音、附件队列。
优化
主动安全附件
- 提取请求支持
priority(0–5,默认 3)、guid、ai - 按
(priority DESC, reqTm ASC)排队,不抢占已执行任务 - 成功时可双发 伊爱证据完成事件(
eeye-stm-evidence);未配置则只发原fetch-alm-att-completed
详见 主动安全附件集成指南。
巡检抓拍(配套 vid-inspect 1.2.0)
- 创建任务支持
priority(0–2,默认 0)、guid、ai - Master 等待队列与终端 pending 均按优先级调度,不抢占执行中任务
maxQueuedTasks(默认 200)限制等待队列;超限返回-23- 全通道结束后可双发 伊爱巡检聚合事件(
eeye-stm-inspect-evt,由 vid-inspect 发出;流媒体不使用mq.eeyeInspect) - 通道成功时同时返回
url(取图接口)与url2(文件系统路径)
详见 巡检抓拍 API。
修正
- 混淆后码流信息字段名被改写,导致巡检服务无法识别音视频编码;现保留原始字段名
- 修正一处 ByteBuf 未释放引起的内存泄露
- 查询在线终端时若 Micro-Gateway 不可用,返回明确的服务不可用,而不再笼统报内部错误
- WebSocket API 将业务错误正确封装为应答,不再把异常类名泄漏给客户端
- 修正查询附件提取任务时使用错误列名的问题
- 修正 PostgreSQL 与 Derby 在带时区时间戳绑定上的差异
- 修正取消未完成任务时 SQL 条件优先级错误,避免把全部排队任务误标为系统取消
升级注意
需要 strm-sdk 4.1.1。数据库结构号仍为 13(v13.sql),无 v14。全新安装或从 13 以下自动升级会执行整份脚本。若库已经是 struct 13(仅有证据相关列),需手工补跑 v13.sql 中其余语句:
t_vid_inspect_task增加f_priority/f_guid/f_ai- 新建
t_voice_clip、t_voice_dispatch_task(语音编号为 VARCHAR)
已有证据相关 ALTER 不要重复执行。
可选配置(不配则对应能力不启用,旧接口继续可用):
| 配置 | 进程 | 用途 |
|---|---|---|
mq.eeyeEvidence | 流媒体 | 证据成功双发 Kafka |
voice.* + mq.autoVoice | 流媒体 | 自动语音下发及结果 topic auto-voice-evt |
mq.eeyeInspect、vidInspect.maxQueuedTasks | vid-inspect | 巡检聚合事件与等待队列上限 |
http.port / http.token | vid-inspect | 观察 API;生产环境建议不监听 |
voice.remoteApi.kind 为 default(缺省,标准音频管理 API)或 e-eye(伊爱提醒语音接口)。配置样例见 部署说明。
客户端若使用 WebSocket 巡检 / 语音 / 附件队列,请升级到 strm-js 1.1.3。
相关文档
完整版本记录见 版本记录。