Dsexample gst pipeline explanation

Please provide complete information as applicable to your setup.

**• Hardware Platform (Jetson / GPU)**AGX Xavier
• DeepStream Version5.0
**• JetPack Version (valid for Jetson only)**4.4

The example gst pipeline in here:

> gst-launch-1.0 filesrc location= <mp4-file> ! qtdemux ! h264parse ! nvv4l2decoder ! m.sink_0 nvstreammux name=m batch-size=1 width=1280 height=720 ! nvinfer config-file-path= <primary-detector-config> ! nvvideoconvert ! dsexample full-frame=0 <other-properties> ! nvdsosd ! nvegltransform ! nveglglessink

all make sense to me except the following two elements:

  1. why do we need ‘m.sink_0 nvstreammux name=m batch-size=1 width=1280 height=720’ ? if we don’t need to change width/height, could we skip this element?
  2. why do we need nvvideoconvert between nvinfer and dsexample?


For your questions:

  1. nvstreammux is the plugin which will generate NvMetadata for the following pipeline. NvMetadata is the key of Deepstream. It is not only for resize.

2.nvinfer and dsexample both support NVMM NV12 and NVMM RGBA format inputs, if there is no video format conversion, then there needs a capsfilter for format negotiation.

All information can be found in https://docs.nvidia.com/metropolis/deepstream/dev-guide/index.html#page/DeepStream%20Plugins%20Development%20Guide/deepstream_plugin_details.3.01.html#

1 Like

Thank you Fiona, this is very helpful insights.