deepstream-services-library icon indicating copy to clipboard operation
deepstream-services-library copied to clipboard

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

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

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 CSI Live Camera Source
uint retval = dsl_source_csi_new("csi-source", 1280, 720, 30, 1);

Python3

from dsl import *

# New CSI Live Camera Source
retval = dsl_source_csi_new('csi-source', 1280, 720, 30, 1)

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".

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.

Docker

The deepstream-services-library-docker repo contain a Dockerfile, utility scripts, and instructions to create and run a DSL-DeepStream container, built with the nvcr.io/nvidia/deepstream-l4t:6.0-triton base image (Jetson).

Discord

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

DSL Users Guide

  • Overview
  • Installing Dependencies
  • Building and Importing DSL
  • API Reference
    • Pipeline
    • Player
    • Source
    • Tap
    • Video Dewarper
    • Preprocessor
    • Inference Engines and Servers
    • Multi-Object Tracker
    • Segmentation Visualizer
    • Tiler
    • Demuxer and Splitter
    • On-Screen Display
    • Sink
    • Pad Probe Handler
    • ODE Trigger
    • ODE Accumulator
    • ODE Acton
    • ODE Area
    • ODE Heat-Mapper
    • Display Type
    • Branch
    • Component
    • Mailer
    • WebSocket Server
    • Message Broker
    • Info API
  • Examples
    • C/C++
    • Python
    • Tkinter Reference App
    • HTML WebRTC Client
  • Using VS Code
  • Logging and Debugging