SDK Development
ZanVision SDK Development Resources
Our Software Development Kits (SDKs) provide OEM integrators and system developers with the tools needed to build custom thermal imaging solutions. Available in C, C++, and Python, each SDK includes API documentation, architecture overviews, sample applications, and integration guides. The SDK supports Windows (7/10/11), Linux (Ubuntu 18.04+/CentOS 7+/Debian 10+), and ARM-based edge computing platforms including NVIDIA Jetson (TX2/Nano/Xavier/Orin) and Raspberry Pi 4.
Communication Protocols
The SDK provides a unified programming interface across multiple communication protocols, allowing developers to work with different transport layers through a consistent API:
| Protocol | Support | Typical Use Case |
|---|---|---|
| ONVIF Profile S | Full | VMS interoperability, device discovery, PTZ control |
| RTSP/RTP | Full | Standard video streaming (H.264, H.265) |
| HTTP CGI | Full | Lightweight parameter control, snapshot capture |
| VISCA / Pelco-D | Full | PTZ control for EO/IR multi-sensor systems |
| Serial (RS-485/RS-232) | Full | Direct hardware control, telemetry data |
Platform Support
| Platform | Architecture | Supported Operating Systems |
|---|---|---|
| x86-64 Desktop / Server | Intel / AMD 64-bit | Windows 7/10/11, Ubuntu 18.04+/20.04/22.04, CentOS 7+, Debian 10+ |
| ARM Edge Computing | ARMv8-A 64-bit | NVIDIA Jetson (TX2/Nano/Xavier/Orin), Raspberry Pi 4 (Ubuntu/Debian) |
Hardware Compatibility
The SDK is designed to work with ZanVision's full product portfolio. The core API is consistent across all product lines, with product-specific extensions available where needed:
| Product Line | Video Streaming | Parameter Control | Radiometric Data | PTZ Control | Multi-Sensor |
|---|---|---|---|---|---|
| 640×512 Thermal Cores | Yes | Yes | Yes | — | — |
| 384×288 LWIR Modules | Yes | Yes | Yes | — | — |
| 1280×1024 HD Thermal Cores | Yes | Yes | Yes | — | — |
| EO/IR PTZ (Aurora Series) | Yes | Yes | Yes | Yes | Yes |
| VIS-NIR Modules | Yes | Yes | — | — | — |
API Architecture
The SDK follows a modular architecture organized into functional groups. Each module handles a specific aspect of camera interaction, and developers can use only the modules relevant to their application:
Device Management — Camera discovery (ONVIF WS-Discovery and manual IP connection), connection lifecycle management (open, close, reconnect), device capability enumeration, and firmware version querying.
Stream Acquisition — Multi-stream video capture with primary and secondary channel support, format negotiation covering H.264, H.265, MJPEG, and RAW Y16/Y8, frame callback with timestamp and metadata, and configurable buffer management for latency-sensitive applications.
Parameter Control — Image settings including brightness, contrast, sharpness, and noise reduction; lens control covering focus, zoom, and NUC/shutter calibration; temperature range and color palette selection; and region-of-interest configuration for analytics pipelines.
Radiometric Data — Per-pixel temperature readout in Kelvin or Celsius, spot metering with center, multi-point, and user-defined coordinate modes, region analysis providing minimum, maximum, and average temperature within user-defined ROIs, and isotherm alarm generation with configurable threshold ranges.
Event & Alarm System — Real-time event subscription for motion detection, temperature threshold crossing, and video loss; configurable alarm actions including GPIO output, HTTP callback, and ONVIF event notification; and event log retrieval for post-incident analysis.
Integration Workflow
A typical SDK integration follows these steps:
- Discovery & Connection — Locate cameras on the network via ONVIF WS-Discovery or connect by IP address directly.
- Capability Query — Retrieve camera model, firmware version, supported stream configurations, and available feature set.
- Stream Configuration — Select the desired video format, resolution, frame rate, and compression parameters for each stream channel.
- Application Logic — Implement frame processing, temperature analysis, PTZ control, or alarm handling according to application requirements.
- Testing & Validation — Verify image quality, latency characteristics, and operational stability in the target deployment environment.
- Production Deployment — Configure network settings, apply security hardening, and integrate with existing VMS or analytics platforms.
Frequently Asked Questions
- What programming languages does the SDK support?
- The SDK provides native C, C++, and Python bindings. The C API serves as the foundation, with C++ offering object-oriented wrappers and Python providing rapid prototyping capabilities for proof-of-concept development.
- Which operating systems are supported?
- Windows (7/10/11), Linux (Ubuntu 18.04+, CentOS 7+, Debian 10+), and ARM-based platforms including NVIDIA Jetson series and Raspberry Pi 4. Contact our engineering team for other platform requirements.
- How do I obtain SDK access?
- SDK access is provided upon request for qualified OEM partners and system integrators. Contact our engineering team at info@zanvisiontech.com with your project requirements and target platform details. Our team typically responds within 1 business day.
- Does the SDK support real-time video streaming?
- Yes. The SDK supports real-time video streaming via RTSP/RTP with H.264 and H.265 encoding. Frame callbacks provide direct access to decoded image data for custom processing and analytics pipelines.
- Can I access radiometric temperature data through the SDK?
- Yes. The SDK provides per-pixel temperature readout for all radiometric thermal camera models. Spot metering, region analysis, and isotherm alarm functions are available through the radiometric data module.
- Does the SDK work with third-party VMS platforms?
- The SDK supports ONVIF Profile S, enabling integration with ONVIF-compliant VMS platforms. For platforms requiring custom integration, the SDK provides the foundational streaming and control APIs needed to build VMS-specific adapters.
- What documentation is included with the SDK?
- Each SDK package includes API reference documentation, architecture overview, quick-start guide, sample applications with build scripts, and protocol specifications for direct network communication.
Getting Started
To request SDK access, please contact our engineering team at info@zanvisiontech.com with the following information:
- Your company name and project description
- Target platform (Windows / Linux / ARM) and preferred programming language (C / C++ / Python)
- ZanVision product model(s) you plan to integrate
- Key integration requirements (video streaming, temperature data, PTZ control, etc.)
Our engineering team will review your request and provide the appropriate SDK package along with integration guidance. For existing SDK users seeking technical support, please include your current SDK version and a description of the issue in your email for faster resolution.