Products >> ONVIF Client Library

ONVIF Client Library - C SDK for NVR, VMS & Embedded Device Integration

Happytime ONVIF client library compatible with ONVIF Profile S,G,C,T,M,A, It supports device discovery, device management, media management, image settings, PTZ management, Recording Control, Recording Search, Recording Replay, Video Analytics, Event Management, Media 2 Services, Access Control, Door Control, Device IO, thermal, credential, access rules, schedule, receiver and provisioning services.
Happytime ONVIF client library supports multiple platforms, including Windows, Linux, MAC, iOS, Android, etc. It supports cross-platform compilation and can be easily ported to embedded systems. The core target file is small and can be used to develop video surveillance systems and network video recording (NVR) devices.

Full support ONVIF specification
Compatible with ONVIF Profiles
Lightweight onvif client SDK
Cross-platform onvif client library
Onvif client SDK for embedded systems
Dependency-free onvif client SDK
download windows buy relase buy code

ONVIF Service specifications

The Open Network Video Interface Forum (ONVIF) is a global and open industry forum with the goal to facilitate the development and use of a global open standard for the interface of physical IP-based security products.
Happytime ONVIF client library covered the following ONVIF services:

ONVIF Service Scope
ONVIF Core Specification IP Configuration: Defines the ONVIF network IP configuration requirements.
Device Discovery: Describes how devices are discovered in local and remote networks.
Device Management: Defines the configuration of basics like network and security related settings.
Event Handling: Defines how to subscribe to and receive notifications (events) from a device.
Security Section: Defines the message level security requirements on ONVIF compliant implementations.
ONVIF Streaming Specification ONVIF specific streaming extensions for live and replay streaming.
Media Service Specification The web service interface for configuration of the so called media profiles. These include the selection of Video and Audio inputs as well as PTZ and Analytics modes and the configuration of Video and Audio encoders.
Media2 Service Specification The second generation web service interface for configuration of the so called media profiles. These include the selection of Video and Audio inputs as well as PTZ and Analytics modes and the configuration of Video and Audio encoders.
PTZ Service Specification The web service interface for configuration and operation of pan tilt zoom controllers. Additionally the associated events are defined.
Imaging Service Specification The web service interface for configuring imaging related aspects of a camera.
Analytics Service Specification The web service interface for configuration and operation of video/audio analytics.
Recording Control Service Specification The web service interface for the configuration of recording of Video, Audio and Metadata. Additionally associated events are defined.
Recording Search Specification The web service interface for searching for recorded Video, Audio and Metadata.
Replay Control Service Specification The web service interface for the control of a replay of recorded Video, Audio and Metadata. Additionally the associated events are defined.
Access Control Service Specification The web service interface for interaction with physical access control systems. This includes discovering components and their logical composition and controlling them.
Door Control Service Specification The web service interface for interaction with physical doors. This includes but is not limited to controlling them and monitoring their state.
Device IO Service Specification The web service interface for all physical inputs and outputs. For most inputs and outputs this is a pure get interface while for e.g. relays also configuration and control is include.
Thermal Service Specification The thermal (imaging) service provides configuration and control data for specific properties of thermal imaging devices.
Credential Service Specification The web service interface for integration with physical access control systems. This includes discovering components and support of the configuration of the credentials components.
Access Rules Service Specification The web service interface for integration with physical access control systems. This includes discovering components and support of the configuration of the access rules components.
Schedule Service Specification The web service interface for interaction with ONVIF devices which support time management features such as schedules and special days (sometimes referred to as holidays).
Receiver Service Specification The web service interface for configuration a network streaming receiver. The receiver is used for displaying and recording audio video streams. Additionally the associated events are defined.
Provisioning Service Specification The web service interface for ONVIF Provisioning features. A provisioning feature involves limited-lifetime components such as a stepper motor, where the vendor expects the feature to be used only during device installation.

Compatible with ONVIF Profiles

Compatible with ONVIF Profile S, Video Streaming & PTZ
Compatible with ONVIF Profile T, Enhanced Video & Analytics
Compatible with ONVIF Profile G, Recording, Search & Replay
Compatible with ONVIF Profile C, Door Management
Compatible with ONVIF Profile M, Metadata & Events
Compatible with ONVIF Profile A, Access Control

Use Cases & Applications

NVR Development: Integrate into your NVR software to support ONVIF cameras
VMS Integration: Add ONVIF compatibility to your video management system
Embedded Devices: Build ONVIF-enabled gateways, recorders, or IoT devices
System Testing: Develop custom test tools for ONVIF device compatibility
Access Control Systems: Integrate with ONVIF-compliant door controllers

Support multiple platforms

Happytime ONVIF client library code is written by C language
Support Windows platform
Support Linux / Unix platform
Support Android platform
Support iOS / MAC platforms
Support embedded Linux platforms
Lightweight onvif library for embedded
Cross-platform onvif client SDK
Onvif client library documentation example

Does not depend on any third-party libraries

Happytime ONVIF client library source code does not depend on any third party libraries
Built-in xml parser source code
Built-in http client source code
Built-in http server source code
Built-in soap parser source code
Framework is clear and concise

Frequently Asked Questions (FAQ)

What is an ONVIF client library?

An ONVIF client library is an SDK that enables developers to integrate ONVIF client functionality (like device discovery, video streaming, PTZ control) into their own applications or devices. Happytime ONVIF Client Library is a lightweight, C-based SDK for NVR and embedded systems.

Is it written in C or C++?

The core library is written in C, making it highly portable and suitable for embedded systems. C++ examples are provided for integration.

Does it have third-party dependencies?

No. It has no external dependencies. Built-in XML, HTTP, SOAP, and TLS parsers ensure easy integration and portability.

Can it run on embedded Linux or ARM?

Yes. It supports cross-compilation for ARMv7, ARM64, MIPS, and other embedded platforms. Ideal for NVR and IoT devices.

Is source code included?

Yes. Full source code is provided, allowing customization and deep integration into your product.

How do I integrate it into my NVR?

The SDK includes documentation, API examples, and sample code. You can call its APIs to discover devices, get RTSP URLs, control PTZ, and subscribe to events.