Network Optix created open repositories on GitHub to facilitate the development of integrated products and services for the Video Management Platform (VMP). These repositories contain code examples and packages that our teams use to develop our products.
We are happy to share the source code with the world and make it available via open-source. All repositories are located on https://github.com/networkoptix/.
The following open source repositories are maintained:
- Open Source Desktop Client - This repository contains VMP open-source components – the source code of the Desktop Client application, libraries, frameworks, and specifications used to build all VMP products, including the Video Management System (VMS).
-
Nx Kit - a kit of pure C99/C++11 platform-agnostic utilities useful for experimenting and debugging.
- Example Plugins:
- Sample Analytics - the simplest “Hello world” plugin. It receives video frames from a camera, ignores them, and generates stub metadata Objects looking as a rectangle moving diagonally across the frame. Also an Event is generated when the trajectory finishes a loop. This plugin has many comments in the source code, which help to better understand how Analytics Plugins should be written..
- Stub Analytics - a plugin that utilizes and demonstrates a full set of the features present in VMS. Its dynamic library declares a number of relatively small plugins. They ignore all the received video frames from a camera, but can generate metadata Objects and Events, and use every feature available in the SDK. These Plugins have certain settings which allow testing various SDK features.
- Open Source Tools - a set of essential tools needed to build Desktop Client and process custom binaries
- Open Source Integrations - This repository contains the VMP open source integration examples – the source code and specifications demonstrating how to integrate third-party solutions with the VMP and all VMP-based products.
- Web Packages - The source code and published packages used in building Nx Meta Cloud Portal, Webadmin and various web projects that might be useful for third-party developers.
- Docker Integration Example - This repository contains a ready-to-use `Dockerfile` and a `docker-compose.yaml` file to run the %VMS_NAME% in a Docker container.
The readme.md file in the root of each repository contains all the information needed to build and debug the code.
Each repository serves a different purpose, but they are great places for developers to access source code, specs, and examples that we have made available. Developers are welcome to introduce improvements/features into their own custom client to avoid waiting for the Network Optix team to potentially bring requested features to the official versions.
Licensing
Most of the source code and other files are licensed under the least restrictive terms through the Mozilla Public License 2.0 (unless specified otherwise in the files), which can be found in the license_mpl2.md file in the root directory of the repository.
Developer Support
We WILL support you with the following:
- building unmodified code.
- issues when running the unmodified code.
- issues with the documentation.
We will NOT be able to support you with the following:
- if you are using a custom environment that differs from the one described in the documentation. We assume the environment is set up on a clean OS and the exact OS/IDE/Python/Modules are used. Custom environment can cause conflicts and we cannot test all the possible development environments so we document only a very limited number of them
- issues that are only reproduced in modified code snippets.
- new products that are built using our sources.
- extensive questions regarding different modules.
We are actively working on the documentation for the different modules that will eventually be released, but for now, external developers will have to figure it out by themselves.
Contribution
Currently, we do not accept external contributions back to the main code, although this may change in the future.
Comments
0 comments
Article is closed for comments.