Files
video-surveillance-portal/.sessions/2026-05-12_162155_video-surveillance-portal.json
2026-05-19 14:53:36 +02:00

73 lines
2.1 KiB
JSON

{
"session_id": "2026-05-12_162155_video-surveillance-portal",
"created": "2026-05-12T16:21:55.265756",
"model": "deepseek-v4-pro",
"project": "video-surveillance-portal",
"status": "in-progress",
"tags": [
"cctv",
"webrtc",
"onvif",
"fastapi",
"anpr",
"twilio",
"telegram"
],
"summary": "Video surveillance portal: 4 Docker containers (nginx, FastAPI, Redis, MediaMTX). ONVIF event polling, multi-channel alerts (Email/SMS/Telegram), ANPR via PlateRecognizer API, phone camera via WebRTC WHIP, live view grid, PTZ control, HTTPS for mobile access.",
"prompts": [],
"key_decisions": [
"Skip local AI (Celeron N4000 too weak) — use camera built-in human detection",
"ONVIF PullPoint subscription for events",
"PlateRecognizer Cloud API instead of local ANPR",
"Phone camera via WebRTC WHIP ingest",
"HTTPS self-signed cert for mobile getUserMedia",
"SQLite instead of PostgreSQL",
"MediaMTX network_mode: host for direct WebRTC UDP"
],
"pending": [
"Test with real ICSee ONVIF camera",
"Configure Twilio credentials",
"Configure SMTP credentials",
"Configure Telegram bot token",
"Configure PlateRecognizer token",
"Test phone camera from Samsung S22 over HTTPS"
],
"files_touched": [
"docker-compose.yml",
"Dockerfile",
"requirements.txt",
"Makefile",
"config/nginx.conf",
"config/mediamtx.yml",
"src/main.py",
"src/config.py",
"src/api/cameras.py",
"src/api/alerts.py",
"src/api/plates.py",
"src/api/streams.py",
"src/onvif_client/events.py",
"src/onvif_client/ptz.py",
"src/onvif_client/snapshot.py",
"src/alerts/dispatcher.py",
"src/alerts/emailer.py",
"src/alerts/sms.py",
"src/alerts/telegram.py",
"src/anpr/plate_client.py",
"src/recording/recorder.py",
"src/db/database.py",
"src/db/models.py",
"frontend/index.html"
],
"docker": {
"containers": [
"vsp-nginx",
"vsp-app",
"vsp-redis",
"vsp-mediamtx"
],
"ports": {
"http": 8081,
"https": 8444
}
}
}