finds.dev← search

// the find

gowvp/owl

★ 811 · Go · NOASSERTION · updated Sep 2026

GB28181 - 2022 NVR | ONVIF/RTMP/RTSP | ZLMediaKit | 本地 YOLO 检测 | 私有部署

GoWVP is a Go server for GB28181 video surveillance. It registers SIP cameras and NVRs, pulls their streams through ZLMediaKit, and serves a browser player and management UI. It also takes RTMP pushes, pulls RTSP sources, and acts as an ONVIF client and server, so mixed-brand home or small-site setups can be consolidated without a vendor cloud.

The ONVIF virtual-device role is the unusual part. It can expose channels from GB28181 or RTSP sources to Home Assistant as ordinary cameras, which most GB28181 servers don't attempt. Cascading is handled sensibly: master-to-slave alert webhooks carry the frame as base64 so the slave needs no access to the master's filesystem, retries use exponential backoff with jitter, and 4xx responses are treated as permanent instead of being retried. The AI detector runs as a separate Python gRPC process defined in protos/analysis.proto, so the model can be swapped without touching the Go side.

The web frontend is not in this repo. A fresh clone runs an API with no UI until you download a separate release zip and place it in a folder named www, which is easy to miss. Docker networking is the likeliest adoption failure. The combined image needs 15060, 554, 1935 and the 20000-20100 range mapped over both TCP and UDP, and the README tells Linux users to switch to host networking, which doesn't work under Docker Desktop on Windows or macOS. Licensing is GPL-3.0 with a separate commercial track through a WeChat contact, and lalmax-pro, one of the two media servers, is offered through a contact email rather than a public repo, so ZLMediaKit is the only media path you can fully inspect. The ONVIF PTZ item is still unchecked, and most operational guidance lives in Chinese-language blog posts instead of the repo.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →