1.7 KiB
1.7 KiB
video-surveillance-portal — Session Handoff
Last Session: 2026-05-12_162235_video-surveillance-portal Model: deepseek-v4-pro Status: in-progress Updated: 2026-05-12T16:22:35.809084
Summary
Video surveillance portal: 4 Docker containers. ONVIF event polling, multi-channel alerts, ANPR via PlateRecognizer API, phone camera via WebRTC WHIP, live view grid, PTZ control, HTTPS for mobile.
Key Decisions
- Skip local AI (Celeron N4000 too weak)
- ONVIF PullPoint for events
- PlateRecognizer Cloud API
- Phone via WebRTC WHIP
- HTTPS self-signed cert
- SQLite instead of PostgreSQL
- MediaMTX host network
Pending Tasks
- Test with real ICSee ONVIF camera
- Configure Twilio/SMTP/Telegram
- Configure PlateRecognizer token
- Test phone from Samsung S22
Files Touched
docker-compose.ymlDockerfilerequirements.txtMakefileconfig/nginx.confconfig/mediamtx.ymlsrc/main.pysrc/config.pysrc/api/cameras.pysrc/api/alerts.pysrc/api/plates.pysrc/api/streams.pysrc/onvif_client/events.pysrc/onvif_client/ptz.pysrc/onvif_client/snapshot.pysrc/alerts/dispatcher.pysrc/alerts/emailer.pysrc/alerts/sms.pysrc/alerts/telegram.pysrc/anpr/plate_client.pysrc/recording/recorder.pysrc/db/database.pysrc/db/models.pyfrontend/index.html
Docker
{
"containers": [
"vsp-nginx",
"vsp-app",
"vsp-redis",
"vsp-mediamtx"
],
"ports": {
"http": 8081,
"https": 8444
}
}
Auto-generated from session 2026-05-12_162235_video-surveillance-portal. Run python3 .codex/save-session.py --handoff video-surveillance-portal to regenerate.