Mac wvp-GB28181-pro 本地开发部署环境记录

发布时间:2026/7/3 12:33:45

Mac wvp-GB28181-pro 本地开发部署环境记录 Mac 本地开发部署环境记录本文档记录在 Mac 本机运行wvp-GB28181-pro的环境配置。当前目标是MySQL 使用 Mac 本机已有服务。Redis 使用 Docker 容器。ZLMediaKit 使用 Mac 本地编译运行的MediaServer。WVP 后端使用 IDEA 启动。前端使用本机 Node/NPM 启动。1. 项目信息项目值项目目录/Users/lizhenglee/Documents/swzj/sp/wvp-GB28181-pro后端版本2.7.4后端 Java 版本21后端 Profiledev后端端口18080前端目录/Users/lizhenglee/Documents/swzj/sp/wvp-GB28181-pro/web前端端口95282. Java 和 IDEA后端需要 JDK 21。IDEA 项目 JDK 使用ms-21当前项目pom.xml中要求java.version21/java.versionmaven.compiler.source21/maven.compiler.sourcemaven.compiler.target21/maven.compiler.targetIDEA 后端启动配置Run/Debug Configurations Type: Application Main class: com.genersoft.iot.vmp.VManageBootstrap JDK: 21 Working directory: /Users/lizhenglee/Documents/swzj/sp/wvp-GB28181-pro Active profiles: dev如果没有Active profiles输入框可以在 VM options 中配置-Dspring.profiles.activedev当前src/main/resources/application.yml已配置spring:profiles:active:dev3. MySQL 本地配置本机 MySQL 使用已有服务。当前后端配置spring:datasource:url:jdbc:mysql://127.0.0.1:3306/wvp2?useUnicodetruecharacterEncodingUTF8rewriteBatchedStatementstrueserverTimezonePRCuseSSLfalseallowMultiQueriestrueallowPublicKeyRetrievaltrueusername:rootpassword:12345678数据库名wvp2全新初始化数据库cd/Users/lizhenglee/Documents/swzj/sp/wvp-GB28181-pro mysql-uroot-p-eDROP DATABASE IF EXISTS wvp2;mysql-uroot-p-eCREATE DATABASE wvp2 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;mysql-uroot-pwvp2数据库/2.7.4/初始化-mysql-2.7.4.sql注意全新库只执行数据库/2.7.4/初始化-mysql-2.7.4.sql。不要对全新库执行数据库/2.7.4/更新-mysql-2.7.4.sql。wvp_device_mobile_position在 2.7.4 中已经改为wvp_mobile_position。检查默认用户mysql-uroot-pwvp2-eselect id, username, password from wvp_user;默认 WVP 登录账号账号admin 密码admin4. Redis Docker 配置Redis 使用 Docker 容器容器名local-redis首次创建dockerrun-d\--namelocal-redis\-p6379:6379\redis:7\redis-server--requirepassroot以后启动dockerstart local-redis查看状态dockerps-a--filternamelocal-redis验证 Redisdockerexec-itlocal-redis redis-cli-arootping正常返回PONG当前后端 Redis 配置spring:data:redis:host:127.0.0.1port:6379database:6password:roottimeout:100005. ZLMediaKit 本地配置ZLMediaKit 使用 Mac 本地编译的MediaServer。启动路径示例/Users/lizhenglee/CLionProjects/ZLMediaKit/release/darwin/Debug/MediaServer启动后需要确认监听端口HTTP: 80 RTSP: 554 RTMP: 1935 RTP: 10000WVP 当前媒体配置media:id:your_server_idip:127.0.0.1http-port:80secret:qCJU77A6LJOeldE56QU5rUwbgreGLH0ysdp-ip:192.168.0.12stream-ip:192.168.0.12rtp:enable:trueport-range:40000,45000send-port-range:50000,55000说明media.ip127.0.0.1表示 WVP 本机访问 ZLM HTTP API。media.http-port80必须和 ZLM 实际 HTTP 端口一致。media.id必须和 ZLM 的general.mediaServerId一致。当前 ZLM hook 上报的是your_server_id。media.secret必须和 ZLM 配置中的api.secret/hook.admin_params对应。sdp-ip和stream-ip必须填写摄像机能访问到的 Mac 局域网 IP当前是192.168.0.12。如果 WVP 日志出现[ZLM HOOK] 此zlm未接入 your_server_id说明 WVP 的media.id和 ZLM 的general.mediaServerId不一致。如果 WVP 日志出现Failed to connect to /127.0.0.1:80说明 WVP 连接不到本地 ZLM先确认 ZLM 已启动并监听 80lsof-nP-iTCP:80-sTCP:LISTEN6. WVP SIP 配置当前 SIP 配置sip:port:8116domain:4101050000id:41010500002000000001password:12345678alarm:false设备接入 WVP 时常用参数SIP服务器IP192.168.0.12 SIP服务器端口8116 SIP服务器ID41010500002000000001 SIP服务器域4101050000 认证密码12345678 传输协议UDP测试设备国标编号示例44010200491320000001如果设备已经在数据库wvp_device中存在并且该设备记录有单独密码则设备密码会优先于sip.password。检查设备密码mysql-uroot-pwvp2-eselect id, device_id, password from wvp_device where device_id44010200491320000001;7. WVP 后端启动顺序推荐启动顺序1. 启动 MySQL 2. 启动 Redis Docker 容器 3. 启动 ZLMediaKit MediaServer 4. 在 IDEA 中启动 WVP 后端 5. 启动前端Redisdockerstart local-redisdockerexec-itlocal-redis redis-cli-arootpingZLMediaKit/Users/lizhenglee/CLionProjects/ZLMediaKit/release/darwin/Debug/MediaServerIDEA 启动Main class: com.genersoft.iot.vmp.VManageBootstrap Active profile: dev启动成功后后端地址http://localhost:18080如果 SIP 端口被占用lsof-nP-iTCP:8116-sTCP:LISTENlsof-nP-iUDP:8116结束占用进程killPID必要时kill-9PID8. 前端 Node 环境前端是 Vue 2 Vue CLI 4vue:2.6.10,vue/cli-service:4.4.4推荐 NodeNode.js 16.20.2 npm 8.19.4使用 nvmnvm use16.20.2node-vnpm-v如果 Apple Silicon 下安装依赖遇到deasync/node-gyp编译错误可以使用 Rosetta x64 shellsoftwareupdate --install-rosetta --agree-to-license arch-x86_64zshexportNVM_ARCHx64 nvminstall16.20.2 nvm use16.20.2node-pprocess.arch期望输出x64安装依赖cd/Users/lizhenglee/Documents/swzj/sp/wvp-GB28181-pro/webrm-rfnode_modules package-lock.jsonnpminstall--legacy-peer-deps本地启动前端cd/Users/lizhenglee/Documents/swzj/sp/wvp-GB28181-pro/web nvm use16.20.2npmrun dev访问http://localhost:9528生产打包npmrun build:prod构建产物web/dist9. 点播问题排查如果设备注册成功但点播失败重点看 WVP 日志中的收流地址。错误示例收流地址127.0.0.1:xxxxx rtpServer收流超时原因127.0.0.1 对摄像机来说是摄像机自己不是 Mac。正确情况收流地址192.168.0.12:xxxxx需要确认media.sdp-ip是 Mac 局域网 IP。media.stream-ip是 Mac 局域网 IP。摄像机能访问 Mac。Mac 防火墙没有拦截 ZLM/WVP。ZLM 的 RTP 端口范围可用。当前配置media:sdp-ip:192.168.0.12stream-ip:192.168.0.12查看 Mac 局域网 IPifconfig|grepinet 192.168如果 Mac IP 变化需要同步修改application-dev.yml中的media:sdp-ip:新的Mac局域网IPstream-ip:新的Mac局域网IP10. 常用检查命令检查 Redisdockerps-a--filternamelocal-redisdockerexec-itlocal-redis redis-cli-arootping检查 MySQLmysql-uroot-p-eshow databases;mysql-uroot-pwvp2-eshow tables;检查后端端口lsof-nP-iTCP:18080-sTCP:LISTEN检查 SIP 端口lsof-nP-iTCP:8116-sTCP:LISTENlsof-nP-iUDP:8116检查 ZLM HTTP 端口lsof-nP-iTCP:80-sTCP:LISTEN检查 Mac 局域网 IPifconfig|grepinet 192.16811. 当前关键账号和密码类型值WVP 登录账号adminWVP 登录密码adminMySQL 数据库wvp2MySQL 用户rootMySQL 密码12345678Redis 密码rootSIP 认证密码12345678ZLM secretqCJU77A6LJOeldE56QU5rUwbgreGLH0y12. 当前本地启动清单每次本地开发前按顺序确认# 1. Redisdockerstart local-redisdockerexec-itlocal-redis redis-cli-arootping# 2. ZLM/Users/lizhenglee/CLionProjects/ZLMediaKit/release/darwin/Debug/MediaServer# 3. IDEA 启动 WVP# Main class: com.genersoft.iot.vmp.VManageBootstrap# Profile: dev# 4. 前端cd/Users/lizhenglee/Documents/swzj/sp/wvp-GB28181-pro/web nvm use16.20.2npmrun dev

相关新闻