☰
wvp-GB28181-pro 开源项目安装中的坑
2026/9/29 7:16:58 网站建设 项目流程

wvp:web video platform 即 网页视频平台

开源下载地址:https://github.com/648540858/wvp-GB28181-pro/branches

# 进入到安装目录 /opt/wvp-GB28181-pro-dev/docker/

# 1、先修改环境变量 .env

修改环境变量的三个IP:

# Stream_IP = 流媒体服务监听绑定地址(本机网卡上,程序实际接收 RTP 流的 IP,只能填服务器内网网卡IP)
Stream_IP=192.168.10.32

# SDP_IP = 对外通告地址(写进 SDP 信令里,告诉摄像头「流推到哪个 IP」,NAT场景填写公网映射IP)
SDP_IP=192.168.10.32

# SIP_ShowIP = SIP信令对外暴露地址(填充在SIP Contact、Via头域,摄像头收到信令后,向该地址回复SIP消息、发送心跳注册,NAT场景填写公网映射IP)
SIP_ShowIP=192.168.10.32


GB28181(国标视频联网规范)
整套架构:
**SIP(信令控制) + SDP(媒体协商) + RTP(媒体传输)**
- 信令通道:SIP 协议(核心!不是 RTSP)
- 工作模式:设备 IPC/NVR 主动向平台注册、主动推送视频流

RTSP(实时流协议)
整套架构:
**RTSP(信令控制) + SDP(媒体协商) + RTP(媒体传输)**
- 信令通道:RTSP 协议
- 工作模式:平台主动发起请求,向摄像头**拉取视频流**

RTSP → 普遍用来【拉流】:流向:ZLM → 请求 → IPC(平台主动拉)
RTMP → 普遍用来【推流】:流向:编码器 / OBS → 主动发送 → ZLM(设备主动推)

# 2 /wvp/Dockerfile 镜像修改与执行权限修改

FROM ringcentral/jdk:21.0.9 AS builder 改为: FROM eclipse-temurin:21-jdk AS builder RUN ls && mvn clean package -Dmaven.test.skip=true 改为: RUN ls && mvn clean package -Dmaven.test.skip=true -Dmaven.gitcommitid.skip=true FROM ringcentral/jdk:21.0.9 改为: FROM eclipse-temurin:21-jdk AS stage-1

# 3 nginx 容器的配置与修改:

在服务上执行 openssl req -x509 -nodes -days 3650 -newkey rsa:2048 的完整命令,为nginx 生成一个ssl证书,并配置证书的路径 :

/opt/wvp-GB28181-pro-dev/docker/nginx/templates/nginx.conf.template 配置证书的路径。

/nginx/Dockerfile 安全策略的修改

FROM ubuntu:24.04 AS builder RUN apt-get update && \ apt-get install -y nodejs npm && \ rm -rf /var/lib/apt/lists/* COPY ./web /build WORKDIR /build RUN npm --registry=https://registry.npmmirror.com install RUN npm run build:prod WORKDIR /src/main/resources RUN ls WORKDIR /src/main/resources/static RUN ls FROM nginx:alpine ARG TZ=Asia/Shanghai RUN apk add --no-cache tzdata && \ ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime && \ echo ${TZ} > /etc/timezone # 核心:注释主配置自带的pid行!彻底移除pid定义,不再存在冲突 RUN sed -i 's|pid /run/nginx.pid;|#pid /run/nginx.pid;|' /etc/nginx/nginx.conf COPY --from=builder /src/main/resources/static /opt/dist CMD ["nginx", "-g", "daemon off;"]

# 4 在docker-compose.yml, 要打开nginx容器的权限配置 和 配置 nginx 的 ssl 证书:

polaris-nginx: # 显式指定构建上下文和Dockerfile路径 build: context: .. # 构建上下文的根路径 dockerfile: ./docker/nginx/Dockerfile # 相对于上下文路径的Dockerfile位置 ports: - "${WebHttp:-8080}:8080" - "${WebHttps:-443}:443" depends_on: - polaris-wvp volumes: - ./nginx/templates/:/etc/nginx/templates - ./nginx/certs:/etc/nginx/certs:ro - ./logs/nginx:/var/log/nginx environment: # 流链接的IP Stream_IP: ${Stream_IP} networks: - media-net security_opt: - seccomp:unconfined

为什么一定要配置 ssl 证书,因为服务器上安装了 深信服的拦截软件:

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询