Skip to content

A shared library of on-demand DeepStream Pipeline Services for Python and C/C++

License

Notifications You must be signed in to change notification settings

prominenceai/deepstream-services-library

Repository files navigation

GitHub release (latest by date including pre-releases) GitHub license Documentation Status Ask Me Anything! Discord

DeepStream Services Library

Intelligent Audio and Video Analytics (IAVA)

A library of on-demand DeepStream Pipeline services. Written in C++ 17 with an extern "C" API, The DeepStream Services Library (DSL) can be called from both C/C++ and Python applications.

Examples

C++

#include <DslApi.h>

// New V4L2 Source
uint retval = dsl_source_v4l2_new(L"my-web-cam-1", L"/dev/video0");

Python3

from dsl import *

# New V4L2 Source
retval = dsl_source_v4l2_new('my-web-cam-1', '/dev/video0')

DSL is built on the NVIDIA® DeepStream SDK, "A complete streaming analytics toolkit for AI-based video and image understanding, as well as multi-sensor processing.",

The DeepStream SDK and DSL use the open source GStreamer,  "An extremely powerful and versatile framework for creating streaming media applications".


Important Bulletins

WARNING! There is a cricical error in the DeepStream 7.0 Installation Instructions.

Under the section Install librdkafka, the following instructions

$ sudo mkdir -p /opt/nvidia/deepstream/deepstream/lib
$ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream/lib

Must be replaced with.

$ sudo mkdir -p /opt/nvidia/deepstream/deepstream-7.0/lib
$ sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-7.0/lib

See Error in DeepStream 7.0 installation instructions - symlink fails to create for more information.

Contributing

DSL is released under the MIT License. Contributions are welcome and greatly appreciated. Please review our code of conduct.

Please report issues!

DSL Branching Workflow

DSL Git Branching Workflow

  1. Master is always the latest release and is only updated once per release.
  2. Develop is the next release currently in development. The branch will be named with the next release label.
  3. Feature all work is done on feature branches, named for the feature under development.

All pull requests should be made against the current Develop branch.

Discord

Come join us on Discord, an informal place to chat, ask questions, discuss ideas, etc.

DSL Users Guide