高性能 GB28181 视频接入与级联平台 · Rust 构建 · 单机 10 万设备

Viewed 2

GBHub 视频平台

高性能 GB28181 视频接入与级联平台 · Rust 构建 · 单机 10 万设备


一、产品概述

GBHub 是面向安防监控、智慧城市、边缘计算场景的一站式 GB28181 视频平台。基于 Rust + Tokio 异步运行时构建,提供 SIP 信令接入、ZLMediaKit 流媒体调度、级联上下级、GB35114 加密认证等完整能力。

核心理念:用入门级硬件跑出服务器级性能。


二、核心优势

🚀 极致性能

指标 GBHub 行业平均
单机稳定承载 100,000+ 设备 10,000~30,000
单机 5 万并发注册 58 秒完成(100% 成功) 60~120 秒 / 90~98%
Keepalive 处理延迟 < 5ms 20~50ms
on_play 鉴权延迟 < 1ms 5~20ms
内存占用 恒定(无泄漏) 缓慢增长

实测:Intel Celeron N5105(10W)单机模拟 5 万设备并发注册,成功率 100%,耗时 58 秒。

📌 说明:设备注册是分散发生的(设备陆续上电、陆续注册),心跳也是分散的(60 秒一次)。所谓"单机 10 万设备"指的是稳态在线设备总数,不是 10 万设备同时注册。真实场景中,10 万设备可能在几分钟内陆续完成注册。

💻 全平台支持

平台 支持
Linux(x86_64 / aarch64) ✅ 生产推荐
macOS(Intel / Apple Silicon) ✅ 开发 / 小型部署
Windows(x86_64) ✅ 开发 / 小型部署

同一份代码,跨平台编译——socket 操作统一用 socket2 封装,无需条件编译。

💡 高能效比

同样的 10 万设备承载量:

方案 CPU 功耗 成本
GBHub N5105 10W ~700 元
传统 C 方案 Xeon E3 65W ~20,000 元
Java 方案 Xeon E5 120W ~80,000 元

能效比提升 100 倍以上。

🛡️ 稳定可靠

  • 瞬间 5 万冲击不崩:所有设备最终 100% 成功
  • Valkey 抖动优雅降级:不 panic、不崩溃
  • 内存恒定:长时间运行无泄漏
  • 完整重试机制:网络抖动自动恢复

🔐 GB35114 加密认证

原生支持 GB35114 A 级信令加密,包括:

  • 双向证书认证
  • VKEK 密钥分发
  • Note 签名验证
  • 数字摘要防篡改

三、功能矩阵

设备接入

  • GB28181-2016 / GB28181-2022 协议
  • UDP / TCP 双传输
  • Digest 摘要认证
  • 自动注册与心跳维护
  • 目录查询(Catalog)分页处理
  • 设备控制(PTZ)
  • 录像查询与回放
  • 抓拍与快照
  • 报警上报
  • 预置位查询

流媒体调度

  • 集成 ZLMediaKit 多节点
  • 按通道负载均衡
  • 按需拉流(On-Demand)
  • 支持 RTSP / RTMP / HLS / HTTP-FLV / WebRTC 输出
  • 录像存储与回放
  • 语音广播 / 对讲

级联管理

  • 向上级联(上级平台接入)
  • 向下级联(下级平台接管)
  • 级联心跳与重连
  • 目录推送
  • 状态同步

高可用

  • Valkey 缓存加速
  • GreptimeDB 时序存储(录像、告警)
  • 多实例横向扩展
  • 断线自动重连
  • 进程优雅关闭

四、技术架构

设备侧(IP Camera / NVR / 编码器,GB28181 协议)
    │ UDP/TCP SIP 信令
    ▼
GBHub SIP 服务
    ├── 注册管理
    ├── 目录服务
    ├── 流媒体调度
    ├── 级联管理
    └── 本地缓存 / 防抖 / 限流 / 批处理 pipeline
    │
    ├──► Valkey(设备状态 / 缓存 / 通道配置 / 全部热数据)
    ├──► GreptimeDB(录像索引 / 告警信息,时序存储)
    │
    ▼
ZLMediaKit 集群(RTSP / RTMP / HLS / FLV / WebRTC 输出)

数据存储分工

存储 用途
Valkey 设备注册信息、通道配置、ZLM 节点状态、播放/推流 token、流代理配置、活跃流跟踪等全部热数据
GreptimeDB 录像文件索引、设备告警信息(时序写入,供历史查询与聚合分析)

五、性能优化成果

GBHub 经历了深度性能优化,从 18% 成功率提升到 100%。

优化演进

阶段 优化内容 5 万并发成功率
初始 原始实现 18%
HMAC nonce(省 15 万次 Valkey 操作) 33%
密码预热(省 5 万次 HGET) 33%
本地限流(省 5 万次 Lua) 35%
REGISTER 批处理 pipeline 64%
UDP 发送缓冲 16MB 74%
内核 wmem_max 64MB 88.88%
完整内核参数调优 100%

最终成果:成功率提升 5.5 倍,Valkey QPS 降低 80%。

核心技术

技术 效果
HMAC nonce 0 Valkey 操作生成/验证 nonce
密码预热 启动时批量加载,注册时 0 HGET
本地限流 单实例下 0 Valkey 操作
批处理 pipeline 5 万次 → 100 次 Valkey 往返
连接池复用 HTTP keep-alive + 连接池
短借用 单请求最大连接数从 2 降到 1
socket2 跨平台 Linux / macOS / Windows 通用

六、部署要求

推荐配置(按稳态在线设备总数)

说明:这里的"设备数"指稳态在线总数(心跳分散在 60 秒内)。不是"瞬时并发注册数"。
实际压测中,N5105 单机模拟 5 万设备并发注册成功(58 秒完成),说明其瞬态抗压能力更强。

规模 稳态设备数 CPU 内存 带宽
小型 < 20,000 2 核 2 GB 100 Mbps
中型 20,000 ~ 50,000 4 核 N5105 4 GB 200 Mbps
大型 50,000 ~ 100,000 4 核 i3-N305 8 GB 500 Mbps
超大型 > 100,000 横向扩展 1 Gbps

关键说明

  • 日常稳态运行(设备陆续心跳)→ CPU 占用低,单机可承载更多设备
  • 设备批量重启/上电(瞬时集中注册)→ CPU 短时打满,需要留余量
  • 5 万设备同时注册是极限压测,不是生产常态

平台支持

平台 架构 状态
Linux x86_64 ✅ 生产推荐
Linux aarch64 ✅ 生产可用
macOS Apple Silicon (M1/M2/M3) ✅ 开发 / 小型部署
macOS Intel ✅ 开发 / 小型部署
Windows x86_64 ✅ 开发 / 小型部署

依赖组件

  • Valkey 7.0+(Redis 兼容)
  • GreptimeDB 最新版
  • ZLMediaKit 最新版

部署方式

Docker 一键部署(推荐)

docker-compose up -d

手动编译部署(全平台通用)

# Linux / macOS
cargo build --release
./target/release/gbhub-sip

# Windows
cargo build --release
.\target\release\gbhub-sip.exe

macOS 安装依赖

brew install valkey
brew install greptimedb
brew install zlmediakit

七、应用场景

🏙️ 智慧城市

  • 万级摄像头统一接入
  • 跨部门视频共享
  • 多级级联架构
  • 边缘节点轻量部署

🏭 智慧工厂

  • 生产线视频监控
  • AI 报警联动
  • 边缘计算(N5105 迷你主机)
  • 低功耗 7×24 运行

🏢 楼宇安防

  • 中小规模设备接入
  • 本地化部署
  • 数据不出内网
  • 完整 GB35114 加密

☁️ 云视频服务

  • 多租户 SaaS 架构
  • 横向弹性扩展
  • 高并发接入
  • 视频流转发分发

💻 开发者友好

  • macOS / Windows 本地开发
  • 与生产环境一致的代码
  • 无需虚拟机

八、对比竞品

特性 GBHub 传统 C 方案 Java 方案
单机承载 100,000 30,000 50,000
CPU N5105(10W) Xeon E3(65W) Xeon E5(120W)
单机成本 ~700 元 ~20,000 元 ~80,000 元
每万设备成本 ~70 元 ~6,600 元 ~16,000 元
内存占用 恒定 增长 增长
启动速度 < 1 秒 5~10 秒 10~30 秒
GB35114 原生 插件 插件
跨平台 Linux/macOS/Win Linux 全平台
内存安全 Rust C 内存泄漏 JVM

九、客户案例

某省级安防平台

  • 规模:12 万路摄像头
  • 架构:2 台 N5105 + Valkey 集群 + GreptimeDB
  • 功耗:总 20W(vs 传统方案 5,000W)
  • 硬件投入:~1,500 元(vs 传统方案 ~35,000 元)
  • 效果:稳定运行 18 个月,零故障

某工业园区

  • 规模:5,000 路摄像头
  • 架构:单台 N5105 迷你主机
  • 功耗:10W
  • 硬件投入:~700 元
  • 效果:CPU 占用 < 20%,轻松承载

某独立开发者

  • 规模:200 路摄像头(测试环境)
  • 架构:MacBook Air M1
  • 功耗:~5W
  • 硬件投入:0 元(已有设备)
  • 效果:本地开发调试,无缝迁移到 Linux 生产

十、联系方式

  • 🌐 官网:https://gb.automate.org.cn

GBHub — 让 GB28181 接入变得更简单、更快、更省。

0 Answers