开发历程.md 6.7 KB

开发历程与版本沿革

依据 opencode 会话记录(12 个会话、3124 条消息、2026-08-11 → 2026-10-22)、 原始工作目录 /root/hd-ws(rtsp / rtsp588 / rtsp568)以及 deploy 目录下的 22 个部署包整理。

1. 目录沿革

目录 说明 时间
/root/hd-ws/rtsp 最早版本(RK3588 平台原版拷贝) 2026-08 前
/root/hd-ws/rtsp588 中间快照(RK3588 平台) 2026-08 前
/root/hd-ws/rtsp568 转 RK3568 后的正式版本(08-11 定为正式版) 2026-08-11
/root/layoutx 09-04 迁移后的现行开发目录(git 仓库) 2026-09-04 起

2. 开发时间线

日期 阶段 开发内容
08-11 ~ 08-12 ① RK3588→RK3568 迁移 编译/依赖/字体缺失修复;移除推理(YOLO)功能与资源占用
08-11 ① 单通道 layout 自动使用主码流;测试跳转 10s→5s;摄像头离线不卡帧+自动重连;画幅切换时 nosignal 显示
08-11 ① 软件标题命名建议;本目录定为正式版本
08-12 ① PLC 离线右下角红字告警(出现闪屏,后续撤回);run_local 本地测试安装脚本
08-12 ① importbuffer_fd 报错/画面闪排查;进程残余、CPU 高占用修复;plc 改用远程服务
08-12 ~ 08-14 ① layout 重构 多行自适应布局(首行 N 个/各行按比例占高、撑满);大/小画面组合设计(layout0-4:1~3 个大画面+其余小画面);字符占位配置;宽高比不变形
08-13 ① 网格线叠加;海康 ISAPI 批量配置主/子码流(channels_isapi.conf);调试进程清理
08-13 ~ 08-14 ① importbuffer_fd 修复
08-25 ② 只读调研 视频管线核心模块与应用层审计,输出优化点清单
09-04 ③ 目录迁移 /root/hd-ws/rtsp568→/root/layoutx;build.sh 修复;花屏/importbuffer 修复
09-04 ③ 部署化 plc_server.sh 前台运行(Ctrl+C 全退出);deploy/ 目录 + pack.sh 打包(首批 20260904)
09-04 ③ PLC DB 块地址解析修正;plc_sim 同步更新
09-04 ~ 09-05 ③ 自动重启设备(日/周+时间,conf 可配);一键部署新主机脚本(192.168.1.243/root/123456);README 更新
09-05 ④ 部署实战 离线依赖问题暴露调整;部署后标题/字体修复;PLC 未监听 0.0.0.0 修复
09-14 ④ PLC PLC 连接日志排查;TSAP/Rack/Slot 解答;DB1000 读点测试;bool 位解析定位
09-15 ④ 网页配置 web 页面上线(8080/密码 3730):改 PLC/摄像头地址、layout、tsap;中文页面;保存格式修复
09-15 ~ 09-16 ④ 布局 上下分割布局(上 30% 五路小画面+下 70% 按点位 1~3 路,宽高比居中);plc_rules 语义重写(任一触发/全部触发、无匹配回退默认、恢复回默认)
09-19 ④ 稳定性 黑框+fps=0 修复;断线重连机制(摄像头/PLC 重上线);网页中文乱码修复;批量拷贝部署脚本化
09-21 ④ 现场闪屏 根因 RGA “4G MMU 不支持” → 输出缓冲优先走 dma32 heap(其次 cma、普通内存);根目录写满(kern/syslog 各 12G)治理
09-21 ④ 无显示器开机 先启动服务后接显示器只显示桌面 → display_init 等显示器重试;HDMI 分配器/录像机切换场景排查(与分配器无关);systemd 自启动适配
09-21 ④ PLC 规则修正 按用户改动的 [plc_rules] 语义改代码;触发后恢复回默认布局修复
09-21 ④ 网页 IP 网页查看/修改设备 IP(多网段添加);网页保存配置;定时重启功能与每天凌晨重启确认
10-13 ⑤ 拔插稳定性 频繁拔插 AtomicCommit EINVAL/第二次回桌面修复;紫色画面排查
10-13 ⑤ color_format HDMI RGB 值 display_set_color_format(1) 代码硬编码;diag.sh 诊断脚本
10-13 ⑤ 生产部署 216 生产板部署:标题栏字体修复、TSAP、PLC 连接状态角标、网页可配 tsap
10-14 ⑤ 离线部署 install.sh 依赖自检(ldd+gst-inspect),完全离线安装,无需联网
10-14 ⑤ 防抖 plc_debounce_ms(300ms 连续稳定才切换,防点位瞬间触发闪切);网页可配
10-14 ⑤ 网络管理 网页添加 IP 走 NetworkManager(nmcli con mod+reapply 持久化);两块板各加 192.168.100.x
10-14 ⑤ service 秒停 display_init 等显示器循环加入 g_running 检查,stop 卡 90s→363ms
10-14 ⑤ 静态 IP install.sh 内置给 eth0 追加 192.168.100.245/24(保留 DHCP)
10-14 ⑤ 画面 IP 角标 左下角显示 eth0 全部 IPv4(每秒刷新);防忘 IP
10-20 ⑤ 拔插根治 NV12 缓冲区 vs 显示模式 mismatch → einval 死循环;修复=重建优先选匹配模式+SRC/CRTC 几何分离(支持缩放)
10-20 ⑤ 定版 换分辨率屏需重新上电(用户决定保持不动);打包 20261020_010600
10-22 ⑥ 版本管理 汇总开发历程;git 仓库初始化并打 v1.0-prod 标签

3. 部署包(平台版本)沿革

部署包时间戳 二进制 md5 主要变化
20260904_092418 / 093406 - 首批打包(部署化试行)
20260905_003525 / 20260909_045758 - 部署脚本调整
20261013_080759 / 084753 - ⚠️ 已弃用(紫色画面修复前)
20261013_085429 ~ 092459 - color_format 硬编码、生产板初部署
20261014_022843 69ad… ⚠️ 已弃用
20261014_025142 ce428058 布局防抖
20261014_030341 7b8460d6 + 网页防抖参数
20261014_032433 0d8e313f + 网页加 IP 走 NetworkManager
20261014_034552 5785af80 + systemctl stop 秒退修复
20261014_062749 d2b642cc + 画面 IP 角标(217 现仍是此版)
20261020_010600 63252ff9 + 拔插显示器分辨率自适应(当前最新)

4. 当前版本状态(2026-10-22)

项 状态
开发机(232)编译产物 63252ff9afca147bd89edd1c3907280d
生产板 216 63252ff9…(最新,含拔插修复)
生产板 217 d2b642cc…(缺拔插修复,离线待更新)
现场约定 换不同分辨率显示器后重新上电

5. git 版本管理

项 说明
仓库位置 /root/layoutx(自 2026-10-22 起)
基线提交 a7697d4(main 分支)
标签 v1.0-prod(对应部署包 20261020_010600)
忽略项 build/、build_asan/、deploy/*.tar.gz、models/(143M 权重,推理已移除)、二进制、运行日志
⚠️ 注意 channels.conf* 内含摄像头凭证与网页密码,仓库仅限内网/离线保存
原始历史 /root/hd-ws 三个目录保持原样,如需可导入为分支