Skip to content

Latest commit

 

History

History
 
 

apps

################################################################################
# Copyright (c) 2019-2021, NVIDIA CORPORATION. All rights reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
################################################################################

================================================================================
DeepStream SDK Python Bindings
================================================================================
Setup pre-requisites:
- Ubuntu 18.04
- NVIDIA DeepStream SDK 5.1
- Python 3.6
- Gst-python

--------------------------------------------------------------------------------
Package Contents
--------------------------------------------------------------------------------
The DeepStream Python package includes:
1. Python bindings for DeepStream Metadata libraries
   These bindings are installed as part of the SDK at:
   /opt/nvidia/deepstream/deepstream/lib/pyds.so
   
   Sample applications that import is_aarch_64 automatically
   have this path added.

   A setup.py is also provided to install this extension into standard path.
   Currently this needs to be run manually:
   $ cd /opt/nvidia/deepstream/deepstream/lib
   $ python3 setup.py install
   
2. DeepStream test apps in Python
   The following test apps are available:
   deepstream-test1
   deepstream-test2
   deepstream-test3
   deepstream-test4
   deepstream-imagedata-multistream
   deepstream-ssd-parser
   deepstream-test1-rtsp-out
   deepstream-test1-usbcam
   deepstream-opticalflow
   deepstream-segmentation
   deepstream-nvdsanalytics

--------------------------------------------------------------------------------
Installing Pre-requisites:
--------------------------------------------------------------------------------

DeepStream SDK 5.1 Developer Preview
--------------------
Download and install from https://developer.nvidia.com/deepstream-download

Python 3.6
----------
Should be already installed with Ubuntu 18.04

Gst-python
----------
Should be already installed on Jetson
If missing, install with the following steps:
$ sudo apt update
$ sudo apt install python3-gi python3-dev python3-gst-1.0 -y

--------------------------------------------------------------------------------
Running the samples
--------------------------------------------------------------------------------
The apps are configured to work from inside the DeepStream SDK 5.1 installation.

Clone the deepstream_python_apps repo under <DeepStream 5.1 ROOT>/sources:
$ git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps
This will create the following directory:
<DeepStream 5.1 ROOT>/sources/deepstream_python_apps

Follow README in each app's directory to run the app.

Example: running test1 app:
$ cd deepstream-test1
$ python3 deepstream_test_1.py <input .h264 file>

--------------------------------------------------------------------------------
Running the samples inside DeepStream SDK docker
--------------------------------------------------------------------------------
The general steps are:
1. Pull the DeepStream SDK docker of choice following the latest DeepStream
   Release Notes at https://developer.nvidia.com/deepstream-sdk for more info.
   Note that the deepstream-ssd-parser app requires the Triton docker on x86_64.
2. Run the docker with Python Bindings mapped using the following option:
   -v <path to this python bindings directory>:/opt/nvidia/deepstream/deepstream/sources/python
3. Inside the container, install packages required by all samples:
   $ sudo apt update
   $ sudo apt install python3-gi python3-dev python3-gst-1.0 -y
4. Optionally install additional dependencies required by specific samples.
   See README in app's directory for such requirements.
   $ sudo apt install python3-opencv
   $ sudo apt install python3-numpy
   $ sudo apt install libgstrtspserver-1.0-0 gstreamer1.0-rtsp
   $ sudo apt install libgirepository1.0-dev
   $ sudo apt install gobject-introspection gir1.2-gst-rtsp-server-1.0
5. Run sample apps following directions in each app's README.

--------------------------------------------------------------------------------
Notes:
--------------------------------------------------------------------------------
As with DeepStream SDK, if the application runs into errors, cannot create gst elements, 
try again after removing gstreamer cache
   rm ${HOME}/.cache/gstreamer-1.0/*