v0.0.3 新增用户支持, 以及文件存储 v0.0.4 支持文件存储使用 Minio 对象存储数据库
[摄像头] | SIP 注册 (5060/UDP or TCP) v [RIP/SIP 服务器] | 发起 INVITE -> 分配 RTP 端口 (如 10000-20000/UDP) v [ZLMediaKit] | RTP 推流 (UDP 端口池) v (内部转封装为 RTSP/RTMP/FLV/WebRTC) | HTTP/HTTPS (80/443) 反向代理 v [Nginx] | 提供 Web 前端 / API / WebSocket v [浏览器/Web客户端] ---------------------------------------- [物联网终端/传感器] | MQTT (8883/TLS 或 1883/明文) v [MQTT Broker] | 内部 API 调用 v [后端服务/数据库/控制模块]
摄像头 → SIP 服务器:先注册(通常是 5060 端口),获取分配的 RTP 端口。
摄像头 → ZLMediaKit:摄像头通过 RTP 推流(通常 UDP,端口池 10000-20000)。
ZLMediaKit → Nginx → Web 前端:ZLM 把 RTP 转封装成 HTTP-FLV/HLS/WebRTC,Nginx 做统一反代,对外只暴露 80/443。
IoT 设备 → MQTT Broker:通过 MQTT(建议 8883 加密),上传采集数据或接收控制指令。
【公网端口】 【内网端口】 --------------------------------------------------------------------------------- 80 / 443 (HTTP/HTTPS) ---> Nginx ---> 后端 API (FastAPI, WebSocket) 5060 (SIP 注册/控制) ---> SIP服务器 ---> 内部控制模块 / 调度逻辑 10000-20000 (RTP池) ---> ZLMediaKit ---> RTP输入 -> 转封装为RTSP/FLV/WebRTC 8883 (MQTT TLS) ---> MQTT Broker ---> 后端服务 / 数据库 (1883 如必须, 明文) 【只需内网,不对公网】 ---------------------------------------------------------------------------------