GB28181 平台海量截图方案

Viewed 8

GB28181 平台海量截图方案

版本:v2026.09 | 适用范围:gbhub 视频监控平台


一、功能简介

面向国标设备的海量截图方案,支持万级设备并发采集、毫秒级历史查询、多存储后端、跨级联多级部署。

  • 基于 GB28181-2022 标准 CaptureCmd 指令
  • 支持本地磁盘与 S3 对象存储双模式
  • 历史截图持久归档,游标分页,随时回看

二、一句话价值

只看一张图,却要拉 30 秒视频流——用截图替代拉流,每次从 7.5 MB 降到 250 KB,节省 30 倍公网流量,服务器侧几乎零负载。


三、核心问题

3.1 传统方案:为一张图拉 30 秒流

上级想看下级某个通道的画面:

上级 → 公网 → 下级 ZLM 拉流(ZLM 最短保持 30 秒,2 Mbps)

用户只要一帧画面,却消耗了 30 秒的视频流带宽。

单次公网消耗:7.5 MB

3.2 本方案:只要图片

上级发 CaptureCmd → 下级从本地 ZLM 截图(内网 127.0.0.1,不计公网)→ 下级上传图片(公网 250 KB)

拉流在内网(不计成本),公网只传图片。

单次公网消耗:250 KB

3.3 对比

维度 视频流 截图 节省
传输内容 30 秒视频流 一张图 —
单次公网消耗 7.5 MB 250 KB 30 倍
持续时间 30 秒 一次性突发 —
网络路径 上级 → 下级(跨公网) 下级 → 上级/OSS —

四、带宽成本对比

4.1 公网是唯一成本项

网络 成本 承载
局域网(设备 ↔ ZLM ↔ sip) 几乎免费 拉流、截图
公网 贵 图片出站

4.2 频率放大(1000 路)

采集频率 视频流/天 截图/天 节省
每小时 1 次 180 GB 6 GB 30 倍
每 30 分钟 360 GB 12 GB 30 倍
每 5 分钟 2.16 TB 72 GB 30 倍
每 1 分钟 10.8 TB 360 GB 30 倍

4.3 带宽成本估算(1000 路,每小时 1 张)

项 视频流 截图 差异
持续带宽需求 2 Gbps ~50 Kbps(平均) 三个数量级
峰值带宽需求 2 Gbps 250 KB/s(突发) 只需普通带宽
服务器公网套餐 百兆专线起 5 Mbps 足够 成本差 20 倍
月流量费(按量) 万元级 百元级 视运营商资费

视频流需持续预留带宽,截图只需突发带宽——成本结构完全不同。


五、性能占用对比

5.1 服务器侧资源

1000 路、每小时采集 1 次:

资源 视频流 截图 差异
公网带宽 2 Gbps 持续 突发 250 KB/s 三个数量级
CPU 视频转发 + 解封装 只转发命令 90%+ 降低
内存 每路缓冲 + 连接 只存索引 90%+ 降低
磁盘 I/O 持续写入 只写索引 99%+ 降低
连接数 每路长连接 按需短连接 大幅降低
Redis 内存 会话状态 ~100 字节/条 可忽略

5.2 上级服务器负载

维度 视频流 本地模式 S3 模式
接收流量 2 Gbps 持续 250 KB/次 0
落盘 I/O 高 中 0
磁盘占用 大 中 只存索引
CPU 视频转发 只处理信令 只处理信令

S3 模式下上级几乎零负载。

5.3 存储成本

场景 视频录像(30 天) 截图(30 天) 节省
1000 路 630 TB 180 GB 3500 倍
单路 630 GB 180 MB 3500 倍

5.4 并发能力

场景 服务器侧负载
100 路同时截图 忽略
1000 路同时截图 排队 1 秒消化
100 个历史查询并发 无压力

六、核心优势

6.1 带宽优势

维度 表现
公网消耗 每次从 7.5 MB 降到 250 KB
上级出口 S3 模式零占用;本地模式只接收
可预测 按张计费,不受码率波动影响
无需求时 公网零流量

6.2 性能优势

维度 表现
历史查询 恒定 ~3ms
查询规模 与图片总数无关(10 万张仍 3ms)
服务器 CPU 90%+ 降低
服务器内存 90%+ 降低
磁盘 I/O 99%+ 降低
并发能力 千级设备排队 1 秒消化

6.3 架构优势

优势 说明
标准协议 GB28181-2022 CaptureCmd
零带宽中转 S3 模式图片不经过任何服务器
状态显式 pending / ready 双态,无 404 窗口
多后端兼容 OSS / MinIO / Ceph / AWS S3

6.4 安全优势

层面 措施
传输加密 presign URL 走 HTTPS
短期凭证 presign 有效期 600 秒
零长期密钥下发 下级只拿短期 URL
内部鉴权 X-Internal-Token
业务鉴权 JWT + 细粒度权限
信令加密(可选) GB35114 A 级

6.5 运维优势

维度 表现
无中间件依赖 本地模式零依赖
配置化切换 环境变量控制存储后端
自愈能力 断路器 + 重试 + 降级
索引自动维护 写入即 ZADD,删除即 ZREM
清理自动调度 定时任务 UI 配置

七、技术亮点

7.1 本地 ZLM 截图

下级 sip 与 ZLM 同机(127.0.0.1),截图不占公网带宽。

  • 流已在线:直接抓帧,0 上行消耗
  • 流不在线:内网触发拉流(不计成本),抓帧后上传

7.2 图片直传

  • 本地模式:传上级 sip,上级落盘
  • S3 模式:传对象存储,上级零负担

7.3 Redis ZSet 索引

  • 按时间倒序,翻页恒定 3ms
  • 与图片总数无关
  • 索引内存 ~100 字节/条

7.4 pending / ready 状态机

命令下发时置 pending,上传成功回调翻 ready,前端只显示 ready。

7.5 双清理机制

任务 复杂度 推荐 retention 频率
ZSet 快清 O(过期数量) 30 天 每天
全盘扫兜底 O(全部) 90 天 每周

7.6 跨服务器级联

下级 sip 上传成功后自动回调上级 mgr,上级只收索引,不收图片。


八、性能指标

8.1 单次截图

阶段 耗时
命令下发 ~5ms
presign 调用 ~42ms
下发 CaptureCmd ~40ms
本地 ZLM 截图 < 10ms
上传图片(259KB) ~350ms
索引更新 ~1ms
端到端 ~1 秒

8.2 历史查询

图片数 传统扫盘 本方案
1000 张 ~80ms ~3ms
10000 张 ~500ms ~3ms
100000 张 ~3s ~3ms

九、安全设计

层面 措施
图片上传 HTTPS + 短期 presign URL
内部回调 HTTP 内网 + X-Internal-Token
用户访问 HTTPS + JWT
图片展示 CDN + 回源鉴权
信令加密(可选) GB35114 A 级(SM2/SM3)
删除接口 JWT + 细粒度权限

十、可扩展性

维度 扩展方式
水平扩容 加 sip 实例,ZSet 天然共享
存储扩容 OSS 无限;本地加磁盘 + retention
多后端 环境变量切换
多级级联 每级回调上级 mgr

十一、总结

核心价值

维度 收益
公网带宽 每次从 7.5 MB 降到 250 KB,节省 30 倍
服务器负载 CPU / 内存 / I/O 全面降低 90%+
存储成本 从 630 TB/月降到 180 GB/月,节省 3500 倍
模式灵活 本地模式(上级收图)/ S3 模式(上级零负担)
性能 历史查询恒定 3ms,比传统快 100 倍
安全 presign 短期凭证 + 内部 token + GB35114
稳定 断路器 + 重试 + 降级 + 幂等
标准 遵循 GB28181-2022

适用规模

规模 推荐
小型(< 1000 设备) 单机 + 本地模式
中型(1000~10000 设备) 主备 + S3 模式
大型(> 10000 设备) 级联 + S3 + CDN

一句话总结

只看一张图,却要拉 30 秒流——用截图替代拉流,公网带宽省 30 倍,服务器负载降 90%,存储成本降 3500 倍。


gbhub 团队 | https://gb.automate.org.cn

0 Answers