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:
@@ -1,9 +1,12 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
萤石CB60 SD卡录像每日同步脚本
|
||||
每天凌晨运行,下载前24小时内的所有SD卡录像到本地目录。
|
||||
[已废弃,保留作为备选] 萤石CB60 SD卡录像每日同步脚本(开放平台 API 方案)
|
||||
|
||||
当前主力下载方案是 automate.py(ADB 自动化模拟器内萤石 App 批量下载)。
|
||||
本脚本走萤石开放平台 API(open.ys7.com),需要先在开放平台关闭设备码流加密,
|
||||
且 FLV 回放流拼接的录像不含精确时间戳,因此被 ADB 方案取代。保留仅作备选参考。
|
||||
"""
|
||||
import json, os, re, subprocess, logging
|
||||
import json, os, re, shutil, subprocess, logging
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
import requests
|
||||
@@ -15,8 +18,8 @@ OUTPUT_DIR = Path(OUTPUT_DIR)
|
||||
TOKEN_CACHE = Path(TOKEN_CACHE)
|
||||
LOG_FILE = Path("./sync.log")
|
||||
|
||||
# NAS上部署时改为 "ffmpeg"(Docker镜像内)
|
||||
FFMPEG = "/opt/homebrew/bin/ffmpeg"
|
||||
# ffmpeg 从 PATH 查找;NAS/Docker 部署时确保 ffmpeg 在 PATH 里即可,无需改代码
|
||||
FFMPEG = shutil.which("ffmpeg") or "ffmpeg"
|
||||
|
||||
BASE = "https://open.ys7.com/api/lapp"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user