libONVIF 开源 ONVIF 库解析与使用指南
libONVIF 是一款基于 ONVIF 标准的开源 C++ 库,旨在简化 gSOAP 的使用复杂性,并提供高级类实现与多种 ONVIF 服务的无缝对接。该库支持跨平台开发,包括 Android、Linux、Windows 和 macOS 等多种操作系统。
技术架构与设计理念
libONVIF 采用精心设计的架构,核心优势体现在以下几个方面:
- 线程安全性:大部分代码在多线程环境下仍能保持良好的运行性能
- gSOAP 封装:通过优雅的封装设计,开发者无需直接接触复杂的 gSOAP 底层实现
- RAII 资源管理:使用
Request<>和Response<>类管理 RPC 参数,确保内存自动释放 - 全面的服务支持:涵盖 ONVIF 的十一项核心服务
支持的 ONVIF 服务
libONVIF 目前支持以下 ONVIF 标准服务:
- 分析服务 (Analytics):http://www.onvif.org/ver20/analytics/wsdl
- 设备管理 (Device):http://www.onvif.org/ver10/device/wsdl
- 显示服务 (Display):http://www.onvif.org/ver10/display/wsdl
- 事件处理 (Event):http://www.onvif.org/ver10/events/wsdl
- 成像配置 (Imaging):http://www.onvif.org/ver20/imaging/wsdl
- 媒体服务 (Media):http://www.onvif.org/ver10/media/wsdl
- 媒体服务 v2 (Media2):http://www.onvif.org/ver20/media/wsdl
- PTZ 控制 (PTZ):http://www.onvif.org/ver20/ptz/wsdl
- 接收器服务 (Receiver):http://www.onvif.org/ver10/receiver/wsdl
- 录制服务 (Recording):http://www.onvif.org/ver10/recording/wsdl
- 回放服务 (Replay):http://www.onvif.org/ver10/replay/wsdl
安装与构建
libONVIF 使用 CMake 构建系统,支持多种构建方式:

