DeepStream pipelines

From RidgeRun Developer Wiki


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 to run pipelines with a primary and secondary DeepStream method.

Pipelines

Xavier

RTSP Stream

rtsp stream displayed with nvoverlay
gst-launch-1.0 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.mp4" ! 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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.mp4" ! 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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.mp4" ! 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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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
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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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/samples/streams/sample_1080p_h265.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
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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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
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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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
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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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
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 uridecodebin3 uri="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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
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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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/samples/streams/sample_1080p_h265.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
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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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
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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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
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="file:///opt/nvidia/deepstream/deepstream/samples/streams/sample_1080p_h265.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
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


RidgeRun Resources

Quick Start Client Engagement Process RidgeRun Blog Homepage
Technical and Sales Support RidgeRun Online Store RidgeRun Videos Contact Us
RidgeRun.ai: Artificial Intelligence | Generative AI | Machine Learning

Contact Us

Visit our Main Website for the RidgeRun Products and Online Store. RidgeRun Engineering information is available at RidgeRun Engineering Services, RidgeRun Professional Services, RidgeRun Subscription Model and Client Engagement Process wiki pages. Please email to support@ridgerun.com for technical questions and contactus@ridgerun.com for other queries. Contact details for sponsoring the RidgeRun GStreamer projects are available in Sponsor Projects page.