ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

从“三个品牌的摄像头吵架“说起:用WVP-GB28181-Pro搭建免费开源视频监控平台的完整手记

从“三个品牌的摄像头吵架“说起:用WVP-GB28181-Pro搭建免费开源视频监控平台的完整手记 从三个品牌的摄像头吵架说起用WVP-GB28181-Pro搭建免费开源视频监控平台的完整手记【免费下载链接】wvp-GB28181-pro基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面支持NAT穿透支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联支持将普通摄像机/直播流/直播推流转国标共享到国标平台。项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro如果你正在为多品牌摄像头无法统一管理而发愁那么基于GB28181国标协议的开源视频监控平台 WVP-GB28181-Pro 可能是你一直在找的答案。它开箱即用自带管理后台能把海康、大华、宇视等不同厂家的设备收进同一个界面本文就用一位物业工程师的真实经历带你完整走一遍这条统一监控之路。一、故事的开头老张的机房里有四台显示器老张是某产业园的运维工程师他的工位旁边摆着四台显示器分别盯着不同厂家的摄像头客户端——海康一个、大华一个、还有两个杂牌。每当领导问园区南门那个摄像头是不是坏了他都要切四个界面逐个找。这不是老张一个人的烦恼。几乎所有同时用过两个以上品牌监控设备的人都体会过这种品牌壁垒带来的割裂感每家的客户端界面不一样操作逻辑不一样录像还得去各自的软件里翻。老张决定找一个能一锅端的方案。他的需求很简单能把不同品牌的摄像头、NVR都接入同一个平台有一个像样的网页界面不用装客户端最好免费、开源出了问题能看代码以后园区二期扩建还能继续加设备、加服务器后来他在网上搜GB28181 视频监控平台找到了 wvp-GB28181-pro 这个开源项目故事的走向就此改变。二、先认识一下它到底是个什么东西用一句话概括WVP-GB28181-Pro 是一个实现了国标 GB/T 28181-2016 协议的网络视频平台相当于把信令调度和视频流转发两件事都包办了。拆开来说它由两部分协作完成WVP 主程序Java 编写负责国标信令、设备管理、录像计划、报警订阅、权限控制这些大脑工作媒体服务ZLMediaKit负责视频流的接收、转发、拉流推流这些血管工作。为什么它能让不同品牌握手因为国标协议就是摄像头行业里的普通话——只要设备支持国标现在海康、大华、宇视的主流设备基本都支持WVP 就能用同一套语言跟它对话不需要厂商 SDK也不需要写私有协议的适配代码。它适合谁用中小园区、学校、商超的 IT 人员想自己搭一套监控系统集成商想在项目里快速交付一套带管理界面的平台开发者需要一套可以改代码、可以对接第三方系统的底座它有哪几个拿得出手的特点自带完整 Web 管理界面登录就能用不用二次开发支持 NAT 穿透内网设备也能纳管支持国标级联能跟上级监管平台或同级平台互通支持把普通摄像头、直播流、推流内容转成国标共享出去三、上线之路四个里程碑从零到能登录老张在测试服务器上把平台跑了起来整个过程像闯关一样一共四道关卡。他用的是一台 Ubuntu 服务器、4 核 8G 内存足够测试用。里程碑 1准备好环境与代码你需要三样东西JDK8 或更高版本、MySQL项目也支持 PostgreSQL、金仓等、以及媒体服务 ZLMediaKit。克隆代码git clone https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro人话解释把项目源码下载到本地后面的编译和配置都基于这份代码。里程碑 2初始化数据库创建数据库并导入对应版本的初始化脚本CREATE DATABASE wvp DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE wvp; SOURCE 数据库/2.7.4/初始化-mysql-2.7.4.sql;人话解释给平台建一个账本初始化脚本会一次性建好所有表结构。数据库目录下有多个版本的脚本选与你版本一致的那个。里程碑 3改配置就改两个地方配置文件在src/main/resources/application.yml。老张主要动了两个区块数据库连接——告诉平台账本在哪spring: datasource: url: jdbc:mysql://localhost:3306/wvp username: root password: 你的密码SIP 服务参数——这是国标协议的身份证sip: ip: 192.168.1.100 # 服务器的对外 IP port: 5060 # 国标信令端口 domain: 3402000000 # 平台域编号20 位数字人话解释domain相当于平台在国标网络里的身份证号之后设备接入时要填它。端口 5060 是国标默认端口注意在防火墙里放行 UDP 和 TCP。这里有个小细节如果 wvp 和 ZLMediaKit 不在同一台机器还要在配置文件里把媒体服务的地址和密钥SECRET改一致否则两边对不上暗号视频流就传不起来。里程碑 4编译、启动、登录mvn clean package -Dmaven.test.skiptrue java -jar target/wvp-pro-*.jar人话解释第一行把源码打包成可执行 jar 包第二行启动服务。看到日志里出现启动成功字样就说明过了关。打开浏览器访问http://你的IP:8080默认账号密码都是admin。老张登录后的第一个动作是把默认密码改掉——这是新手最常忽略的安全动作。图登录后台后看到的国标设备列表这是整个平台的总控台入口。四、把设备接进来从看到到录到再到警觉平台跑起来只是开始真正的价值是把摄像头一个个请进来。老张按看到 → 录到 → 警觉这条能力线把功能摸了个遍。第一层能力让画面看得到接入设备前需要在设备端做两件事把设备的国标编号填好并把SIP 服务器指向 wvp 的 IP 和 5060 端口。之后设备会自动向平台注册——老张在后台看到设备状态从离线变在线的那一刻成就感满满。接入后能做什么实时预览浏览器直接看不用装插件H.264/H.265 都支持多画面分屏1、4、9、16 宫格随便切园区 16 路画面一屏收下云台控制PTZ 上下左右、变焦、预置位一个面板全搞定码流切换主码流看细节子码流省带宽一个小细节如果设备注册成功但通道数为 0多半是设备端没把通道推送给平台点一下列表里的刷新通道按钮等进度条走完即可。第二层能力让录像存得下、翻得出老张发现录像有两条线设备录像直接查询 NVR/IPC 自己存的录像回放、下载都行不占服务器空间云端录像平台把视频流实时录到服务器本地好处是设备挂了你还有底。想开启云端录像只需在配置里打开开关user-settings: record-sip: true # 国标点播时同时录像 record-push-live: true # 推流设备也录像录像默认存在 ZLM 的 record 目录下保存天数、存储路径都可以改。老张给重点区域设了 30 天滚动保留磁盘压力可控。图云端录像管理界面录像文件按时间排列回放和下载都在这里操作。第三层能力让异常传得出、查得到监控系统的另一半价值在警觉。WVP 支持订阅设备的报警事件报警信息会实时推送到前端页面也可以联动获取快照、调取录像。历史报警记录可查方便事后追溯。老张的用法是给周界摄像头开启移动侦测报警一旦有人闯入平台里立刻能看到报警记录配合回放几分钟就能还原现场。五、进阶玩法让系统变大、变快园区二期要扩 100 路摄像头老张担心一台服务器扛不住。这时候两个进阶功能派上了用场。玩法一国标级联把平台串起来国标级联是 GB/T 28181 标准里最实用的特性之一不同平台之间可以互通。WVP 支持向上级级联——把本地平台接入上级监管平台或者跟同级平台共享资源。配置流程也不复杂在国标级联里添加对方平台信息名称、编号、IP、端口然后在目录树里勾选要共享的通道保存后对方就能看到你共享出去的设备了。图国标级联的配置界面平台之间的握手都在这里完成。老张用这个功能实现了两个园区之间的资源共享A 园区的平台可以把部分通道共享给 B 园区的平台看B 园区不用重复买设备。玩法二媒体节点集群让视频跑得更快WVP 支持一主多从的媒体架构一个 WVP 挂多个 ZLMediaKit 节点系统会根据各节点的负载情况自动把新的视频流分配给最闲的节点。这样既扩展了并发路数又保证了某个节点挂了还有备份。图媒体节点配置表单填好 IP、端口和 SECRET 即可把一个新节点纳入集群。节点管理页面里可以新增节点、测试连通性还能看到每个节点的负载情况。老张的体会是加节点就像给系统加血管视频流会自动分流不用停机。图节点管理列表所有媒体节点一目了然。六、真实落地一套配置三种场景全打通老张用这套平台解决了三个实际场景这里分享他的完整配置思路场景一园区周界监控100 路 IPC 直连海康、大华、宇视各几十路统一接入后按楼栋分组管理周界通道开启云端录像 移动侦测报警分屏监控 16 宫格全天值守。场景二与上级监管平台对接国标级联园区属于某个监管辖区通过国标级联把指定通道共享给上级平台对方无需任何额外开发即可看到画面。场景三直播流转国标拉流代理园区要对外直播活动用拉流代理把 RTSP 直播流引入再转成国标共享出去。普通摄像机、直播流、推流内容都能转国标给其他平台用。这套方案跑了一个季度老张给的数据是120 路设备接入率 100%服务器 CPU 峰值不到 60%云端录像回放零故障。更重要的是四台显示器撤掉了三台——他终于不用在多个客户端之间来回切了。七、避坑指南老张踩过的坑你绕开走新手最容易在哪几个地方翻车老张把自己和社区里常见的问题整理成了一份避坑清单坑 1设备一直显示离线先别怀疑平台。按顺序查三件事设备与服务器网络通不通ping一下、设备端 SIP 服务器 IP/端口填没填对、5060 端口在防火墙里放没放行。90% 的离线都是这三件事之一。坑 2视频点播转圈不播放多半是媒体服务没配置对。检查 ZLMediaKit 是否在运行、wvp 与 ZLM 的 SECRET 是否一致、收流端口范围是否放行。测试环境建议先关闭防火墙排除干扰。坑 3通道数量为 0设备注册上了但没推送通道。点刷新通道按钮等进度条走完如果还是 0可能是设备端没勾选向平台推送通道。坑 4播放地址打不开点播成功后在播放页点更多地址可以看到所有协议HTTP-FLV、WebRTC、RTMP、RTSP 等的地址能不能播取决于浏览器支持和网络环境。比如 WebRTC 需要放行对应的 UDP 端口。坑 5字符乱码设备名称、通道名称出现乱码时把设备的字符集从默认的 GB2312 改成 UTF-8 通常能解决——GB2312 收录的汉字不全UTF-8 更全。记住这条排查顺序口诀先网络、再端口、后配置、最后看日志。日志是定位问题的最好帮手。八、进阶定制把它变成你的平台用顺了之后你可能会想改改界面、接接业务。WVP 在这方面也留足了空间接 API 做业务联动平台提供 RESTful API支持创建 API Key 后调用。比如你可以写一段脚本每天定时拉取设备在线状态生成巡检报表或者对接门禁系统——有人刷卡时自动调取对应摄像头的实时画面。改前端界面前端基于 Vue.js 构建源码在web/src/目录下。改主题色去web/src/styles/variables.scss加功能模块在web/src/views/下新建组件。如果不想动源码管理后台本身也支持角色权限、用户管理等配置。监听事件做告警增强平台的事件机制是开放的你可以监听设备报警、设备上下线等事件在事件回调里接自己的逻辑——比如发企业微信通知、短信告警实现监控IM的联动。九、写在最后从今天开始搭一套自己的监控平台回顾老张的这段经历其实没什么高深的东西一个开源项目一台普通服务器加上愿意动手的心。他收获的不只是统一管理所有摄像头更是一个可以随业务成长的底座——想加设备就加设备想扩并发就加节点想对接业务就写 API。如果你也正被多品牌设备管理困扰不妨给自己半天时间拉代码git clone https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro跑起来按上面的四个里程碑先让后台能登录接一台设备从一台摄像机开始体验国标握手的瞬间看文档项目doc/目录里有完整的功能说明数据库/目录里有各版本脚本遇到问题也别慌先翻避坑清单再查日志大部分问题都有前人踩过的痕迹。搭好之后你收获的将是一套完全属于自己、可以持续演进的智能安防系统——而这正是开源的意义所在。 最后的小建议正式上线前先在测试环境把设备接入、录像、报警、级联全流程验证一遍确认符合业务需求后再切换生产。祝你的监控平台一次上线稳定运行。【免费下载链接】wvp-GB28181-pro基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面支持NAT穿透支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联支持将普通摄像机/直播流/直播推流转国标共享到国标平台。项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表