feat: 新增视频分析流水线、Web界面、孤儿清理工具;修复健壮性问题

- 新增 analysis/ 模块:MOG2活动检测、YOLO人物跟踪、MediaPipe摔倒检测、Ollama活动打标、缩略图抽取
- 新增 webapp/:Flask事件浏览界面,按需HEVC→H264转码缓存
- 新增 analyze.py:7阶段状态机流水线(scan→backfill→motion→person→fall→activity→thumbnail)
- 新增 cleanup_orphans.py:清理文件已删除的数据库孤儿记录
- 修复:motion/person/activity三阶段加单视频异常兜底,避免批次中断
- 修复:ollama_client加健康检查和3次重试,num_ctx从8192降到2048
- 修复:transcode_cache加fcntl文件锁,防止并发转码同一视频
- 修复:SQLite开WAL模式+busy_timeout,支持读写并发
- 修复:sync.py ffmpeg路径改为shutil.which查找,删除automate.py死代码PYTHON
- 修复:thumbnail失败加3次重试上限,避免无限重试损坏文件
- 新增:requirements.lock锁定版本、README文档
- 更新:.gitignore排除.playwright-mcp、截图、备份文件
This commit is contained in:
yuming
2026-09-18 15:52:49 +08:00
parent 203cca42a2
commit b3608f534e
31 changed files with 2792 additions and 27 deletions
+24 -1
View File
@@ -1,11 +1,21 @@
# 敏感配置和缓存
config.py
/config.py
token_cache.json
sync.log
# 下载的录像(每天几百 MB)
recordings/
# 本地视频分析产出(运行时生成)
analysis.db
analysis.db.bak.*
thumbnails/
transcoded/
# 模型权重(体积大,首次运行自动下载)
analysis/models/
yolo11n.pt
# Python
__pycache__/
*.pyc
@@ -20,3 +30,16 @@ __pycache__/
# 临时
*.tmp
/tmp/
# 重复视频检测报告(运行时生成)
dedup_report.txt
# Playwright MCP 运行日志/快照
.playwright-mcp/
# 开发截图
webapp-check.png
webapp-index.png
# Frida
*.frida