# IPCam Orange Pi Dashboard — Architecture ## Thành phần - IP Cameras (RTSP, H264) - MediaMTX (proxy WebRTC + recorder + Control API) - Backend FastAPI - MediaMTX API wrapper - Scheduler ghi hình theo lịch - Recording index API + serve file video - Lưu cấu hình (camera list + schedule) - Frontend React - Live grid (WebRTC) - Playback (file list + HTML5 video) - Settings (camera + schedule) ## Luồng dữ liệu - Live: Camera → MediaMTX → WebRTC → Browser - Playback: Camera → MediaMTX → fMP4 trên đĩa → Backend serve → Browser ## API hợp đồng (mức tối thiểu) - `GET /api/health` - `GET /api/paths` (trạng thái stream từ MediaMTX) - `GET /api/config` (camera + schedule) - `POST /api/recording` (bật/tắt ghi hình ngay) - `POST /api/scheduler/enabled` (bật/tắt scheduler) - `POST /api/scheduler/schedule` (cập nhật lịch) - `GET /api/recordings?camera=cam1&date=YYYY-MM-DD` - `GET /videos//.fmp4`