跳到主要内容

GT-Streaming v4.0.19 发布

· 阅读需 7 分钟
KKY

媒体服务 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/infoGET /v1/queuevid-inspect独立观察端口(默认本机 18288);未配置 httpport=0 则不监听

列表最多 200 条,超出设 truncated: true。快照 best-effort,建议轮询间隔 ≥ 200ms。

WebSocket API 对齐(strm-js 1.1.3)

WS methHTTP
almAtt/queueGET /v1/alm/att/queue
vidInspect/createvidInspect/qryPOST / GET /v1/vid_inspect
voice/uploadvoice/qryTaskvoice/queuevoice/clip对应语音 HTTP 接口

取图与 WAV 下载仍走 HTTP。见 巡检语音附件队列

优化

主动安全附件

  • 提取请求支持 priority(0–5,默认 3)、guidai
  • (priority DESC, reqTm ASC) 排队,不抢占已执行任务
  • 成功时可双发 伊爱证据完成事件eeye-stm-evidence);未配置则只发原 fetch-alm-att-completed

详见 主动安全附件集成指南

巡检抓拍(配套 vid-inspect 1.2.0)

  • 创建任务支持 priority(0–2,默认 0)、guidai
  • 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。数据库结构号仍为 13v13.sql),无 v14。全新安装或从 13 以下自动升级会执行整份脚本。若库已经是 struct 13(仅有证据相关列),需手工补跑 v13.sql 中其余语句:

  • t_vid_inspect_task 增加 f_priority / f_guid / f_ai
  • 新建 t_voice_clipt_voice_dispatch_task(语音编号为 VARCHAR

已有证据相关 ALTER 不要重复执行。

可选配置(不配则对应能力不启用,旧接口继续可用):

配置进程用途
mq.eeyeEvidence流媒体证据成功双发 Kafka
voice.* + mq.autoVoice流媒体自动语音下发及结果 topic auto-voice-evt
mq.eeyeInspectvidInspect.maxQueuedTasksvid-inspect巡检聚合事件与等待队列上限
http.port / http.tokenvid-inspect观察 API;生产环境建议不监听

voice.remoteApi.kinddefault(缺省,标准音频管理 API)或 e-eye(伊爱提醒语音接口)。配置样例见 部署说明

客户端若使用 WebSocket 巡检 / 语音 / 附件队列,请升级到 strm-js 1.1.3

相关文档

完整版本记录见 版本记录