Service libraries
This section contains a description of service libraries that can be used by other SDK libraries or separately to solve different tasks. This category consists of the following libraries:
| 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. |
Table of contents
- ConfigReader (JSON read/write)
- ChildProcess (Run external processes)
- FileFinderByName (Find files by name)
- Frame (Video frame structure)
- FormatConverter (Pixel format conversion)
- Joystick (Joystick input handling)
- License (License management)
- Logger (Logging service)
- PlotOpenCv (OpenCV plotting)
- SimpleFileDialog (File dialog service)
- VOutputFb (Linux framebuffer output)
- VOutputV4L2 (V4L2 video output)
- VOutputPipe (Linux named pipe video output)
- VOverlay (Video overlay interface)
- VideoRecorderMp4 (Video recording)
- ImageResizer (Image resizing)
- CryptoProvider (Cryptographic service library)