wvp-GB28181-pro视频平台容器化部署指南
一、环境准备
1.1 系统环境要求
在开始部署前,请确保您的系统满足以下条件:
- 操作系统:Linux (推荐Ubuntu 20.04 LTS或CentOS 7以上版本)
- Docker版本:20.10.0及以上
- Docker Compose版本:2.0.0及以上
- 硬件配置:至少2核CPU、4GB内存、50GB可用磁盘空间
建议先执行以下命令检查Docker环境:
▶️ docker --version
▶️ docker-compose --version
若未安装Docker,请参考官方文档进行安装配置。
1.2 项目代码获取
通过Git命令克隆项目代码库:
▶️ git clone https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro.git
▶️ cd wvp-GB28181-pro
二、部署实施
2.1 服务架构解析
wvp-GB28181-pro采用微服务架构设计,各组件协同工作实现完整的视频监控功能。系统数据流向如下:
用户请求 → Nginx → WVP应用 → MySQL/Redis → ZLMediaKit
核心服务组件说明:
| 服务名称 | 功能描述 | 服务端口/协议 | 数据存储 |
|---|---|---|---|
| WVP应用服务 | 国标信令处理、业务逻辑控制 | 18978(HTTP/API)、8116(SIP) | 设备配置、用户数据 |
| ZLMediaKit媒体服务 | 媒体流转发、录像存储 | 5540(RTSP)、6080(HTTP) | 视频流、录像文件 |
| MySQL数据库 | 结构化数据存储 | 3306(TCP) | 设备信息、用户数据、配置参数 |
| Redis缓存 | 会话管理、状态缓存 | 6379(TCP) | 实时会话、临时状态 |
| Nginx代理 | 前端资源服务、API反向代理 | 8080(HTTP) | 静态资源 |
为什么这样配置?采用容器化部署可以实现服务隔离,便于横向扩展,同时通过Docker Compose实现服务编排,简化部署和维护流程。
2.2 配置文件修改
进入docker目录,修改核心配置参数:
▶️ cd docker
需要修改的关键配置文件包括:
点击展开详细配置参数
docker-compose.yml:服务编排文件,定义各容器的关系和资源限制wvp/application-docker.yml:WVP应用配置,包含数据库连接、媒体服务地址等media/config.ini:ZLMediaKit媒体服务配置
核心参数说明:
SIP_HOST:SIP信令服务器IP地址,必须设置为服务器实际IPSTREAM_HOST:媒体流服务器IP地址,与SIP_HOST保持一致spring.datasource.password:数据库密码,生产环境必须修改默认值redis.password:Redis密码,生产环境必须设置
使用文本编辑器修改配置文件:
▶️ vi wvp/application-docker.yml
注意:此处需将SIP_HOST和STREAM_HOST修改为您服务器的实际IP地址,否则设备将无法正常连接。
2.3 容器构建与启动
执行以下命令构建并启动所有服务:
# 构建镜像(首次运行需要下载依赖,耗时较长)
▶️ docker-compose build
# 后台启动服务
▶️ docker-compose up -d
# 查看服务状态
▶️ docker-compose ps
正常情况下,所有服务状态应显示为"Up"。如果有服务未正常启动,可通过以下命令查看日志排查问题:
▶️ docker-compose logs -f [服务名称]
三、功能验证
3.1 服务可用性检查
验证各服务是否正常运行:
-
WVP应用服务:
▶️ curl http://localhost:18978/api/version预期返回系统版本信息JSON。
-
媒体服务:
▶️ curl http://localhost:6080/index/api/stat预期返回媒体服务状态信息。
-
Web界面访问: 打开浏览器访问
http://服务器IP:8080,使用默认账号密码admin/admin登录系统。
3.2 设备接入测试
登录系统后,添加测试设备验证功能:
- 进入"设备管理" → "国标设备"页面
- 点击"添加"按钮,填写设备信息:
- 设备编号:34020000001380000001(示例)
- 设备名称:测试摄像头
- IP地址:设备实际IP
- 端口:5060
- 用户名/密码:设备的国标认证信息
- 点击"保存"并等待设备注册上线
注意:设备注册可能需要1-2分钟时间,若长时间未上线,请检查网络连接和设备配置。
3.3 视频功能验证
设备上线后,测试核心视频功能:
- 实时预览:点击设备后的"预览"按钮,查看实时视频流
- 云台控制:在预览界面测试PTZ控制功能
- 录像回放:配置录像计划后,测试历史录像回放功能
四、高级配置
4.1 级联部署设置
wvp-GB28181-pro支持多级平台级联,实现大规模视频监控网络:
- 进入"国标级联" → "上级平台"页面
- 点击"添加"按钮,配置上级平台信息:
- 平台名称:上级平台标识
- SIP服务器地址:上级平台IP
- SIP服务器端口:通常为5060
- 平台编码:上级平台分配的编码
- 认证密码:级联认证密码
- 保存配置并检查连接状态
为什么需要级联部署?在大型监控系统中,级联部署可以实现区域管理、负载分担和容灾备份,提高系统可靠性和扩展性。
4.2 录像存储配置
系统支持本地存储和云存储两种录像方式:
-
本地存储配置:
- 修改ZLMediaKit配置文件,设置录像路径
- 确保磁盘空间充足,建议使用独立磁盘存储录像
-
云存储配置:
- 进入系统"云录像"页面
- 配置云存储参数(如S3兼容存储)
- 设置录像上传策略
点击展开录像存储优化建议
- 定期清理过期录像,建议保留30天内的录像
- 配置录像文件分片,避免单个文件过大
- 重要录像配置多副本存储,提高数据安全性
4.3 故障诊断流程
当系统出现问题时,可按照以下流程排查:
问题现象 → 查看服务状态 → 检查日志 → 定位问题组件 → 分析原因 → 解决问题
常见问题处理:
-
设备注册失败:
- 检查网络连通性:
ping 设备IP - 检查SIP端口是否开放:
telnet 设备IP 5060 - 核对设备编码和密码
- 检查网络连通性:
-
视频无法播放:
- 检查媒体服务状态
- 查看ZLMediaKit日志,确认是否收到流
- 验证防火墙配置,确保媒体端口开放
-
录像文件缺失:
- 检查磁盘空间:
df -h - 查看录像计划配置
- 检查ZLMediaKit录像配置
- 检查磁盘空间:
五、生产环境部署 checklist
部署到生产环境前,请确认以下事项:
- [ ] 修改默认管理员密码
- [ ] 配置HTTPS加密传输
- [ ] 设置数据库定期备份
- [ ] 配置防火墙,只开放必要端口
- [ ] 设置服务器时间同步(NTP)
- [ ] 调整JVM内存参数,优化性能
- [ ] 配置监控告警系统
- [ ] 制定应急预案和回滚方案
六、性能调优方向
根据实际使用场景,可从以下方面进行性能优化:
-
数据库优化:
- 配置合适的连接池大小
- 对频繁查询的表添加索引
- 考虑主从分离,提高读性能
-
媒体服务优化:
- 根据并发量调整ZLMediaKit的worker数量
- 配置合适的缓存大小
- 考虑使用GPU加速视频编码
-
系统资源优化:
- 为各容器配置合理的CPU和内存限制
- 使用性能监控工具识别瓶颈
- 考虑使用分布式部署,分担负载
通过以上步骤,您已完成wvp-GB28181-pro视频平台的容器化部署。该方案具有环境隔离、快速部署、易于维护和扩展性强等优势,能够满足各类视频监控场景需求。建议在实际应用中根据具体需求进行定制化配置和优化。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust076- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
Hy3-previewHy3 preview 是由腾讯混元团队研发的2950亿参数混合专家(Mixture-of-Experts, MoE)模型,包含210亿激活参数和38亿MTP层参数。Hy3 preview是在我们重构的基础设施上训练的首款模型,也是目前发布的性能最强的模型。该模型在复杂推理、指令遵循、上下文学习、代码生成及智能体任务等方面均实现了显著提升。Python00





