Phase 1 (Foundation): project skeleton, TOML config + Pydantic validation, MQTT bus wrapper, SQLite schema (9 tables), Click CLI, process supervisor. Phase 2 (Camera): RTSP capture via OpenCV, MOG2 motion detection with configurable sensitivity/zones, adaptive FPS recording (2fps idle/30fps motion) via FFmpeg subprocess, HLS live streaming, pre-motion ring buffer. Phase 3 (Web UI): Flask + Bootstrap 5 dark theme, 6 blueprints, Jinja2 templates (dashboard, kiosk 2x2 grid, events, sensors, recordings, settings), PWA with service worker + Web Push, full admin settings UI with config persistence. Remote Access: WireGuard tunnel configs, nginx reverse proxy with HLS caching + rate limiting, bandwidth-optimized remote HLS stream (426x240 @ 500kbps), DO droplet setup script, certbot TLS. 29 tests passing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
14 lines
223 B
Plaintext
14 lines
223 B
Plaintext
opencv-python-headless>=4.9.0
|
|
paho-mqtt>=2.1.0
|
|
flask>=3.0.0
|
|
gunicorn>=22.0.0
|
|
sqlalchemy>=2.0.0
|
|
alembic>=1.13.0
|
|
pydantic>=2.7.0
|
|
pillow>=10.3.0
|
|
cryptography>=42.0.0
|
|
click>=8.1.7
|
|
pynut2>=0.1.0
|
|
pywebpush>=2.0.0
|
|
py-vapid>=1.9.0
|