feat: add rtsp runtime pipeline

This commit is contained in:
Yoilun
2026-04-28 19:00:23 +08:00
parent be3d2ac3af
commit b1c39d3fa7
9 changed files with 524 additions and 0 deletions

View File

@@ -98,6 +98,47 @@ http://127.0.0.1:19080
- `GET /api/manage/summary`
- `GET /api/manage/events`
## 运行识别计时进程
管理页只负责配置和查看数据。要产生数据,还需要启动运行进程:
```bash
scripts/run_runtime.sh
```
运行进程会:
1. 按配置读取 RTSP。
2.`ffmpeg` 周期抓取小尺寸 RGB 帧。
3. 按标定区域做占用变化检测。
4. 判断垃圾桶区域是否有明显投放动作。
5. 调用批次计时状态机。
6. 写入 `logs/events.jsonl`,管理页会读取这个文件。
当前视觉版本是可运行的启发式版本:
- 每个格口输出 `0/1` 占用状态,不识别单份数量。
- 启动后的前几帧用于建立空柜基线,默认 `3` 帧。
- 如果启动时格口里已经有食品,系统会把它当作基线,后续要等画面变化后才会产生计时事件。
- 真实生产精度后续应接食品检测模型。
可选运行参数可以放在配置文件的 `[runtime]` 中:
```toml
[runtime]
sample_interval_seconds = 5.0
frame_width = 640
frame_height = 360
capture_timeout_seconds = 12.0
baseline_frames = 3
sample_stride_pixels = 8
occupancy_mean_delta = 24.0
occupancy_texture_delta = 18.0
trash_motion_delta = 18.0
trash_motion_cooldown_seconds = 8
diagnostics_path = "logs/runtime_diagnostics.jsonl"
```
## 本地测试
```bash