How reallynotbaka/ibvap works
IBVAP ingests camera, mobile, or recorded video, analyzes frames for objects, faces, and plates, tracks targets, and evaluates perimeter rules. Alerts and forensic evidence are exposed through the API and operator dashboard, with optional C2 relay documented in the README. The graph combines sampled pipeline and application wiring with README-described capabilities; several route and subsystem internals were not sampled, so their detailed call relationships are omitted.
Main entry points: pipeline.py Per-camera pipeline · stream_worker.py Stream worker · routes Product API routes · outbox.py Event dispatch
Components 23
Video ingestion
- Stream worker
src/ibvap/services/stream_worker.py - Media gateway
src/ibvap/core/media_gateway.py
Analytics
- Per-camera pipeline
src/ibvap/core/pipeline.py - Object detection
src/ibvap/core/detector.py - Face biometrics
src/ibvap/core/face.py - Target tracking
src/ibvap/core/tracker.py - Plate recognition
src/ibvap/core/anpr.py - OCR matching
src/ibvap/core/ocr_worker.py - Fence rules
src/ibvap/core/zone_engine.py - Watchlist matching
src/ibvap/core/watchlist.py - BEV projection
src/ibvap/core/homography.py - Model management
src/ibvap/core/model_manager.py
Events and evidence
- Evidence capture
src/ibvap/core/evidence.py - Event dispatch
src/ibvap/events/outbox.py - Event persistence
src/ibvap/db.py
API and dashboard
- FastAPI application
src/ibvap/api/app.py - Product API routes
src/ibvap/api/routes - Dashboard shell
frontend/src/App.tsx - Operator pages
frontend/src/pages - API client
frontend/src/lib/api.ts
Other components
- Video sources
- C2 webhook
- Operator
Connections 24
- Video sources → Stream worker: provides video
- Stream worker → Media gateway: opens streams
- Stream worker → Per-camera pipeline: submits frames
- Per-camera pipeline → Object detection: detects objects
- Per-camera pipeline → Face biometrics: detects faces
- Per-camera pipeline → Target tracking: tracks targets
- Stream worker → Plate recognition: requests plate analysis
- Stream worker → OCR matching: matches OCR results
- Per-camera pipeline → Fence rules: checks intrusion
- Per-camera pipeline → Watchlist matching: checks identities
- Per-camera pipeline → Evidence capture: attaches evidence
- Per-camera pipeline → Event dispatch: writes events
- Event dispatch → Event persistence: persists events
- Event dispatch → C2 webhook: relays events
- Stream worker → BEV projection: projects positions
- Model management → Object detection: supplies model
- Operator → Dashboard shell: uses dashboard
- Dashboard shell → Operator pages: routes views
- Dashboard shell → API client: loads camera data
- API client → FastAPI application: requests data
- FastAPI application → Product API routes: dispatches requests
- Product API routes → Event persistence: reads and writes
- Product API routes → Stream worker: controls cameras
- Product API routes → Evidence capture: serves evidence