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.
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 npmDeployment 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:prodAfter a successful build, the compiled static files appear under wvp-GB28181-pro/src/main/resources/static.
2️⃣ Compile wvp Service
Package the back‑end JAR:
cd wvp-GB28181-pro
mvn packageThe resulting JAR and configuration files are placed in wvp-GB28181-pro/target.
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=devAccess the management console at http://<em>server‑IP</em>:18080. The default credentials are admin. After login you can view online media nodes.
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.
Dunmao Tech Hub
Sharing selected technical articles synced from CSDN. Follow us on CSDN: Dunmao.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
