Skip to content

Commit f70dcc9

Browse files
committedAug 30, 2022
Update to 1.1.4 release
This release is compatible with DeepStream SDK 6.1.1 Ubuntu 20.04 Python 3.8 DeepStream SDK 6.1.1 Features: - New app deepstream-demux-multi-in-multi-out added - Updated deepstream_test_4.ipynb notebook - Change binding gst_nvevent_new_stream_reset() to gst_element_send_nvevent_new_stream_reset() - Deprecation: member "dims" of "NvDsInferLayerInfo" deprecated in favor of "inferDims" - Deprecation: member "atttributeIndex" of "NvDsInferAttribute" deprecated in favor of "attributeIndex" - Update to PeopleNet v2.6 for deepstream-test3 app
1 parent 175d711 commit f70dcc9

File tree

37 files changed

+934
-267
lines changed

37 files changed

+934
-267
lines changed
 

‎HOWTO.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ This guide provides resources for DeepStream application development in Python.
1616
## Prerequisites
1717

1818
* Ubuntu 20.04
19-
* [DeepStream SDK 6.1](https://developer.nvidia.com/deepstream-download) or later
19+
* [DeepStream SDK 6.1.1](https://developer.nvidia.com/deepstream-download) or later
2020
* Python 3.8
2121
* [Gst Python](https://gstreamer.freedesktop.org/modules/gst-python.html) v1.16.2
2222

@@ -46,11 +46,11 @@ Note: Compiling bindings now also generates a pip installable python wheel for t
4646
<a name="run_samples"></a>
4747
## Running Sample Applications
4848

49-
Clone the deepstream_python_apps repo under <DeepStream 6.1 ROOT>/sources:
49+
Clone the deepstream_python_apps repo under <DeepStream 6.1.1 ROOT>/sources:
5050
git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps
5151

5252
This will create the following directory:
53-
```<DeepStream 6.1 ROOT>/sources/deepstream_python_apps```
53+
```<DeepStream 6.1.1 ROOT>/sources/deepstream_python_apps```
5454

5555
The Python apps are under the "apps" directory.
5656
Go into each app directory and follow instructions in the README.

‎README.md

+5-4
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
This repository contains Python bindings and sample applications for the [DeepStream SDK](https://developer.nvidia.com/deepstream-sdk).
44

5-
SDK version supported: 6.1
5+
SDK version supported: 6.1.1
66

77
<b>The bindings sources along with build instructions are now available under [bindings](bindings)! </b>
88

9-
<b>This release comes with Operating System upgrades (from Ubuntu 18.04 to Ubuntu 20.04) for DeepStreamSDK 6.1 support. This translates to upgrade in Python version to 3.8 and [gst-python](3rdparty/gst-python/) version has also been upgraded to 1.16.2 !</b>
9+
<b>This release comes with Operating System upgrades (from Ubuntu 18.04 to Ubuntu 20.04) for DeepStreamSDK 6.1.1 support. This translates to upgrade in Python version to 3.8 and [gst-python](3rdparty/gst-python/) version has also been upgraded to 1.16.2 !</b>
1010

1111
Download the latest release package complete with bindings and sample applications from the [release section](../../releases).
1212

@@ -43,7 +43,7 @@ To run the sample applications or write your own, please consult the [HOW-TO Gui
4343
We currently provide the following sample applications:
4444
* [deepstream-test1](apps/deepstream-test1) -- 4-class object detection pipeline
4545
* [deepstream-test2](apps/deepstream-test2) -- 4-class object detection, tracking and attribute classification pipeline
46-
* <b>UPDATE</b> [deepstream-test3](apps/deepstream-test3) -- multi-stream pipeline performing 4-class object detection - now also supports triton inference server, no-display mode, file-loop and silent mode
46+
* [deepstream-test3](apps/deepstream-test3) -- multi-stream pipeline performing 4-class object detection - now also supports triton inference server, no-display mode, file-loop and silent mode
4747
* [deepstream-test4](apps/deepstream-test4) -- msgbroker for sending analytics results to the cloud
4848
* [deepstream-imagedata-multistream](apps/deepstream-imagedata-multistream) -- multi-stream pipeline with access to image buffers
4949
* [deepstream-ssd-parser](apps/deepstream-ssd-parser) -- SSD model inference via Triton server with output parsing in Python
@@ -55,7 +55,8 @@ We currently provide the following sample applications:
5555
* [runtime_source_add_delete](apps/runtime_source_add_delete) -- add/delete source streams at runtime
5656
* [deepstream-imagedata-multistream-redaction](apps/deepstream-imagedata-multistream-redaction) -- multi-stream pipeline with face detection and redaction
5757
* [deepstream-rtsp-in-rtsp-out](apps/deepstream-rtsp-in-rtsp-out) -- multi-stream pipeline with RTSP input/output
58-
* <b>NEW</b> [deepstream-preprocess-test](apps/deepstream-preprocess-test) -- multi-stream pipeline using nvdspreprocess plugin with custom ROIs
58+
* [deepstream-preprocess-test](apps/deepstream-preprocess-test) -- multi-stream pipeline using nvdspreprocess plugin with custom ROIs
59+
* <b>NEW</b> [deepstream-demux-multi-in-multi-out](apps/deepstream-demux-multi-in-multi-out) -- multi-stream pipeline using nvstreamdemux plugin to generated separate buffer outputs
5960

6061

6162
Detailed application information is provided in each application's subdirectory under [apps](apps).

‎apps/README

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ DeepStream SDK Python Bindings
2020
================================================================================
2121
Setup pre-requisites:
2222
- Ubuntu 20.04
23-
- NVIDIA DeepStream SDK 6.1
23+
- NVIDIA DeepStream SDK 6.1.1
2424
- Python 3.8
2525
- Gst-python
2626

@@ -52,7 +52,7 @@ Package Contents
5252
Installing Pre-requisites:
5353
--------------------------------------------------------------------------------
5454

55-
DeepStream SDK 6.1
55+
DeepStream SDK 6.1.1
5656
--------------------
5757
Download and install from https://developer.nvidia.com/deepstream-download
5858

@@ -70,7 +70,7 @@ $ sudo apt install python3-gi python3-dev python3-gst-1.0 -y
7070
--------------------------------------------------------------------------------
7171
Running the samples
7272
--------------------------------------------------------------------------------
73-
The apps are configured to work from inside the DeepStream SDK 6.1 installation.
73+
The apps are configured to work from inside the DeepStream SDK 6.1.1 installation.
7474

7575
Clone the deepstream_python_apps repo under <DeepStream ROOT>/sources:
7676
$ git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
################################################################################
2+
# SPDX-FileCopyrightText: Copyright (c) 2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3+
# SPDX-License-Identifier: Apache-2.0
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
################################################################################
17+
18+
Prerequisites:
19+
- DeepStreamSDK 6.1.1
20+
- Python 3.8
21+
- Gst-python
22+
23+
To run:
24+
$ python3 deepstream_demux_multi_in_multi_out.py -i <uri1> [uri2] ... [uriN]
25+
e.g.
26+
$ python3 deepstream_demux_multi_in_multi_out.py -i file:///home/ubuntu/video1.mp4 file:///home/ubuntu/video2.mp4
27+
$ python3 deepstream_demux_multi_in_multi_out.py -i rtsp://127.0.0.1/video1 rtsp://127.0.0.1/video2
28+
29+
This document describes the sample deepstream_demux_multi_in_multi_out application.
30+
31+
This sample builds on top of the deepstream-test3 sample to demonstrate how to:
32+
33+
* Uses multiple sources in the pipeline.
34+
* The pipeline uses `nvstreamdemux` to split batches and output separate buffer/streams.
35+
* `nvstreamdemux` helps when separate output is required for each input stream.
36+
37+
Refer to the deepstream-test1 sample documentation for an example of simple
38+
single-stream inference, bounding-box overlay, and rendering.
39+
40+
Nvstreamdemux reference - https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvstreamdemux.html
41+
42+
This sample accepts one or more H.264/H.265 video streams as input. It creates
43+
a source bin for each input and connects the bins to an instance of the
44+
"nvstreammux" element, which forms the batch of frames. The batch of
45+
frames is fed to "nvinfer" for batched inferencing. "nvstreamdemux" demuxes batched frames into individual buffers.
46+
It creates a separate Gst Buffer for each frame in the batch. For each input separate branch is created with the following elements in series
47+
`nvstreamdemux -> queue -> nvvidconv -> nvosd -> nveglglessink`
48+
So for two inputs, 2 separate output windows are created, likewise for N input N outputs are created.
49+
50+
The "width" and "height" properties must be set on the stream-muxer to set the
51+
output resolution. If the input frame resolution is different from
52+
stream-muxer's "width" and "height", the input frame will be scaled to muxer's
53+
output resolution.
54+
55+
The stream-muxer waits for a user-defined timeout before forming the batch. The
56+
timeout is set using the "batched-push-timeout" property. If the complete batch
57+
is formed before the timeout is reached, the batch is pushed to the downstream
58+
element. If the timeout is reached before the complete batch can be formed
59+
(which can happen in case of rtsp sources), the batch is formed from the
60+
available input buffers and pushed. Ideally, the timeout of the stream-muxer
61+
should be set based on the framerate of the fastest source. It can also be set
62+
to -1 to make the stream-muxer wait infinitely.
63+

0 commit comments

Comments
 (0)