Operations 8 min read

Step-by-Step Guide to Deploy wvp‑GB28181 Pro with ZLMediaKit for GB28181 Video Streaming

This tutorial walks through the complete process of setting up the wvp‑GB28181 Pro platform—including environment preparation, front‑end compilation, back‑end packaging, configuration tweaks, and test execution—to enable GB28181‑compliant video streaming using SIP and ZLMediaKit.

Dunmao Tech Hub
Dunmao Tech Hub
Dunmao Tech Hub
Step-by-Step Guide to Deploy wvp‑GB28181 Pro with ZLMediaKit for GB28181 Video Streaming

Introduction

To integrate GB/T 28181‑compliant devices (e.g., Dahua cameras) using a TCP passive push‑stream, the common approach is to deploy the wvp + ZLMediaKit stack. This guide records the deployment steps to avoid forgetting details later.

Keyword Explanation

GB/28181 = SIP service + video‑stream service. The GB/T 28181 standard, issued by the Ministry of Public Security, defines how video surveillance equipment from different manufacturers interoperate, enabling unified management and viewing.

SIP (Session Initiation Protocol) is the signaling protocol that establishes, modifies, and terminates real‑time communication sessions; it does not carry the media itself. In the GB28181 stack, the SIP service is implemented by wvp, while ZLMediaKit handles media forwarding.

Deployment Environment

Because wvp is built with Java and Node.js, install the required runtime and tools first:

yum install -y java-1.8.0-openjdk.x86_64 git maven nodejs npm

Deployment Process

1️⃣ Compile Front‑end

Clone the latest source from Gitee and build the web assets:

git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git
cd wvp-GB28181-pro/web/
npm --registry=https://registry.npmmirror.com install
npm run build:prod

After a successful build, the compiled static files appear under wvp-GB28181-pro/src/main/resources/static.

Front‑end build success screenshot
Front‑end build success screenshot

2️⃣ Compile wvp Service

Package the back‑end JAR:

cd wvp-GB28181-pro
mvn package

The resulting JAR and configuration files are placed in wvp-GB28181-pro/target.

Back‑end build output screenshot
Back‑end build output screenshot

3️⃣ Modify Configuration File

Edit application-dev.yml to match your environment. Key sections include:

server:
  port: 18080

sip:
  port: 15060
  domain: 3402000000
  id: 34020000002000000001
  password: 123456
  alarm: false

media:
  id: uH08vs0Ipp7iwmw5
  ip: 192.168.0.24
  http-port: 9092
  secret: sYlI8iic4mN7E1NIijQ5ErlUULAH5gDo
  rtp:
    enable: true
    port-range: 40000,45000
    send-port-range: 50000,55000
sip

: configuration of the wvp SIP service (shared with upstream platforms). media: ZLMediaKit settings (avoid weak passwords for public deployments). server: management UI port (set to 18080).

4️⃣ Test Run

Start the service (ensure no port conflicts):

java -jar wvp-pro-{version}.jar --spring.profiles.active=dev

Access the management console at http://<em>server‑IP</em>:18080. The default credentials are admin. After login you can view online media nodes.

Management console screenshot
Management console screenshot
Media node status screenshot
Media node status screenshot
Because my deployment is complete, the online status appears green; if ZLMediaKit is not running, the node will be gray (see my other article on ZLMediaKit deployment).

⚠️ Note: After successful GB/T 28181 integration, the "GB28181 Device" menu should list channel information, but playback may still be unavailable.

Conclusion

When building wvp, always compile the front‑end first, then package the JAR. Configure ZLMediaKit with a reachable IP (public or private as needed) and avoid weak SIP passwords to ensure a secure and functional GB28181 video service.

deploymentNode.jsSIPGB28181ZLMediaKitwvp
Dunmao Tech Hub
Written by

Dunmao Tech Hub

Sharing selected technical articles synced from CSDN. Follow us on CSDN: Dunmao.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.