Dashboard combines complementary discovery methods instead of relying on one camera protocol:
- OpenIPC mDNS queries
_http._tcp.local,_rtsp._tcp.localand_ssh._tcp.local. A TXT record containingvendor=OpenIPCis treated as an authoritative OpenIPC match. These service definitions are shipped by the official OpenIPC firmware. - ONVIF WS-Discovery sends both
NetworkVideoTransmitterand generic probes from every selected IPv4 interface. Probes are repeated to tolerate normal UDP loss. - Majestic HTTP detection checks
/api/v1/config.jsonon port 80. A structurally valid Majestic configuration is a high-confidence match. Port 85 is also checked for the legacy OpenIPC WebUI. - RTSP reachability sends a bounded
OPTIONSprobe on port 554. A generic RTSP response is shown as a lower-confidence network camera; OpenIPC/Majestic server markers raise confidence. - Dahua SDK discovery remains active and its evidence is merged with all other results by IP address.
The normal scan limits active probing to the selected interface's local /24. Deep scan follows the real interface prefix but is capped at /20 (4094 usable addresses). HTTP and RTSP probes use bounded concurrency, short per-request timeouts, a global deadline and explicit cancellation.
As of 2026-07-04, OpenIPC Viewer has moved to a source-based discovery pipeline with ONVIF, mDNS and an opt-in subnet sweep. Dashboard should no longer claim that Viewer lacks mDNS. The remaining Dashboard distinction is the OpenIPC-control-center bias: discovery evidence is merged with Majestic/WebUI fingerprints, RTSP probes and Dahua SDK results, then carried into onboarding, health/status and OpenIPC/Majestic tooling with confidence and evidence text.
- Viewer WS-Discovery implementation
- Viewer discovery aggregator
- Viewer mDNS source
- Viewer subnet sweep source
No local discovery tool can guarantee finding devices hidden behind a routed VLAN, Wi-Fi client isolation, host firewall, disabled services or an offline camera. Multicast discovery normally stays inside one layer-2 broadcast domain, and the active sweep intentionally probes only an attached IPv4 subnet. For routed camera networks, expose discovery through network infrastructure or add an address from that subnet to the host, then select that interface in Dashboard.