一套用于ONVIF协议设备发现与管理的Java工具包,包含核心库、Spring Boot网页面板和命令行界面。

Stars

11

7 天增长

暂无数据

Fork 数

0

开放 Issue

0

开源协议

Apache-2.0

最近更新

2026-07-11

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

提供ONVIF交互的全栈方案——核心库依赖极少,仪表盘可直接运行并支持PTZ控制与视频预览,CLI适用于脚本自动化,且采用Apache 2.0开源协议。

适合谁使用

  • 需要集成ONVIF功能的Java开发者
  • 管理IP摄像头及监控设备的系统集成商
  • 需要无头自动化控制摄像头的运维工程师
  • 寻求浏览器管理界面的安全摄像头管理员

典型使用场景

  • 在局域网中发现ONVIF兼容摄像头
  • 程序化获取设备信息、媒体配置文件和RTSP流地址
  • 通过交互式仪表盘或CLI脚本控制PTZ云台
  • 订阅设备事件并执行系统维护(重启、重置)

项目优势

  • 核心库打包为单一JAR,仅依赖SLF4J
  • 提供库、面板、CLI三种接口,适应不同工作场景
  • 仪表盘和CLI提供预编译版本(Linux/Windows),部署简便
  • 覆盖ONVIF主要服务:设备、媒体、PTZ、成像、事件、录像

使用前须知

  • 从源码构建需要JDK 17+和Maven
  • 仅限Java环境,不提供其他语言的原生库
  • 仅支持标准ONVIF功能,可能无法兼容所有厂商扩展

README 快速开始

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_

项目描述

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.

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

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.

后端与 API数据与数据库
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