How ninaddeo11/gp---camera-control- works
Sentinel Grid federates heterogeneous CCTV sources into a unified, jurisdiction-scoped video analytics and operations platform. Its main workflow discovers camera streams, normalizes them for viewing and inference, detects and tracks vehicles, recognizes plates, then persists events for trace queries and watchlist alerts. Operators use dashboard views for live video, registry GIS, tracing, watchlists, audit, and evidentiary exports. The README documents these product capabilities; sampled excerpts substantiate key orchestration, event-consumer, auth-client, and audit behavior, while some subsystem wiring is documented rather than sampled.
Main entry points: layout.tsx Operations Dashboard · main.py API And Consumers · database.py PostGIS Database · pipeline.py Camera Worker
Components 25
Camera Ingestion
- Gateway Adapter
services/gateway-adapter/app.py - Stream Manager
services/ingestion-config/stream_manager.py - Stream Relay
Video Analytics
- Inference Coordinator
services/inference/main.py - Camera Worker
services/inference/pipeline.py - Plate OCR
services/inference/ocr_engine.py
API And Data
- Event Streams
- API And Consumers
services/api/main.py - Vehicle Tracking
services/api/api/tracking.py - Watchlist Matching
services/api/services/watchlist_engine.py - Live Alerts
services/api/api/alerts.py - PostGIS Database
services/api/database.py
Access And Evidence
- Jurisdiction Access
services/api/services/jurisdiction_service.py - Audit Chain
services/api/services/audit_service.py - Evidence Export
services/api/services/evidence_export.py
Operator Dashboard
- Web API Client
apps/web/lib/api-client.ts - Operations Dashboard
apps/web/app/(dashboard)/layout.tsx - Video Wall
apps/web/app/(dashboard)/video-wall/page.tsx - Camera Registry
apps/web/app/(dashboard)/registry/page.tsx - Vehicle Trace
apps/web/app/(dashboard)/trace/page.tsx - Watchlist Console
apps/web/app/(dashboard)/watchlist/page.tsx - Audit Log
apps/web/app/(dashboard)/audit/page.tsx
Other components
- Police Operator
- Camera Sources
- Camera Gateway
Connections 30
- Police Operator → Operations Dashboard: uses
- Camera Sources → Camera Gateway: provides streams
- Camera Gateway → Gateway Adapter: catalogue access
- Gateway Adapter → Stream Manager: serves catalogue
- Stream Manager → Stream Relay: configures streams
- Inference Coordinator → Stream Manager: polls catalogue
- Inference Coordinator → Camera Worker: starts workers
- Camera Worker → Stream Relay: reads video
- Camera Worker → Plate OCR: recognizes plates
- Camera Worker → Event Streams: publishes events
- Event Streams → API And Consumers: feeds consumers
- API And Consumers → Vehicle Tracking: mounts routes
- API And Consumers → Watchlist Matching: starts consumer
- Vehicle Tracking → PostGIS Database: queries events
- Watchlist Matching → PostGIS Database: stores matches
- Watchlist Matching → Event Streams: publishes matches
- API And Consumers → Jurisdiction Access: authorizes requests
- Jurisdiction Access → PostGIS Database: resolves scope
- Audit Chain → PostGIS Database: appends hash chain
- Evidence Export → PostGIS Database: reads records
- Operations Dashboard → Web API Client: requests data
- Web API Client → API And Consumers: calls API
- Operations Dashboard → Video Wall: shows live video
- Operations Dashboard → Camera Registry: shows GIS registry
- Operations Dashboard → Vehicle Trace: shows routes
- Operations Dashboard → Watchlist Console: shows alerts
- Operations Dashboard → Audit Log: shows audit
- Video Wall → Stream Relay: plays WHEP
- Watchlist Matching → Live Alerts: broadcasts alerts
- Audit Log → Web API Client: loads audit