1. 部署目标与适用场景
部署目标
私有化验收的核心目标在于通过一套标准化的“检查-安装-配置-验证-排错”流程,确保 AI 视频分析平台在客户私有局域网/IDC 机房内实现:
服务稳定性:视频流接入不卡顿、不花屏,系统 7×24 小时无 OOM 或崩溃。
算力利用率优化:硬解码与 GPU/NPU 推理能力完全激活,延迟控制在 300ms 以内。
业务闭环:算法正确识别事件,并通过结构化 Webhook 实时推送至上层业务系统。
资料标准化:输出完整的环境配置记录、验收测试报告及运维交接手册。
适用场景
边缘计算网关部署(1~8 路视频流)。
企业私有 IDC 机房或局域网服务器部署(16~64 路并发视频分析)。
智慧园区、智慧工地、厂区安全监管等对数据隐私要求高、需全内网隔离的交付项目。
2. 环境准备清单
部署前必须对软硬件资源进行逐项排查与核验,确保符合基线要求:
| 资源类别 | 16路并发基线配置 | 32~64路并发基线配置 | 检查方法 / 命令 |
| CPU | Intel Xeon / AMD 8核 16线程+ | Intel Xeon / AMD 16核 32线程+ | lscpu |
| 内存 (RAM) | 32 GB DDR4 | 64 GB ~ 128 GB DDR4 | free -h |
| 系统磁盘 | 256 GB NVMe SSD(系统与数据库) | 512 GB NVMe SSD | df -h/lsblk |
| 存储磁盘 | 1 TB SATA/SAS HDD(抓拍图与日志) | 4 TB+ SATA/SAS HDD | df -h |
| GPU / NPU | NVIDIA RTX 4090 / A2 / T4 (16G) | NVIDIA L4 / A10 / 昇腾 310B | nvidia-smi |
| 操作系统 | Ubuntu 22.04 LTS / CentOS 7.9 | Ubuntu 22.04 LTS / Rocky Linux 9 | cat /etc/os-release |
| 容器环境 | Docker 24.0+ & Docker Compose v2 | Docker 24.0+ & Docker Compose v2 | docker --version |
| GPU 驱动 | NVIDIA Driver | NVIDIA Driver | nvidia-smi |
| 网络环境 | 千兆内网 (VLAN 隔离,1000Mbps) | 万兆内网 (10Gbps 网卡) | iperf3/ping |
| 摄像头通信 | 支持 RTSP/GB28181,H.264/H.265 | 支持 RTSP/GB28181,H.264/H.265 | ffprobe rtsp://... |
3. 系统架构说明
AI 视频分析平台私有化部署采用了微服务容器化架构,各服务模块关系如下图所示:
+-----------------------------------------------------------------------+ | 前端摄像机 / NVR (IPC) | +-----------------------------------------------------------------------+ | RTSP / GB28181 视频流 v +-----------------------------------------------------------------------+ | 流媒体服务 (Media Gateway) | | (负责 RTSP 拉流、解复用、零拷贝转码) | +-----------------------------------------------------------------------+ | Raw Video Frames (NVMM/Shared Memory) v +-----------------------------------------------------------------------+ | 算法推理服务 (AI Inference Engine) | | (基于 TensorRT/Triton,包含 NVDEC 解码与模型推理) | +-----------------------------------------------------------------------+ | 结构化数据 (JSON) | 特征向量 (Vector) v v +------------------------+ +-----------------------------+ | 告警服务 (Alarm App) | | 数据库 / 缓存 | | (去重、过滤、Webhook) | | (MySQL, Redis, Milvus) | +------------------------+ +-----------------------------+ | v HTTP Webhook / WebSocket +-----------------------------------------------------------------------+ | 第三方业务平台 / 运维监控系统 | +-----------------------------------------------------------------------+平台 Web/API 服务:提供可视化管理后台、摄像头管理、算法任务调度及配置下发。
流媒体服务:负责视频流的解复用与分发,支持 RTSP/RTMP/WebRTC 预览。
算法推理服务:绑定 GPU/NPU 算力,完成硬件解码(NVDEC)、目标检测、多目标追踪与特征提取。
数据库与缓存:MySQL 存储业务配置与历史告警,Redis 记录任务状态与缓存,Milvus 存储人脸/车辆特征向量。
告警服务:对算法推理结果进行业务逻辑过滤(如跨线统计、徘徊时间计算),并异步推送到第三方平台。
4. 六阶段部署步骤
严格遵循“准备-安装-配置-启动-验证-上线”六步走,确保部署过程可追溯。
阶段一:环境准备与驱动依赖安装
检查 Linux 内核版本,关闭 Swap 交换分区以提高推理性能:
Bashsudo swapoff -a安装 NVIDIA 驱动及
Bashnvidia-container-toolkit,使 Docker 容器能够挂载 GPU 资源:sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker执行验证,确保 Docker 内部可识别 GPU:
Bashdocker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi
阶段二:部署文件解压与镜像加载
将私有化交付离线包上传至
/opt/ai-platform目录并解压。批量导入平台镜像包:
Bashdocker load -i ai-platform-images-v3.2.0.tar.gz
阶段三:修改全局配置文件
编辑
.env环境配置文件,设置数据库密码、宿主机 IP 及算力分配卡号。在
configs/stream-service.yaml中配置网络网卡名称与流媒体 RTSP 端口。
阶段四:启动服务编排
使用 Docker Compose 一键拉起基础服务与核心应用:
Bashdocker compose -f docker-compose.yml up -d检查各容器运行状态:
Bashdocker compose ps
(截图建议:在此处贴出docker compose ps运行结果终端截图,展示mysql,redis,media-server,ai-engine,web-api等容器状态均为Up (healthy))
阶段五:系统级功能验证
登录 Web UI 页面(
http://<SERVER_IP>:8080),录入测试摄像机 RTSP 地址。绑定“人流量统计”或“区域入侵检测”算法任务,调取画面预览与告警抓拍。
阶段六:上线验收与运维交接
执行 24 小时压力测试,导出 CPU/GPU/内存 资源消耗曲线图。
整理《私有化部署配置表》、《验收测试报告》与《运维交接手册》,向客户交付运维账号与备份策略。
5. 核心配置项参数表
交付过程中,需要重点核对并记录在《部署文档》中的核心配置参数如下:
| 服务模块 | 配置项路径 / 环境变量 | 默认值 / 推荐值 | 配置说明 |
| Web 平台 | HTTP_PORT | 8080 | 平台前端 UI 与 API 访问端口 |
| 流媒体服务 | RTSP_PORT/RTMP_PORT | 554/1935 | 视频流汇聚与分发端口 |
| 算法引擎 | CUDA_VISIBLE_DEVICES | 0(或0,1) | 指定算法推理使用的 GPU 显卡序号 |
| 模型路径 | MODEL_DIR | /opt/ai-platform/models | 存放 TensorRT/ONNX 模型文件的挂载目录 |
| 并发任务 | MAX_STREAM_CAPACITY | 16 | 单 GPU 显卡允许加载的最大并发视频路数 |
| 日志路径 | LOG_BASE_DIR | /var/log/ai-platform | 宿主机日志挂载路径,需配置 logrotate 滚动清理 |
| 告警回调 | ALARM_WEBHOOK_URL | [http://10.](http://10.)x.x.x:9090/api/alarm | 告警结构化 JSON 推送的目标地址 |
| 数据库 | MYSQL_HOST/PORT | 127.0.0.1/3306 | 系统主数据库连接配置 |
6. 五维验证方法
部署完成后,必须按照以下 5 个维度逐一进行验收验证,并在《验收清单》上签字确认:
页面能打开:访问
http://<SERVER_IP>:8080,确认前端页面加载正常,无 500/502 报错,RBAC 权限账号登录无误。视频能预览:在【通道管理】中添加摄像头 RTSP 流,点击预览,视频画面在 2 秒内加载完成,无明显卡顿、花屏或绿屏,播放延时
。
算法能告警:触发设定的规则(例如测试人员穿过人流量统计线或划定区域),查看平台【告警中心】,确认 1 秒内产生抓拍记录并正确标记目标 BBox。
日志无异常:执行
docker compose logs -f --tail=100 ai-engine,观察推理日志,确认无CUDA out of memory、Decode Frame Failure或Connection Refused等 Error 级别日志。回调成功:在第三方接收服务端检查日志,确认收到格式合规的 HTTP 200 响应,且 JSON 报文包含
event_id,timestamp,snapshot_url及结构化属性。
7. 常见问题排查与排错表
在项目交付现场,运维工程师可根据下表快速定位并解决排错问题:
| 现象 | 可能原因 | 检查方法 | 处理建议 |
| 1. 容器服务起不来 | 1. 数据库未初始化完成 2. 端口被宿主机其他服务占用 | 1. 2. | 1. 调整 2. 修改 |
| 2. 容器内 GPU 不可见 | 未安装nvidia-container-toolkit或 docker-compose 缺少 gpus 声明 | 执行docker run --gpus all ... nvidia-smi校验 | 安装 toolkit 并配置 Compose 文件中的deploy.resources.reservations.devices |
| 3. 视频流拉取失败/黑屏 | 1. 网络不通或防火墙拦截 554 端口 2. RTSP 密码包含特殊字符未转义 | 1. 2. 查看流媒体服务日志 | 1. 开放防火墙 TCP 554 端口 2. 在 RTSP URL 中对 |
| 4. 现场触发动作但不产生告警 | 1. 算法未绑定指定 ROI 区域 2. 检测置信度阈值设置过高 | 查看配置界面的划线 Mask 和算法 Confidence 阈值 | 重新绘制检测 ROI 区域,将置信度阈值调至 0.50~0.55 测试 |
| 5. 视频流延时越来越高(积压) | 1. 启用了软解码耗尽 CPU 2. RTSP 解码缓冲区过大 | 1. 执行 2. 查看流媒体配置 | 1. 开启 NVDEC 硬件解码加速 2. 设置 RTSP 为 |
| 6. CPU 占用率接近 100% | 视频分辨率过高(4K),全帧率(30fps)推理耗尽编解码能力 | 查看 ffmpeg / 解码进程 CPU 消耗 | 在 IPC 端将辅码流调整为 1080P/15fps,或开启平台抽帧策略(Skip Frame = 1) |
| 7. 告警 Webhook 回调失败 | 目标服务器网络不通,或接收端处理接口超时( | 在平台服务器上执行curl -X POST <CALLBACK_URL> | 引导客户将接收端接口改为异步队列处理,增加超时容错 |
| 8. 磁盘空间快速被填满 | 日志文件或抓拍图片未配置自动清理策略 | 执行du -sh /var/log/*及df -h | 启用平台内置的日志滚动清理规则与定时文件删除 Cron 任务 |
8. 升级与回滚建议
在私有化环境进行系统版本迭代或补丁更新时,请务必执行以下防护性操作:
升级策略
数据备份:升级前必须对 MySQL 数据库与配置文件目录进行快照备份:
Bashmysqldump -u root -p ai_platform > /opt/backup/ai_platform_$(date +%Y%m%m).sql cp -r /opt/ai-platform/configs /opt/backup/configs_bak平滑替换:使用带版本 Tag 的镜像进行增量更新(避免使用
Bashlatest标签),拉起新容器前先停止旧容器:docker compose down && docker compose up -d
回滚策略
版本镜像回滚:若新版本服务启动异常且无法立即解决,修改
docker-compose.yml中的镜像 Tag 为上一个稳定版本(如v3.1.5)。数据恢复:若涉及到数据库 Schema 变更且不可逆,重新导入备份 SQL 文件:
Bashmysql -u root -p ai_platform < /opt/backup/ai_platform_XXXXXX.sql验证复原:重启旧版本容器组,确认平台预览与告警业务恢复正常。
9. 延伸阅读与结尾CTA
私有化交付的成功不仅取决于算法模型的精度,更依赖于一套标准化、工程化的部署实施与运维保障体系。在大型私有云或复杂边缘节点的交付场景中,还涉及到多节点集群调度、高可用HA架构以及异构算力(GPU/NPU)的混合部署。如需获取完整的私有化部署手册、标准验收测试用例表单以及更多软硬件兼容性适配清单,可查阅相关 AI 视频分析平台的核心交付文档,获取针对您项目现场的定制化接入清单、部署方案、技术演示及专家级现场交付支持。