"Analyzing Streams, Logging Hazards, Dispatching Robots"
ARGUS-BE is the backend logic that connects the physical world (CCTVs, Robots) to the digital world (Dashboard).
It handles real-time video inference, database transactions, and MQTT communication.
The backend processes RTSP video streams in real-time and acts as the decision-making engine.
graph LR
%% Style Definitions
classDef input fill:#6A5ACD,stroke:#333,stroke-width:0px,color:white;
classDef core fill:#4682B4,stroke:#333,stroke-width:0px,color:white;
classDef output fill:#20B2AA,stroke:#333,stroke-width:0px,color:white;
classDef db fill:#FFA500,stroke:#333,stroke-width:0px,color:white;
%% 1. Input
subgraph Input_Layer ["🎥 Input Source"]
CCTV["CCTV / Webcam\n(RTSP Stream)"]
end
%% 2. Server Logic
subgraph Server_Layer ["🧠 Backend Engine"]
Ingest["Stream Ingest"] --> AI["AI Inference\n(YOLOv8 + ResNet)"]
AI --> Decision{"Hazard?"}
Decision -- "Yes" --> Action1["Save Log to DB"]
Decision -- "Yes" --> Action2["MQTT Dispatch Command"]
Decision -- "No" --> Stream["MJPEG Stream Buffer"]
Action1 --> DB[("PostgreSQL\nDatabase")]
end
%% 3. Output
subgraph Output_Layer ["💻 & 🤖 Clients"]
Dashboard["Web Dashboard\n(Live View)"]
Robot["Guard Robot\n(Physical Response)"]
end
%% Connections
CCTV --> Ingest
Stream --> Dashboard
DB -.-> Dashboard
Action2 -.-> Robot
%% Apply Styles
class CCTV input;
class Ingest,AI,Decision,Action1,Action2,Stream core;
class Dashboard,Robot output;
class DB db;