栾绍峰 luanshaofeng

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • b572b64257 双机16路单屏: 主从角色可切换 + 画面/报警聚合 新增能力: - 角色: standalone/master/slave, 网页配置(重启生效), 两台可各自接屏切换主从 - 通道全局编号: local_base(0/8), 与角色解耦, 编号稳定 CH0-15 - 主节点: 4x4 宫格(本地8+对端8), 每路独立HTTP客户端拉取对端画面(8fps) - 状态聚合: /api/status 合并对端通道(在线/帧龄/分辨率) - 转发: /stream /mjpeg 对端通道由主节点提供(拉取缓存帧) - 报警聚合: 围栏+姿态报警/计数合并, 删除/清空分发到对应节点(src=local/peer) - 截图代理: /api/peer/image/:file 直接返回对端截图字节 - 防误配: 对端不能指向本机同端口(避免状态查询递归) - 前端: 系统设置新增"双机模式"配置; 16路4x4布局; 报警截图按来源取图 已验证: 本机模拟从节点(8081)+主节点(8080), 对端画面在线/8fps, 报警合并/筛选/删除/截图代理均正常

hace 1 hora

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 6d2c9530f5 重大性能优化: 消除主循环重复处理同一帧 + 显示帧降频 1. 帧去重(核心): 之前主循环每秒重复grabNv12/转换同一帧上千次 - 新增last_cap_seq, 只在解码器产出新帧时处理该通道 - 主线程CPU 65% -> 16%, 进程总CPU 186% -> 48% 2. 显示帧生成降频(display_fps默认12): 输出端HDMI/MJPEG/手机最高10-12fps - 不再每输入帧(25fps)都做RGA转换+clone+cvtColor+绘制 - config新增display_fps 3. 实测: 6路NPU推理正常, MJPEG 9-10fps, 手机stream正常, 画面无跳帧

hace 18 horas

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 84dd850d1e 继续优化: 看门狗自愈 + NPU核轮询均衡 + 清理死代码 1. 主循环看门狗(watchdog_sec默认120): 主线程卡死(如rknn_run挂起)超过阈值 自动退出并由systemd重启, 解决偶发NPU挂起导致画面冻结需人工介入的问题 2. NPU核分配改为创建顺序轮询: 删加通道后仍保持三核均衡(原按id%3易不均) 3. 删除死代码config_loader(从未使用) 4. 实测: 3核均衡(57%/81%/53%), 6路在线, 重启3.5秒

hace 18 horas

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 4ce78ce37c 优化: 修复停机卡死/内存浪费/通道删除崩溃风险 1. 停机卡死(严重): 停止推理线程未notify条件变量, worker永久阻塞导致join挂起 - 新增stopChannelInfer统一封装(设标志+notify_all+join) - 退出/删除通道/替换通道全部改用该封装 - 实测: 重启从90秒降到3.8秒 2. 通道删除/修改崩溃风险(严重): 只停capture未停推理线程, use-after-free - 删除/修改通道前先stopChannelInfer 3. 内存浪费: 共享detector/poseDetector加载后从未使用(每路已有独立context) - 改为加载验证后立即释放, 内存410MB->359MB 4. 每路模型加载失败增加告警日志 5. 手机端报警列表仅在第一页时自动刷新, 避免打断翻页

hace 20 horas

luanshaofeng hizo push a master en luanshaofeng/hookvision-rk

  • e8c7a5a255 新增RK3578二进制部署、AI标定与自动重启功能;main入口切换至main_window_v2
  • 9d255ed540 多项优化和修复 - 离线日志改为 WARNING 级别,写入同级目录 hookvision.log - 摄像头离线报警改为中文左/右侧摄像头离线 - 生成离线报警相关 WAV 语音文件 - 读卡器 TCP keepalive 检测,拔线后 15s 内触发离线 - 读卡器无数据超时检测取消(半小时不刷卡不误判离线) - 启动时摄像头尚未检测默认在线,避免误报离线 - 启动阶段不播报读卡器离线语音(_started 标志) - 离线事件增加 logger.warning 记录到日志
  • f3ae34eb4e 摄像头并发 ping 检测,替代串行 ping 提升实时性
  • 0ac253f3d4 修复摄像头上线后自动重连失败:重连前先取消旧重连计时器
  • d7d7455356 摄像头从离线恢复上线后自动触发RTSP重连

hace 4 días

luanshaofeng nueva rama master creada en luanshaofeng/hookvision-rk

hace 4 días

luanshaofeng creó el repositorio luanshaofeng/hookvision-rk

hace 5 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 2b08edaf15 统一后台状态入口为 onAndroidLifecycle - 移除冗余的 onNativeBackground/onNativeForeground - onAndroidLifecycle 支持 pause/resume/background/foreground/stop/start 多种状态值 - Android WebView 统一调用: evaluateJavascript("onAndroidLifecycle('pause')")

hace 5 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • c782c091b3 手机端支持后台运行检测(适配Android WebView) - 三种检测来源: 1) Android原生桥: onAndroidLifecycle/onNativeBackground/onNativeForeground 2) Page Visibility API(visibilitychange/pagehide/pageshow) 3) 心跳兜底: 定时器冻结超3秒后恢复判定经过后台 - 后台时暂停视频拉流(省流量/服务器CPU), 回前台自动恢复 - 切到报警页也暂停视频拉流 - 页面顶部显示"后台运行中"状态 - H5就绪时回调AndroidBridge.onWebReady

hace 5 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • a7ffbac399 手机报警历史增加分页下拉加载 - 首次加载20条报警记录 - 滚动到底部自动加载下一页 - 围栏/姿态报警合并后统一分页 - 筛选条件变化自动回到第一页 - 列表每10秒刷新

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • b1819caaa3 修复手机视频兼容性: MJPEG改为JPEG单帧轮询 - 手机端不再直接使用multipart MJPEG - 改用/stream/:ch单帧JPEG轮询, 每100ms一帧 - 兼容不支持multipart MJPEG的手机浏览器 - 局域网验证stream/0返回640x360 JPEG HTTP 200

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 35850e4b01 修复MJPEG长连接断流导致手机视频加载失败 - 根因: httplib默认keep-alive=5秒, MJPEG长连接5秒后断开 - set_keep_alive_max_count(0)会触发处理循环直接退出(HTTP 000) - 改为 max_count=1000, timeout=3600 - 实测: keep-alive 3600s, MJPEG 8秒77帧持续稳定

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 79a5a8ac48 修复手机端视频: video标签改为img(MJPEG不支持video标签) - MJPEG的multipart/x-mixed-replace只能由img标签显示, video标签不支持 - 增加加载失败自动重试(3秒) - CSS: #videoWrap video -> img

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 1c79f47596 新增手机H5页面(mobile.html): 视频预览+报警历史 - 手机适配: viewport/触屏优化/添加到主屏幕 - 视频: 通道切换, MJPEG实时预览 - 报警: 围栏+姿态合并列表, 类型/通道/时间筛选, 图片详情弹窗 - 10秒自动刷新报警 - 路由 /mobile.html (页面内自带登录, 不强制跳转) - 局域网测试通过: 登录/6路视频/报警历史均正常

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 09346edaca 新增摄像头RTSP端口转发脚本(花生壳映射用) - 6路摄像头RTSP经板子端口8551-8556转发 - 支持start/stop/status, TCP模式(规避RTP动态端口穿透问题) - rc.local开机自启 - 手机APP拉流: rtsp://<域名>:<端口>/Streaming/Channels/101(主)或102(子)

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 2f67e8acc6 姿态识别配置页: 功能与参数一一对应成行 - 每个动作一行: 开关 + 对应参数(跌倒带阈值/帧数, 静止/离岗带秒数) - 新增疑似离岗开关(取消勾选即禁用, absent_sec=0) - 布局: 动作配置网格自适应, 开关与参数同行显示

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 8db36f46c6 姿态识别新增: 疲劳瞌睡/长时间静止/疑似离岗 - 疲劳瞌睡(SLEEPY): 头部下垂(nose远低于肩部), 单帧判定, 可开关 - 长时间静止: 人体中心跨帧位移<3%持续N秒(默认15s), 时间戳计时, 报警+截图 - 疑似离岗: 人体消失持续N秒(默认30s), 报警+截图 - 配置: pose_sleepy/pose_still/pose_still_sec/pose_absent_sec - 前端姿态配置页: 新增勾选+静止/离岗秒数输入 - 实测: 静止15秒/离岗30秒均正常触发

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • 17194d2578 姿态识别配置页新增屏蔽区域编辑 + Web API - /api/pose/status 返回 pose_exclude_zones - /api/pose/config 支持保存屏蔽区域 - 前端姿态配置页新增"屏蔽区域"卡片: 每路可输入矩形排除区(x1,y1,x2,y2, 多个分号分隔) - 配合最小面积过滤, 彻底解决CH0地图误识别
  • c7a009bf6b 姿态识别: 最小面积过滤 + 屏蔽区域排除误识别 - 距离阈值从"最小高度"改为"最小像素面积"(pose_min_area, 默认3000px) - 面积过小的人体不显示不参与动作 - 新增 pose_exclude_zones 屏蔽区域: 每路可配置矩形排除区 落入区域的人体不显示不报警(解决CH0地图误识别) - CH0实测: 地图在左侧(0-130,130-450), 配置屏蔽区后误报从20次/分钟降到0
  • Ver comparación de estos 2 commits »

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • e4b70558d2 姿态识别: 合并抽烟/打哈欠为手近嘴部 + 增加距离阈值 - 抽烟和打哈欠判定特征相同(手腕靠近嘴), 合并为"手近嘴部"分类 - 新增 pose_min_body_h 距离阈值: 人体包围盒高度低于阈值(默认60px)视为太远, 不做动作判定 - 前端姿态配置页新增"人体最小高度"输入, 可调20-500px - 实测: 阈值保存/持久化/生效正常

hace 6 días

luanshaofeng hizo push a v2.1-pose en luanshaofeng/zone_alarm

  • a48dd14854 姿态识别新增3个动作: 半躺/抽烟/打哈欠 - RECLINE 坐姿腿前伸半躺: 腿前伸(膝/踝远离髋) + 躯干倾斜 - SMOKING 抽烟: 手腕靠近鼻部(nose) - YAWN 打哈欠: 手腕靠近嘴 + 头部无前倾(单帧近似) - 各自独立开关 pose_recline/pose_smoking/pose_yawn, 前端配置页可选 - 报警历史标签颜色: 半躺紫/抽烟橙/打哈欠青 - 实测: 打哈欠(score 0.48) 抽烟(score 0.53) 均能检测

hace 6 días