openlink2 GitHub avatar

link-onvif-client

openlink2

A Java toolkit for ONVIF device discovery and management, offering a core library, a Spring Boot web dashboard, and a command-line interface.

Stars

11

7-day growth

No data

Forks

0

Open issues

0

License

Apache-2.0

Last updated

2026-07-11

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

Provides a full stack for ONVIF interaction—core library with minimal dependencies, a ready‑to‑run dashboard with visual PTZ and preview, and a CLI for scripting—all under the Apache 2.0 license.

Who it is for

  • Java developers integrating ONVIF into applications
  • System integrators managing IP cameras and surveillance devices
  • DevOps engineers needing headless automation for camera control
  • Security camera administrators seeking a browser‑based management UI

Use cases

  • Discover ONVIF‑compliant cameras on a local network
  • Retrieve device info, profiles, and RTSP stream URIs programmatically
  • Control PTZ movements via interactive dashboard or CLI scripts
  • Monitor device events and perform system maintenance (reboot, reset)

Strengths

  • Self‑contained core JAR with only SLF4J as runtime dependency
  • Three complementary interfaces (library, dashboard, CLI) for varied workflows
  • Pre‑built releases for dashboard and CLI (Linux/Windows) simplify deployment
  • Covers major ONVIF services: Device, Media, PTZ, Imaging, Events, Recording

Considerations

  • Requires JDK 17+ and Maven for building from source
  • Java‑only; not available as a native library for other languages
  • ONVIF support is limited to standard profiles; may not cover all vendor extensions

README quick start

link-onvif-client

link-onvif-client is a Java toolkit for ONVIF protocol device discovery and management:

  • onvif-client-core — Core library. Implements WS-Discovery, SOAP/XML messaging, WS-Security authentication, and all major ONVIF services (Device, Media, PTZ, Imaging, Events, Recording). Packaged as a single JAR with no runtime dependencies beyond SLF4J.
  • onvif-dashboard — Web application. Spring Boot backend + SPA frontend, providing a simple dashboard page for device discovery, configuration, PTZ control, and live preview.
  • onvif-cli — Command-line interface. Built on picocli, enables direct ONVIF operations from the terminal with support for both interactive and scripted usage.

For questions or issues, feel free to open an issue or submit a pull request.


Features

  • Device discovery — WS-Discovery multicast probe for ONVIF devices on the LAN
  • Device management — Query and configure device info, hostname, network, users, date/time, NTP, DNS, and system maintenance (reboot, factory reset)
  • Media streaming — Enumerate profiles, video/audio sources and encoder configurations; retrieve RTSP stream URIs and snapshot URIs
  • PTZ control — Continuous, absolute, and relative moves; preset management; home position
  • Imaging — Read and adjust brightness, contrast, sharpness, focus; move/stop focus
  • Event subscription — Pull-point and push-mode event monitoring
  • Recording — Query recording service capabilities and recording list
  • Dashboard visual UI — Real-time device discovery, PTZ panel, stream preview, and event display
  • CLI — Discover, interrogate, and control devices from the command line, suitable for automation and headless environments

onvif-client-core

A self-contained ONVIF library — single JAR with only SLF4J as a runtime dependency, feature-complete for device interaction. Add it to your project and start working with ONVIF devices immediately.

Build & Install Locally

git clone https://github.com/openlink2/link-onvif-client.git
cd link-onvif-client
mvn clean install -pl onvif-client-core -DskipTests

Then add the dependency to your pom.xml:



    com.openlink2.onvif
    onvif-client-core
    1.0.1

Quick Example

// Connect and query device info
try (var client = new OnvifClient("http://192.168.1.100/onvif/device_

Description

A Java ONVIF client toolkit with a lightweight, embeddable core library. Supports WS-Discovery device discovery, PTZ control, media streaming, event subscription, and full device configuration over SOAP/WS-Security. Includes a Spring Boot dashboard and a picocli command-line tool.

Related repositories

Similar projects matched by category, topics, and programming language.

youxiandechilun
youxiandechilun GitHub avatar

Guido

An integrated AI-powered scenic guide system featuring multi-modal interaction (text, voice, image), on-premise RAG knowledge base, personalized route recommendations, digital human avatar, and operational analytics for both tourists and administrators.

Java
60
onizukaTP
onizukaTP GitHub avatar

limitly

Limitly is a Spring Boot starter that provides annotation-driven rate limiting using Redis and Lua scripts for atomic operations, supporting token bucket and sliding window algorithms.

Backend & APIsData & Databases
7
LeeFly-cn
LeeFly-cn GitHub avatar

TripStar-Java

TripStar is a multi-agent travel planning system built on Spring Boot 4 and Spring AI Alibaba, combining XiaoHongShu (Little Red Book) content, Amap POI/weather/hotel data, and a StateGraph workflow to generate complete itineraries with maps, budgets, and knowledge graphs.

JavaScript
48