The DeepStream Services Library (DSL) is built on the NVIDIA® DeepStream SDK and requires all SDK components to be installed and verified.
Please consult the NVIDIA DeepStream Quick Start Guide for complete Installation Instructions.
- Minimal (Base) Install
- Enabling Extended Image Services (Optional)
- Enabling Interpipe Services (Optional)
- Documentation and Debug Dependencies (Optional)
Copy and execute one of the following commands according to your Target Device, Jetson or dGPU.
sudo apt update && sudo apt-get install \
libgstrtspserver-1.0-dev \
gstreamer1.0-rtsp \
libapr1 \
libapr1-dev \
libaprutil1 \
libaprutil1-dev \
libgeos-dev \
libcurl4-openssl-dev
sudo apt update && sudo apt-get install \
libgstrtspserver-1.0-dev \
gstreamer1.0-rtsp \
libapr1 \
libapr1-dev \
libaprutil1 \
libaprutil1-dev \
libgeos-dev \
libcurl4-openssl-dev \
libjson-glib-1.0-0 \
libsoup-gnome2.4-dev
Additional installation steps are required to use DSL's extended image services, which include:
- Streaming Image Source
- Object and Frame Capture ODE Actions.
- Frame Capture Sink
DSL provides a choice of using FFmpeg or OpenCV. Note: that installing OpenCV when using a dGPU NVIDIA Docker Image can be problematic.
To use FFmpeg, DSL requires that you clone, build and install the latest version of the FFmpeg development libraries. Any previously installed versions of FFmpeg must be removed first. Enter the following command to check for an existing version.
$ ffmpeg -version
If a version exists, enter the following command to remove it.
$ sudo apt-get autoremove ffmpeg
Copy and execute each of the following commands, one at a time, to setup the required dependencies.
$ mkdir ~/ffmpeg; cd ~/ffmpeg
$ git clone https://github.com/FFmpeg/FFmpeg.git
$ cd FFmpeg
$ ./configure --enable-shared --disable-lzma
$ make
$ sudo make install
Important Notes:
- Building the FFmpeg libraries can take > 15 minutes, depending on the platform.
- If builing in an NVIDIA DeepStream container, you may need to install yasm first
apt-get install yasm
Copy and execute the following command to install the OpenCV development library (as an alternative to using FFmpeg).
sudo apt-get install -y libopencv-dev
After installing FFmpeg or OpenCV, search for the following section in the DSL Makefile and set the appropriate BUILD_WITH flag to true.
# To enable the extended Image Services, install either the FFmpeg or OpenCV
# development libraries (See /docs/installing-dependencies.md), and
# - set either BUILD_WITH_FFMPEG or BUILD_WITH_OPENCV:=true (NOT both)
BUILD_WITH_FFMPEG:=false
BUILD_WITH_OPENCV:=false
The Interpipe Sink and Source are optional/conditional DSL components. To enable, you will need to build and install the RidgeRun plugins. Then update the DSL Makefile to include/build the DSL Sink and Source components. Search for the following section and set BUILD_INTER_PIPE
to true
,
# To enable the InterPipe Sink and Source components
# - set BUILD_INTER_PIPE:=true
BUILD_INTER_PIPE:=true
Doxygen requires dot to convert calling graphs to .png files and Pipeline graphs can be generated using dot as well
sudo apt-get install graphviz imagemagick
To install Doxygen on Ubuntu
sudo apt-get install doxygen
- Installing Dependencies
- Building and Importing DSL
- Overview
- List of all Services
- Pipeline
- Player
- Source
- Tap
- Dewarper
- Preprocessor
- Inference Engine and Server
- Tracker
- Segmentation Visualizer
- Tiler
- On-Screen Display
- Demuxer and Splitter Tees
- Sink
- Pad Probe Handler
- ODE Trigger
- ODE Accumulator
- ODE Action
- ODE Area
- ODE Heat-Mapper
- Display Type
- Branch
- Component
- Mailer
- WebSocket Server
- Message Broker
- Info API