OPNX.Lib 0.1.0-preview.20260716.1

This is a prerelease version of OPNX.Lib.
dotnet add package OPNX.Lib --version 0.1.0-preview.20260716.1
                    
NuGet\Install-Package OPNX.Lib -Version 0.1.0-preview.20260716.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OPNX.Lib" Version="0.1.0-preview.20260716.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OPNX.Lib" Version="0.1.0-preview.20260716.1" />
                    
Directory.Packages.props
<PackageReference Include="OPNX.Lib" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OPNX.Lib --version 0.1.0-preview.20260716.1
                    
#r "nuget: OPNX.Lib, 0.1.0-preview.20260716.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OPNX.Lib@0.1.0-preview.20260716.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OPNX.Lib&version=0.1.0-preview.20260716.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=OPNX.Lib&version=0.1.0-preview.20260716.1&prerelease
                    
Install as a Cake Tool

OPNX.Lib

Korean

License notice: OPNX.Lib is source-available software, not open-source software. Commercial use and redistribution require prior written permission from OPNX. See License.txt.

OPNX.Lib is a modular .NET infrastructure SDK for building stateful video systems, including VMS, NVR, streaming servers, device gateways, media processing services, and video-platform applications.

The library provides reusable .NET modules for the foundations that video systems repeatedly need: network communication, packet-oriented protocol handling, media processing, real-time streaming, and database-backed entity storage.

OPNX.Lib is the core library layer of the OPNX ecosystem. It is designed to separate application-specific product logic from complex video-platform infrastructure, so higher-level applications can be built on a more stable and consistent foundation.

Why OPNX.Lib Exists

Video systems are not just media playback applications.

Real VMS, NVR, monitoring clients, streaming servers, and device integration servers repeatedly need the same difficult foundations:

  • long-lived network connections
  • packet-oriented protocol handling
  • real-time video and audio stream processing
  • media transport foundations such as RTSP, RTP, and WebRTC
  • integration with native and media libraries such as FFmpeg, OpenCV, and SkiaSharp
  • stateful entity management for devices, channels, servers, users, and configuration
  • synchronization between in-memory state and database-backed storage
  • common utilities and lifecycle management that can be used consistently across applications

OPNX.Lib exists so these foundations do not have to be rebuilt separately for every application.

It is used as the infrastructure layer beneath OPNX-based applications such as OPNX.V and OPNX.UI, while also being developed as an independent foundation SDK for video-oriented servers, gateways, media processing pipelines, and monitoring systems.

What It Provides

OPNX.Lib is organized around the following areas.

  • Common infrastructure
    Lifecycle management, serialization, compression, reflection, shared models, and utility components.

  • Networking and protocol handling
    Building blocks for TCP, named pipes, shared memory, framing, packet handling, and connection-oriented communication.

  • Media processing
    Helpers and components for FFmpeg, OpenCV, and SkiaSharp-based encoding, decoding, conversion, filtering, muxing, and image/media data handling.

  • Real-time streaming
    RTSP-oriented streaming infrastructure and reusable components for real-time media transport.

  • Data and entity storage
    Store and ORM-style infrastructure for applications that keep stateful entities in memory and synchronize them with a database.

Project Modules

  • OPNX.Lib.Common
    Shared primitives and utilities for lifecycle management, serialization, compression, reflection, and common application infrastructure.

  • OPNX.Lib.Network
    Transport and protocol components for TCP, named pipes, shared memory, framing, packets, and connection-oriented communication.

  • OPNX.Lib.Media
    FFmpeg, OpenCV, and SkiaSharp-oriented components for encoding, decoding, conversion, filtering, muxing, and media data handling.

  • OPNX.Lib.Streaming
    RTSP-oriented infrastructure and building blocks for real-time media transport.

  • OPNX.Lib.Data
    Entity store and ORM-style infrastructure for working with in-memory entity state and database-backed persistence.

  • OPNX.Lib
    Aggregated SDK package that references the main OPNX.Lib modules.

Design Direction

OPNX.Lib is designed as an infrastructure layer for larger video systems, not as application-specific code for a single product.

  • It separates application product logic from reusable platform infrastructure.
  • It is designed with long-running servers, clients, gateways, and media pipelines in mind.
  • Libraries depend on logging abstractions instead of a concrete logging framework.
  • Consumers can use Serilog, NLog, Microsoft.Extensions.Logging providers, or another logging implementation.
  • Runtime services, stores, readers, writers, and connection objects accept optional ILogger instances where diagnostics are useful.
  • Static models and pure data structures avoid logger ownership unless there is a clear operational reason.
  • Native runtimes such as FFmpeg are kept separate from OPNX-owned code in both licensing and distribution responsibility.

Use Cases

  • Video Management Systems, VMS
  • Network Video Recorders, NVR
  • Real-time video streaming servers
  • Device gateways
  • Media processing and analysis pipelines
  • Server/device state synchronization systems
  • Shared infrastructure for video-oriented platform applications

Current Status

OPNX.Lib is under active development.

The public API surface is being stabilized. Runnable examples are maintained in the separate OPNX Samples repository, while API and integration documentation will continue to evolve as the project matures.

The current repository should be treated as a preview-quality SDK for evaluation, integration testing, research, non-commercial experimentation, and early feedback rather than as a production-ready SDK.

NuGet Package

OPNX.Lib is published as a preview NuGet package.

Install:

dotnet add package OPNX.Lib --prerelease

This package is intended for preview evaluation and integration testing. API compatibility, package structure, and documentation may change before a stable release.

Build

Requirements:

  • .NET 10 SDK

Build:

dotnet build OPNX.Lib.slnx -c Debug

Samples And Documentation

Runnable sample applications are available in OPNXLabs/opnx-samples:

  • OPNX.Samples.EntityStore — entity store and data infrastructure usage
  • OPNX.Samples.TcpChat — TCP networking and packet flow
  • OPNX.Samples.RtspMultiLiveViewer — RTSP streaming and media integration
  • OPNX.Samples.PlaybackTimeline — integration between OPNX.Lib data models and OPNX.UI playback controls

The samples are preview-quality examples and follow the package versions documented by the samples repository. Planned documentation topics include:

  • network connections and packet flow
  • entity store and database usage
  • media reader/writer usage
  • streaming components
  • logging integration
  • FFmpeg native library configuration

License

OPNX.Lib is source-available, but it is not licensed as permissive open-source software.

OPNX-owned code in this repository may be used for learning, evaluation, research, testing, and other non-commercial purposes.

Commercial use, redistribution, OEM integration, or inclusion in commercial products or services requires prior written permission from OPNX.

See License.txt for full terms. A Korean reference translation is available at License.ko.txt.

Third-Party Components

This repository uses third-party software components under their respective licenses.

Important notes:

  • FFmpeg.AutoGen is used under the MIT License.
  • Native FFmpeg binaries are not covered by the OPNX license.
  • OPNX recommends that users obtain and configure native FFmpeg binaries separately.
  • Any party that bundles or redistributes native FFmpeg binaries is responsible for complying with the license terms that apply to the selected FFmpeg build.
  • OpenCV, SkiaSharp, SIPSorcery, Npgsql, MySqlConnector, ZstdSharp.Port, and other third-party components remain subject to their own license terms.

See THIRD-PARTY-NOTICES.md for details.

  • OPNX Samples Runnable examples for OPNX.Lib and OPNX.UI.

  • OPNX.UI
    UI solution family for OPNX client applications. Its current implementation, OPNX.UI.WPF, provides reusable WPF controls for Windows clients, with room for additional platform-specific UI implementations in the future.

  • OPNX.V
    Video platform applications built on top of OPNX.Lib and OPNX.UI.

Commercial And OEM Inquiries

OPNX.Lib is developed and distributed by 오픈엑스 (OPNX), a business registered in the Republic of Korea.

For commercial licensing, OEM agreements, or partnership inquiries, contact:

Security And Contributions

  • Report security issues privately as described in SECURITY.md.
  • Review CONTRIBUTING.md before opening an issue or proposing a change.
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on OPNX.Lib:

Package Downloads
OPNX.UI.WPF

OPNX WPF UI library for VMS, NVR, and real-time monitoring applications. Preview package for non-commercial evaluation; commercial or production use requires a written OPNX license.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.0-preview.20260716.1 93 7/16/2026