DeepStream pipelines

From RidgeRun Developer Connection
Jump to: navigation, search

Contents

Introduction

On this page, you are going to find a set of DeepStream pipelines used on Jetson Xavier and Nano, specifically used with the Jetson board. This wiki page tries to describe some of the DeepStream features for the NVIDIA platforms and other multimedia features. The goal is to provide you some example pipelines.

Dependencies

The pipelines have the following dependencies:

GStreamer Daemon

GStreamer Daemon is, as it name states, a process that runs independently and exposes a public interface for other processes to communicate with and control the daemon. The goal behind Gstd is to abstract much of the complexity of writing custom GStreamer applications, as well as factoring out lots of boilerplate code required to write applications from scratch. You could install the plugin with GStreamer_Daemon

We use Gstreamer Daemon for could run pipelines with a primary and secondary DeepStream method.

Pipelines

For all the rtsp examples we use the free rtsp stream of: Maryland

Xavier

RTSP Stream

rtsp stream displayed with nvoverlay

gst-launch-1.0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/1701519c02510075004d823633235daa" ! queue ! nvoverlaysink sync=false

Crop

640x480 crop using videocrop

gst-launch-1.0 nvarguscamerasrc ! "video/x-raw(memory:NVMM), width=3264, height=2464" ! nvvidconv ! videocrop left=0 right=2624 top=0 bottom=1984 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=640, height=480' !  nvoverlaysink sync=false

640x480 crop using videocrop (auto)

gst-launch-1.0 nvarguscamerasrc ! "video/x-raw(memory:NVMM)" ! nvvidconv ! 'video/x-raw, width=3264, height=2464' ! videocrop left=0 right=-1 top=0 bottom=-1 ! 'video/x-raw, width=640, height=480' ! nvvidconv !  nvoverlaysink sync=false

640x480 crop using nvvidconv

gst-launch-1.0 nvarguscamerasrc ! "video/x-raw(memory:NVMM), width=3264, height=2464" ! nvvidconv left=0 right=640 top=0 bottom=480 ! 'video/x-raw(memory:NVMM), width=640, height=480' !  nvoverlaysink sync=false

RTSP Stream and Crop

rtsp stream croped to 640x480 using videocrop

gst-launch-1.0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/1701519c02510075004d823633235daa" ! queue ! nvvidconv ! videocrop left=0 right=80 top=0 bottom=200 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=640, height=480' !  nvoverlaysink sync=false

rtsp stream croped to 640x480 using nvvidconv

gst-launch-1.0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/1701519c02510075004d823633235daa" ! queue ! nvvidconv left=0 right=80 top=0 bottom=200 ! 'video/x-raw(memory:NVMM), width=640, height=480' !  nvoverlaysink sync=false

Detection

Detection (primary) + overlay

Using rtsp
gst-launch-1.0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
  • Output
Example detection (primary) + overlay output
Using mp4 file
gst-launch-1.0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
  • Output
Example detection (primary) + overlay output


Detection (primary) + tracker

Using rtsp
Using mot_iou tracker
gst-launch-1.0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvmultistreamtiler ! queue ! nvtracker tracker-width=240 tracker-height=200 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_iou.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/iou_config.txt ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink
Using mot_klt tracker
gst-launch-1.0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvmultistreamtiler ! queue ! nvtracker tracker-width=240 tracker-height=200 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_klt.so ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
Using mp4 file
Using mot_iou tracker
gst-launch-1.0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvmultistreamtiler ! queue ! nvtracker tracker-width=240 tracker-height=200 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_iou.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/iou_config.txt ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink
Using mot_klt tracker
gst-launch-1.0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvmultistreamtiler ! queue ! nvtracker tracker-width=240 tracker-height=200 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_klt.so ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false


Detection (primary) + tracker + car color classification (Secondary)

Using rtsp
gstd-client pipeline_create p0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_carcolor.txt"  model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_CarColor/resnet18.caffemodel_b16_int8.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0
  • Output
Example Detection (primary) + tracker + car color classification (Secondary) output
Using mp4 file
gstd-client pipeline_create p0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_carcolor.txt"  model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_CarColor/resnet18.caffemodel_b16_int8.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0
  • Output
Example Detection (primary) + tracker + car color classification (Secondary) output

Detection (primary) + tracker + car make classification (Secondary)

Using rtsp
gstd-client pipeline_create p0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_carmake.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_CarMake/resnet18.caffemodel_b16_int8.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0
  • Output
Example Detection (primary) + tracker + car make classification (Secondary) output


Using mp4 file
gstd-client pipeline_create p0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_carmake.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_CarMake/resnet18.caffemodel_b16_int8.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0
  • Output
Example Detection (primary) + tracker + car make classification (Secondary) output

Detection (primary) + tracker + car type classification (Secondary)

Using rtsp
gstd-client pipeline_create p0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_vehicletypes.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_VehicleTypes/resnet18.caffemodel_b16_int8.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0
  • Output
Example Detection (primary) + tracker + car type classification (Secondary) output


Using mp4 file
gstd-client pipeline_create p0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector/resnet10.caffemodel_b30_int8.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_vehicletypes.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_VehicleTypes/resnet18.caffemodel_b16_int8.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0
  • Output
Example Detection (primary) + tracker + car type classification (Secondary) output

Nano

The pipelines of rtsp and crop are the same as before.

Detection

Detection (primary) + overlay

Using rtsp
gst-launch-1.0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
Using mp4 file
gst-launch-1.0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false

Detection (primary) + tracker

Using rtsp
Using mot_iou tracker
gst-launch-1.0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvmultistreamtiler ! queue ! nvtracker tracker-width=240 tracker-height=200 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_iou.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/iou_config.txt ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink
Using mot_klt tracker
gst-launch-1.0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvmultistreamtiler ! queue ! nvtracker tracker-width=240 tracker-height=200 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_klt.so ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
Using mp4 file
Using mot_iou tracker
gst-launch-1.0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvmultistreamtiler ! queue ! nvtracker tracker-width=240 tracker-height=200 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_iou.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/iou_config.txt ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink
Using mot_klt tracker
gst-launch-1.0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1280 height=720 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvmultistreamtiler ! queue ! nvtracker tracker-width=240 tracker-height=200 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_klt.so ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false

Detection (primary) + tracker + car color classification (Secondary)

Using rtsp
gstd-client pipeline_create p0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_carcolor.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_CarColor/resnet18.caffemodel_b16_fp16.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0
Using mp4 file
gstd-client pipeline_create p0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_carcolor.txt"  model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_CarColor/resnet18.caffemodel_b16_fp16.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0

Detection (primary) + tracker + car make classification (Secondary)

Using rtsp
gstd-client pipeline_create p0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_carmake.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_CarMake/resnet18.caffemodel_b16_fp16.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0
Using mp4 file
gstd-client pipeline_create p0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_carmake.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_CarMake/resnet18.caffemodel_b16_fp16.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0

Detection (primary) + tracker + car type classification (Secondary)

Using rtsp
gstd-client pipeline_create p0 uridecodebin3 uri="rtspt://170.93.143.139/rtplive/4e00a5cd00050075004d823633235daa" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_vehicletypes.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_VehicleTypes/resnet18.caffemodel_b16_f16.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0
Using mp4 file
gstd-client pipeline_create p0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream-4.0/samples/streams/sample_1080p_h264.mp4" ! queue ! nvstreammux0.sink_0 nvstreammux name=nvstreammux0 batch-size=1 batched-push-timeout=40000 width=1920 height=1080 live-source=TRUE ! queue ! nvvideoconvert ! queue ! nvinfer name=nvinfer1 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_primary_nano.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine" ! queue ! nvtracker tracker-width=640 tracker-height=368 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so ll-config-file=/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/tracker_config.yml enable-batch-process=1 ! queue ! nvinfer name=nvinfer2 process-mode=secondary infer-on-gie-id=1 infer-on-class-ids="0:" batch-size=16 config-file-path="/opt/nvidia/deepstream/deepstream-4.0/samples/configs/deepstream-app/config_infer_secondary_vehicletypes.txt" model-engine-file="/opt/nvidia/deepstream/deepstream-4.0/samples/models/Secondary_VehicleTypes/resnet18.caffemodel_b16_f16.engine" ! queue ! nvdsosd process-mode=HW_MODE ! queue ! nvoverlaysink sync=false
gstd-client element_set p0 nvinfer1 unique-id 1
gstd-client element_set p0 nvinfer2 unique-id 2
gstd-client pipeline_play p0