logo
0
0
Login

更新日志

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 如必须, 明文) 【只需内网,不对公网】 ---------------------------------------------------------------------------------
  • FastAPI 应用端口 (如 8000) (仅容器间访问, 走 Nginx 反代)
  • WebSocket 内部通信 (如 3000) (仅容器内调用)
  • ZLMediaKit API (如 8080/HTTP) (仅管理/调试用,不暴露公网)
  • 数据库 (如 3306 MySQL / 6379 Redis) (仅后端容器访问)

About

RustSaber的物联网数字孪生开源解决方案

Language
TypeScript85.3%
Python14.2%
CSS0.1%
Dockerfile0.1%
Others0.3%