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
+70
View File
@@ -0,0 +1,70 @@
absl-py==2.5.0
annotated-types==0.8.0
anyio==4.14.2
blinker==1.9.0
certifi==2026.7.22
cffi==2.1.0
charset-normalizer==3.4.9
click==8.4.2
colorama==0.4.6
contourpy==1.3.3
cycler==0.12.1
filelock==3.32.0
Flask==3.1.3
flatbuffers==25.12.19
fonttools==4.63.0
frida==16.6.6
frida-tools==12.5.1
fsspec==2026.6.0
h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
idna==3.18
itsdangerous==2.2.0
Jinja2==3.1.6
kiwisolver==1.5.0
lap==0.5.13
MarkupSafe==3.0.3
matplotlib==3.11.1
mediapipe==0.10.35
mpmath==1.3.0
networkx==3.6.1
numpy==1.26.4
nvidia-ml-py==13.610.43
ollama==0.6.2
opencv-contrib-python==4.11.0.86
opencv-python==4.10.0.84
packaging==26.2
paho-mqtt==2.1.0
pillow==12.3.0
polars==1.43.0
polars-runtime-32==1.43.0
prompt_toolkit==3.0.52
psutil==7.2.2
pycparser==3.0
pycryptodome==3.23.0
pydantic==2.13.4
pydantic_core==2.46.4
pyezvizapi==1.0.5.0
Pygments==2.20.0
pyparsing==3.3.2
pytesseract==0.3.13
python-dateutil==2.9.0.post0
PyYAML==6.0.3
requests==2.34.2
setuptools==83.0.0
six==1.17.0
sounddevice==0.5.5
sympy==1.14.0
torch==2.13.0
torchvision==0.28.0
tqdm==4.69.1
typing-inspection==0.4.2
typing_extensions==4.16.0
ultralytics==8.4.105
ultralytics-thop==2.0.20
urllib3==2.7.0
wcwidth==0.8.2
websockets==13.1
Werkzeug==3.1.8
xmltodict==1.0.4