250-camera ingestion + DeepAlert detection · Prepared for Verdun AI · 2026-06-27 · draft for discussion
prepared by
01 Objective
Scale Verdun's existing video-monitoring pipeline from its current single-camera
footprint to a reliable ~250-camera deployment, and integrate DeepAlert as the
AI-detection provider. A scoped MVP — get to production at 250 cameras fast,
and leave the heavier optimization for the eventual ~1,000-camera target.
We extend what's already working. The single-camera GStreamer worker,
the incident-intelligence pipeline (ROI → keyframe → LLM), the API backend, SQS, SSE and S3
are reused as-is. Two things are net-new — a DeepAlert adapter and
fleet provisioning — plus hardening to run 250 cameras unattended.
02 Scope — three workstreams
Workstream B · Phase 1
DeepAlert detection adapter
Submit-based: POST motion clip to /v1.0/analytics, map response into your detection contract
Register DeepAlert as primary detector — only the detection stage is replaced; ROI/keyframe/LLM run unchanged
Stable client-minted job-id → idempotent dedup
Workstream A · Phase 2
Fleet provisioning & registry
DB-driven camera registry — onboard a camera with no deploy
One-container-per-camera on ECS; secure per-camera credential injection
Per-brand integrations — 4–5 major brands (Hanwha already done by Verdun)
Workstream C · Phase 3
Fleet hardening
Exponential backoff on RTSP reconnect
Per-camera health reporting (ONVIF connect / no-motion signals surfaced)
Graceful restart + clean teardown; self-recovery without taking down neighbours
—Latency/SLO optimization (keep the ~10s settle) · differentiated retention
—Auth hardening · talk-down / two-way audio
03 Phasing & milestones
P1 · DeepAlert
P2 · Fleet & Registry
P3 · Hardening
Prod-readiness
W1W2W3W4W5W6
◆ M1 — DeepAlert detection end-to-end on a single camera
◆ M2 — Cameras onboarded via registry; fleet one-container-per-camera
◆ M3 — Unattended 250-camera operation, self-recovery + health
Phase 1 proves the new
detection path on your existing single-camera setup; Phases 2–3 scale it to the fleet.
Who-works-when detail in the companion Resource & Sequencing Plan.
04 Effort & engagement
Phase 1
~10 pd · fixed-scope
Whole MVP
~44 pd · band 36–55
Calendar
~6 weeks
Team
4 LIT + Verdun review
Workstream
Scope
Effort (pd)
B · Phase 1
DeepAlert adapter (+ project ramp)
~10
A · Phase 2
Fleet provisioning + registry + per-brand
~16
C · Phase 3
Hardening (MVP-grade) + cross-cutting
~18
Whole MVP
nominal · band 36–55 until read-access
~44
Engagement model: Phase 1 as a fixed-scope first milestone
(self-contained, low-ambiguity). Phases 2–3 on T&M with a per-phase cap set after a short
read-access pass. Effort is in person-days; commercial terms (rate, schedule) provided separately.
Hanwha integration is already Verdun's; interpretation (ROI→keyframe→LLM) stays with Verdun and is not estimated.
05 Proof — a working prototype, not a slide
We've already built a runnable prototype that mirrors this pipeline in your stack
(Python / FastAPI, one worker per camera): real 4-brand ONVIF parsing and the DeepAlert
submit-adapter, idempotent job-id dedup, retry with a circuit-breaker fallback into a DLQ, fleet orchestration,
and a live operator console — 59 tests green, types clean, distributed tracing end-to-end.
The hard parts of this estimate already work, which is what
lets us quote Phase 1 tightly. A short narrated demo accompanies this document.
06 Ways of working
›Shared scope — Light IT does the heavy lifting; Nick & Tung take selected parts and review all PRs. Exact split to confirm.
›AI-assisted delivery with strict review + QC — fast PRs, real tests, mutual code review.