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:
@@ -0,0 +1,41 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>录像事件回放</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
||||
</head>
|
||||
<body>
|
||||
<h1>录像事件回放</h1>
|
||||
|
||||
<div class="filters">
|
||||
<label>事件类型
|
||||
<select id="event-type-filter">
|
||||
<option value="">全部</option>
|
||||
<option value="person_presence">人物出现</option>
|
||||
<option value="fall">摔倒</option>
|
||||
<option value="activity">活动</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>日期
|
||||
<input type="date" id="date-filter">
|
||||
</label>
|
||||
<span id="stats"></span>
|
||||
</div>
|
||||
|
||||
<div class="cache-panel">
|
||||
<span id="cache-info"></span>
|
||||
<button id="clear-cache-btn">清空转码缓存</button>
|
||||
</div>
|
||||
|
||||
<div class="main">
|
||||
<div class="player-panel">
|
||||
<video id="player" controls></video>
|
||||
<div id="player-info"></div>
|
||||
</div>
|
||||
<div id="event-list" class="event-list"></div>
|
||||
</div>
|
||||
|
||||
<script src="{{ url_for('static', filename='app.js') }}"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user