rapid_pixel_wide_logo_r

RapidPixel SDK

v1.23.0

RapidPixel SDK is a set of C++17 libraries and sample applications for video processing: capture, coding, streaming, tracking, object detection, stabilization, filtering, communication, logging, and lens/camera control. Its CMake project builds available modules into one static library on Linux or with MSVC on Windows, and supports source integration, a portable SDK bundle and OS installation. Modules can also be used through their own projects. Availability, acceleration and achievable frame rate depend on the operating system, hardware, input size and installed dependencies; a hardware-specific backend does not work on every CPU. Start with the build and installation guide and check the documentation of the modules selected for your application. The image below shows the functionality covered by the RapidPixel SDK:

rapidpixel_usage

Functions

RapidPixel SDK includes libraries:

  1. Video Processing Pipeline
  2. Video Tracking
  3. Video Stabilization
  4. Object Detection (motion detection, change detection, neural networks)
  5. Video Streaming (RTSP, RTP, WebRTC, HLS, RTMP)
  6. Video Filtering (digital zoom, defog, color manipulation etc.)
  7. Video Capture (various interfaces)
  8. Video Encoding and Decoding
  9. Communication
  10. Laser Range Finder Controllers
  11. Lens Controllers
  12. Camera Controllers
  13. Block Camera Controllers (lens and camera combined)
  14. Service libraries (files, buffers, video output, joysticks etc.)
  15. Examples and Templates (various combinations of libraries for many cases)
  16. Tutorials

How to start

Getting started

License agreements

SDK structure

RapidPixel SDK is a CMake project which includes a set of libraries and examples. Each library is self-sufficient and can be used independently from others. Each library includes detailed documentation, examples and test applications. SDK structure by categories:

Video Processing Pipeline

videopipeline_modules

Library Description
VPipeline
(Linux and Windows)
Provides a fully functional video processing pipeline with interfaces to connect different video filters, video trackers, object detectors, and video stabilization modules. The motivation of the VPipeline library is to provide a simple interface to a complex video processing pipeline as well as camera and lens control regardless of hardware. The library serves two main goals: provides a video processing pipeline and provides a remote control interface for the pipeline (encoding/decoding commands and telemetry). No external dependencies.

Video Tracking

videotracker_modules

Library Description
VTracker
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different video trackers. The VTracker interface class does nothing; it just provides an interface, defines data structures, and provides methods to encode/decode commands and encode/decode params. No external dependencies.
CvTracker
(Linux and Windows)
Video tracker implementation. The library provides fast calculation, compatibility with low-power processors, high accuracy and contains many additional functions and modes, which allow using it in camera systems of any configuration. No external dependencies.

Video Stabilization

videostabilizer_modules

Library Description
VStabiliser
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different video stabilization algorithms. The VStabiliser interface class does nothing; it just provides an interface, defines data structures, and provides methods to encode/decode commands and encode/decode params. No external dependencies.
VStabiliserCv
(Linux and Windows)
Video stabilizer implementation. Provides 2D and 3D digital video stabilization (horizontal offset, vertical offset, and rotation). The CPU implementation uses C++17 without OpenCV. Optional acceleration: OpenGL ES / EGL output warp with CPU fallback.

Object Detection

objectdetector_modules

Library Description
ObjectDetector
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different object detectors (motion detectors, change detectors, neural networks, etc.). The ObjectDetector interface class does nothing; it just provides an interface, defines data structures, and provides methods to encode/decode commands and encode/decode params. No external dependencies.
Gmd
(Linux and Windows)
Motion object detector implementation. Provides automatic detection of moving objects in videos. This library is suitable for various types of cameras (daylight, SWIR, MWIR and LWIR), and it ensures accurate detection of small-size and low-contrast moving objects against complex backgrounds. No external dependencies.
Ged
(Linux and Windows)
Video change detector implementation. Provides automatic detection of subtle changes in videos. This library is suitable for various types of cameras (daylight, SWIR, MWIR, and LWIR), and it ensures accurate detection of small-size and low-contrast objects against complex backgrounds. No external dependencies.
DnnOpenVinoDetector
(Linux and Windows)
DNN object detector implementation. Provides automatic detection of objects in videos through the utilization of neural networks based on OpenVINO™ runtime. It is optimized and tested for Ultralytics YOLOv8 neural network model and provides a simple interface. External dependencies: OpenVINO™ (Apache 2.0 license).
DnnOpenCvDetector
(Linux and Windows)
DNN object detector implementation. Provides automatic detection of objects in videos through the utilization of neural networks based on OpenCV. External dependencies: OpenCV (version >= 4.5, Apache 2.0 license).
MvExtractorH264
(Linux and Windows)
The library for motion vector (optical flow) extraction from H264 compressed video. No external dependencies.
Fmd
(Linux and Windows)
Motion object detector implementation. Provides automatic detection of moving objects on videos captured by a moving camera. This library is suitable for various types of cameras (daylight, SWIR, MWIR and LWIR), and it ensures accurate detection of small-size objects against complex moving backgrounds. External dependencies: OpenCV (version >= 4.5, Apache 2.0 license).

Video Streaming

videostreamer_modules

Library Description
VStreamer
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different video streamers. The VStreamer interface class does nothing; it just provides an interface, defines data structures, and provides methods to encode/decode commands and encode/decode params. No external dependencies.
RtpPusher
(Linux and Windows)
Simple RTP H264 video streamer that is compatible with all RTP clients (VLC, ffmpeg, gstreamer, etc.). No external dependencies.
MServer
(Linux only)
RTSP, RTSPS, RTP, SRTP, STANAG and WebRTC video server with KLV support. External dependencies: OpenSSL (linked, security functions provider, Apache 2.0 license).
VStreamerMediaMtx
(Linux only)
RTSP, WebRTC, HLS, RTMP and SRT video server based on MediaMTX application. No external dependencies.
NetworkHealthChecker
(Linux and Windows)
The library for estimating network load. Used by video streamers for automatic bandwidth control. No external dependencies.

Video Filtering

videofilter_modules

Library Description
VFilter
(Linux and Windows)
Provides an interface as well as defines data structures and rules for various video filter implementations. The VFilter interface represents a video filter module that has video frames as input and output. The VFilter interface class does nothing; it just provides an interface and methods to encode/decode commands and encode/decode params. No external dependencies.
MotionMagnificator
(Linux and Windows)
Video filter implementation. Provides subtle motion and temporal variations amplification in digital video content for gas leak detection. It allows camera system operators to detect gas leaking and moving objects that are not visible to the naked eye. No external dependencies.
Dehazer
(Linux and Windows)
Video filter implementation. Provides a video dehazing (defog) algorithm based on histogram manipulations. The library utilizes different histogram manipulations to improve the contrast of the video frame and to reduce the effect of haze/fog. No external dependencies.
DigitalZoom
(Linux and Windows)
Video filter implementation. Provides digital zoom functions with bicubic interpolation. No external dependencies.
ImageFlip
(Linux and Windows)
Video filter implementation. Provides simple image flip function: up-down, left-right, both. No external dependencies.
Denoiser
(Linux and Windows)
Video filter implementation. Provides noise cancellation based on a bilateral filter. External dependencies: OpenMP for CPU parallelism; optional Nvidia VPI (linked, proprietary license) backend on Linux.
ColorProcessor
(Linux and Windows)
Color filter: palette, contrast, brightness, saturation and white balance. No external dependencies.
BadPixelProcessor
(Linux and Windows)
Bad pixel detection and filtering for LWIR, MWIR and SWIR thermal cameras. No external dependencies.

Video Capture

videosource_modules

Library Description
VSource
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different video source classes (video capture classes). The VSource interface class does nothing; it just provides an interface and methods to encode/decode commands and encode/decode params. No external dependencies.
VSourceV4L2
(Linux only)
Video source implementation. Provides video capture and video source (V4L2 compatible video sources) control function based on V4L2 API. External dependencies: V4L2 API (default subsystem in Linux).
VSourceLibCamera
(Linux only)
Video source implementation. Provides video capture and video source control function based on Libcamera API. External dependencies: Libcamera API (MIT license).
VSourceFile
(Linux and Windows)
Video source implementation. Provides video frame capture and full decoding from encoded H264, HEVC, JPEG, MP4V and uncompressed BGR24 video files: raw elementary streams (.h264, *.hevc, *.mjpeg) as well as MP4 (.mp4, .mov, *.m4v) and AVI (.avi) containers. No external dependencies.
VSourceWmf
(Windows only)
Video source implementation. Provides video capture and video source control based on Microsoft Media Foundation (WMF) on Windows. External dependencies: Microsoft Media Foundation (WMF).
VSourceStream
(Linux and Windows)
Video source implementation. Provides RTSP, RTSPS, RTP, SRTP and MPEG-TS video capture with software decoding and minimum latency. External dependencies: OpenSSL (linked, optional TLS transport for RTSPS, Apache 2.0 license).

Video Encoding and Decoding

videocodec_modules

Library Description
VCodec
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different video codecs (video encoding and decoding). The VCodec interface class doesn’t do anything; it just provides an interface. No external dependencies.
VCodecV4L2
(Linux only)
Video codec implementation. Provides hardware-accelerated video encoding/decoding (H264 and JPEG codecs) based on V4L2 API on Linux only. External dependencies: V4L2 API (default subsystem in Linux).
VCodecJetPack
(NVIDIA Linux only)
Video codec implementation. Provides hardware-accelerated video encoding (H264 and HEVC codecs) for NVIDIA Jetson platforms based on Jetson Multimedia API. External dependencies: Jetson Multimedia API (linked, proprietary license).
VCodecLibav
(Linux and Windows)
Video codec implementation. Provides hardware and software-accelerated video encoding/decoding functions (H264, HEVC(H265), and JPEG codecs) for Linux and Windows OS based on FFmpeg. External dependencies: FFmpeg (linked, GPL or LGPL license depends on FFmpeg library build linked).
VCodecGst
(Linux only)
Video codec implementation. Provides video encoding and decoding functions for H264, HEVC (H265), and JPEG codecs for Linux OS based on GStreamer. External dependencies: GStreamer (linked, LGPL license).
VCodecLibva
(Linux only)
Video codec implementation. Provides video encoding for H264, HEVC (H265), and JPEG codecs on Linux OS based on Intel Libva (VAAPI). External dependencies: Intel Libva (VAAPI) (linked, MIT-style license).
VCodecImxVpu
(Linux only)
Video codec implementation. Provides H264 video encoding for the IMX8 platform based on the H1 hardware encoder. No external dependencies.
VCodecWmf
(Windows only)
Video codec implementation. Provides hardware-accelerated and software video encoding and decoding for H264, HEVC (H.265), and JPEG formats based on Microsoft Media Foundation (WMF) and Windows Imaging Component (WIC) on Windows 11 and later. External dependencies: Microsoft Media Foundation (WMF).
VDecoderH264
(Linux and Windows)
Video decoder implementation. Provides software video decoding for H264 format. No external dependencies.
VDecoderH265
(Linux and Windows)
Video decoder implementation. Provides software video decoding for H265 format. No external dependencies.
VDecoderJPEG
(Linux and Windows)
Video decoder implementation. Provides software video decoding for JPEG format. No external dependencies.
VEncoderJPEG
(Linux and Windows)
Video encoder implementation. Provides software video encoding for JPEG format. No external dependencies.

Communication

communication_modules

Library Description
UdpDataChannel
(Linux and Windows)
Provides reliable point-to-point communication between two applications based on UDP. The library includes two primary classes: UdpDataClient (connects to server) and UdpDataServer (waits for connection from client). Both classes provide two-way communication. No external dependencies.
NtpUdpChannel
(Linux and Windows)
Provides a mechanism to simplify sending and receiving data over the UDP transport layer via low bandwidth networks. The library streams data taking into account channel bandwidth and controls data loss. No external dependencies.
SerialPort
(Linux and Windows)
Provides a simple interface to work with serial ports. No external dependencies.
TcpClient
(Linux and Windows)
Provides methods to work with TCP socket as client (connect, close, send data and receive data). No external dependencies.
TcpServer
(Linux and Windows)
Provides methods to work with TCP socket as server (wait for connection, close, send data and receive data). No external dependencies.
UdpSocket
(Linux and Windows)
Provides methods to work with UDP ports (open, close, send data and receive data). No external dependencies.
SbusParser
(Linux and Windows)
Provides methods for encoding and decoding SBUS protocol data. No external dependencies.
CrsfParser
(Linux and Windows)
Provides a mechanism for decoding and encoding packets of FPV drone control protocol. The library is used for CRSF packets translation and extracts only CRSF_FRAMETYPE_RC_CHANNELS_PACKED packets. For other packet types the library just detects them. No external dependencies.
PelcoDParser
(Linux and Windows)
Provides methods for encoding and decoding PelcoD responses and commands. No external dependencies.
BoberManager
(Linux and Windows)
UDP message manager C++ library designed to handle communication between multiple clients over a network. It uses UDP packets and string-based protocol. No external dependencies.
BoberClient
(Linux and Windows)
Communication client C++ library for user applications, enabling interaction with any other service through BoberManager. It uses UDP packets and string-based protocol. No external dependencies.
OServer
(Linux only)
Fully functional ONVIF® server with support for Profile S/T. External dependencies: OpenSSL (linked, Apache 2.0 license), ZLIB (linked, custom permissive software license).
KlvEncoder
(Linux and Windows)
The library to encode KLV metadata for video streaming with full support of ST0601.19 (UAS Datalink Local Set) standard. No external dependencies.
SConnector
(Linux and Windows)
The library implements the SAPIENT edge-node interface (UK MOD / Dstl, BSI Flex 335 v2.0). It lets a sensor edge node (for example a camera) connect to a SAPIENT fusion node, register its capabilities and tasking contract, stream status and detections, and receive and acknowledge tasking commands. External dependencies: OpenSSL (linked, optional TLS transport and FIPS provider support, Apache 2.0 license).

Laser Range Finder Controllers

lrf_modules

Library Description
Lrf
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different laser range finders. The Lrf interface class does nothing; it just provides an interface and methods to encode/decode commands and encode/decode params. No external dependencies.
LrfUltisenseParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for Safran Laser Range Finders. No external dependencies.
LrfUltisense
(Linux and Windows)
Software controller for Safran Laser Range Finders. No external dependencies.

Lens Controllers

lens_modules

Library Description
Lens
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different lens controllers. The Lens interface class does nothing; it just provides an interface and methods to encode/decode commands and encode/decode params. No external dependencies.
Slc
(Linux and Windows)
Software controller for Stingray SWIR lenses. Includes rich auto-focus functions based on the AFEngine library. No external dependencies.
StingrayParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for Stingray SWIR lenses. No external dependencies.
Olc
(Linux and Windows)
Software controller for Ophir infrared lenses. Includes rich auto-focus functions based on the AFEngine library. No external dependencies.
Flc
(Linux and Windows)
Software controller for Fujinon CCTV lenses. No external dependencies.
FujiProtocolParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for Fujinon CCTV lenses. No external dependencies.
Ylc
(Linux and Windows)
Software controller for Yamano CCTV lenses. No external dependencies.
SunnyLensParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses from Sunny continuous zoom lenses. No external dependencies.
SunnyLens
(Linux and Windows)
Software controller for Sunny continuous zoom lenses. Includes rich auto-focus functions based on the AFEngine library. No external dependencies.
RpLensParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses from RP thermal / SWIR lenses. No external dependencies.
Rpl
(Linux and Windows)
Software controller for RP thermal / SWIR lenses. No external dependencies.
AFEngine
(Linux and Windows)
Provides auto focus functions for different lens controllers. Supports ROI, auto ROI detection and other parameters. Provides a hardware-agnostic interface to be implemented in different lens controllers. No external dependencies.
KowaLensParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for KOWA CCTV lenses. No external dependencies.
Klc
(Linux and Windows)
Software controller for KOWA CCTV lenses. No external dependencies.

Camera Controllers

camera_modules

Library Description
Camera
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different camera controllers. The Camera interface class does nothing; it just provides an interface and methods to encode/decode commands and encode/decode params. No external dependencies.
FlirTau2Camera
(Linux and Windows)
Software controller for Flir Tau 2 thermal cameras. No external dependencies.
FlirTau2Parser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for Flir Tau 2 thermal cameras. No external dependencies.
OwlCamera
(Linux and Windows)
Software controller for Owl 640 SWIR cameras. No external dependencies.
OwlParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for Owl 640 SWIR cameras. No external dependencies.
KowaCamera
(Linux and Windows)
Software controller for KOWA cameras. No external dependencies.
KowaProtocolParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for low-light KOWA camera. No external dependencies.
HitachiCamera
(Linux and Windows)
Software controller for Hitachi HD-SDI Series cameras. No external dependencies.
IRayFtCamera
(Linux and Windows)
Software controller for IRay FT thermal cameras. No external dependencies.
FlirBosonCamera
(Linux and Windows)
Software controller for FLIR Boson cameras. No external dependencies.
I3Camera
(Linux only)
Video capture and software controller for THERMAL EXPERT thermal camera. External dependencies: I3Systems camera SDK (Proprietary license, user must control license permissions before use).

Block Camera Controllers

blockcamera_modules

Library Description
FujiSxCamera
(Linux and Windows)
Software controller for Fujinon Sx series CCTV cameras (block cameras which combine lens and camera (image sensor) and provide one control interface). No external dependencies.
FujiSxParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for Fujinon Sx series CCTV cameras (block cameras which combine lens and camera (image sensor) and provide one control interface). No external dependencies.
ViscaCamera
(Linux and Windows)
Software controller for VISCA Protocol compatible cameras. Includes camera, lens and pan-tilt control interfaces. No external dependencies.
ViscaParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for VISCA Protocol compatible cameras. No external dependencies.
PanTilt
(Linux and Windows)
Provides a standard interface as well as defines data structures and rules for different pan-tilt controllers. The PanTilt interface class does nothing; it just provides an interface and methods to encode/decode commands and encode/decode params. No external dependencies.
G5Camera
(Linux and Windows)
Software controller for G5 thermal cameras (block cameras which combine lens and camera (image sensor) and provide one control interface). No external dependencies.
G5ProtocolParser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for G5 thermal cameras (block cameras which combine lens and camera (image sensor) and provide one control interface). No external dependencies.
IRayBlockCamera
(Linux and Windows)
Software controller for InfiRay FT block cameras (block cameras which combine lens and camera (image sensor) and provide one control interface). No external dependencies.
IRay300Parser
(Linux and Windows)
Provides methods for encoding control commands and decoding responses for InfiRay FT block cameras (block cameras which combine lens and camera (image sensor) and provide one control interface). No external dependencies.
VentusCamera
(Linux and Windows)
Software controller for WIND firmware compatible cameras, which mostly includes Ventus cameras produced by SIERRA-OLYMPIA TECHNOLOGIES INC. company. No external dependencies.

Service libraries

service_modules

Library Description
FileFinderByName
(Linux and Windows)
Provides methods to find files by name part(s). It is used in different projects to find data files or device files. No external dependencies.
FormatConverter
(Linux and Windows)
Provides methods to convert images between pixel formats. FormatConverter supports conversion between all uncompressed pixel formats listed in the Fourcc enum (RGB24, BGR24, YUYV, UYVY, GRAY, YUV24, NV12, NV21, YU12, YV12) of the Frame library. No external dependencies.
Logger
(Linux and Windows)
Provides logging functions: printing in terminal and/or printing in file. No external dependencies.
PlotOpenCv
(Linux and Windows)
Provides methods for visualization of 2-dimensional line charts. External dependencies: OpenCV (version >= 4.5, Apache 2.0 license).
ChildProcess
(Linux only)
Provides methods to run / stop an external process from your application on Linux. No external dependencies.
VOutputV4L2
(Linux only)
Provides an interface to write video frames to V4L2 video devices (for example, V4L2 loopback devices) in Linux. External dependencies: V4L2 API (default subsystem in Linux).
VOutputFb
(Linux only)
Provides an interface to write video frames to the Linux framebuffer. No external dependencies.
VOutputPipe
(Linux only)
Provides an interface to write video frames to named pipe (FIFO) in Linux OS. Third-party applications such as ffmpeg and GStreamer read the pipe as an ordinary raw video stream, so the user’s application can be a video source for them. No external dependencies.
Joystick
(Linux and Windows)
Provides a simple interface to work with various types of joysticks. No external dependencies.
SimpleFileDialog
(Linux and Windows)
Provides a simple dialog to choose a file in Windows and Linux. No external dependencies.
VideoRecorderMp4
(Linux and Windows)
Provides methods for recording H264, H265(HEVC) and MJPEG video to MP4 files with control over file and folder size. Includes software JPEG encoder. No external dependencies.
Frame
(Linux and Windows)
Provides video frame data structures and pixel format descriptions. No external dependencies.
ConfigReader
(Linux and Windows)
Provides methods to read/write config files or strings in JSON format. The library has a simple interface to read application configuration parameters from file/string or write configuration parameters to file/string. No external dependencies.
License
(Linux and Windows)
Provides application licensing with ECDSA P-256 signatures verified using a compiled-in public key. Licenses from the previous AES-based implementation must be reissued. External dependency: OpenSSL, with optional FIPS provider support.
VOverlay
(Linux and Windows)
Provides a standard interface for overlaying information on video for different implementations. This is the standard for overlaying information in video streamer interfaces. No external dependencies.
ImageResizer
(Linux and Windows)
Implements fast video resizing function with bicubic interpolation. No external dependencies.
CryptoProvider
(Linux and Windows)
Universal, C++17 cryptographic library that provides a unified, OpenSSL-like interface across Windows and Linux platforms with automatic backend selection. External dependencies (all optional): Windows CNG (Cryptography Next Generation) and OpenSSL 3.x; built-in implementations are used on Linux when OpenSSL is not found.

Examples and Templates

examples_modules

Application Description
WebControlPanelTemplate
(Linux only)
The template for embedded WEB control page devices. The template includes everything to build embedded WEB control interface for camera. This template can be modified by user with additional parameters and functions.
VPipelineDemo
(Linux and Windows)
Demo application, template, and usage example for the VPipeline library. It can be used as a base for your application. It runs a video processing pipeline with functions: video capture, image flip, digital zoom, video stabilization, dehaze/defog, motion magnification, video tracking, motion detection, video change detection, and object detection with neural networks. Also, the application provides a simple user interface to display video and control video processing pipeline modules.
RpiStreamer
(Linux only)
Application template that users can use as the basis for their applications. This application implements a basic video processing pipeline: video capture > video stabilization > RTSP server for Raspberry Pi 4 and Pi 5. The application combines several libraries.
RpiTracker
(Linux only)
Application template that implements a basic video processing pipeline: video capture -> video stabilization -> video tracker -> video encoding -> RTSP server for Raspberry Pi 4(5). The application shows how to combine several libraries.
RpiOnboardControl
(Linux and Windows)
Application template that shows how to control the RpiTracker application remotely. The application shows how to combine several libraries.
VPipelineOnboard
(Linux and Windows)
Template and usage example for the VPipeline library. It can be used as a base for your application. It runs a video processing pipeline with functions: video capture, image flip, digital zoom, video stabilization, dehaze/defog, motion magnification, video tracking, motion detection, video change detection, and object detection with neural networks. Also, the application provides video + telemetry streaming and remote control.
VPipelineControl
(Linux and Windows)
Control application for the VPipelineOnboard application. It can be used as a base for your application. It provides a simple user interface and joystick control.
MultiRtspServer
(Linux only)
The MultiRtspServer application is an example of streaming several video streams using multiple MServer objects. All the servers share one RTSP listener and are told apart by the stream suffix.
RpiTrackerOnboard
(Linux only)
Application template that implements a basic video processing pipeline: video capture -> video tracker -> video encoding -> custom video + telemetry streaming for Raspberry Pi 4(5). The application shows how to combine several libraries.
RpiTrackerControl
(Linux only)
Application template that shows how to control the RpiTrackerOnboard application remotely. The application shows how to combine several libraries.
Zero2WFpv
(Linux only)
Software for Raspberry Pi Zero 2W that is designed to control FPV quadcopters: video tracking, analog or H264 RTSP compressed video output, receiving CRSF commands to control tracker and flight controller, auto FPV control in tracking mode.
VOverlaySdl
(Linux and Windows)
The template for video overlay with rich functions based on SDL3 and SDL3_ttf libraries.

Tutorials

Tutorial Description
YoloDnnPreparationExample
(Linux only)
Provides a comprehensive set of software tools designed for training, evaluating, and exporting neural network models, with a focus on object detection tasks.
SnapServiceUpdateTemplate
(Linux only)
A step-by-step guide on how to create a snap package for a CMake project using Snapcraft, as well as instructions for setting up a systemd service for the snap application. Snap packages allow you to update an executable on a target machine by bundling all required packages into a single file.
SnmpTemplate
(Linux only)
A template repository based on a ready-to-use SNMP (Simple Network Management Protocol) server for Linux systems (Ubuntu 22.04 and 24.04). It extends the standard SNMP daemon with a Python script, allowing you to define and serve your own SNMP OIDs and commands without modifying the SNMP server source code.
YoloHailoTemplate
(Linux only)
A general-purpose template for building an object detection pipeline using the YOLOv8 model and deploying it on the Hailo 8 NPU platform. It covers all essential steps: dataset annotation, data preparation, model training, ONNX export, conversion to Hailo HEF format, and deployment for real-time inference.
ABUpdateTemplate
(Linux only)
A guide on how to build an A/B update system with RAUC and GRUB2 on x86_64 UEFI platforms.

Table of contents