Question on gstreamer pipeline with nvtracker as the last plugin

• Hardware Platform (Jetson / GPU): Jetson
• DeepStream Version: 5.0
• JetPack Version (valid for Jetson only): 4.4
• TensorRT Version: 7.1.3
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs): question

I have a question regarding gstreamer pipeline with nvidia’s plugins. Here is our pipeline for reference:

gst-launch-1.0 udpsrc do-timestamp=true port=6000 buffer-size=60000000 ! application/x-rtp, media=video, clock-rate=90000, encoding-name=H${enc},playload=96 ! queue ! rtph${enc}depay ! h${enc}parse ! video/x-h${enc},alignment=au ! nvv4l2decoder disable-dpb=true enable-max-performance=1 ! queue max-size-bytes=0 ! m.sink_0 \ udpsrc do-timestamp=true port=6001 buffer-size=60000000 ! application/x-rtp, media=video, clock-rate=90000, encoding-name=H${enc},playload=96 ! queue ! rtph${enc}depay ! h${enc}parse ! video/x-h${enc},alignment=au ! nvv4l2decoder disable-dpb=true enable-max-performance=1 ! queue max-size-bytes=0 ! m.sink_1 \ udpsrc do-timestamp=true port=6002 buffer-size=60000000 ! application/x-rtp, media=video, clock-rate=90000, encoding-name=H${enc},playload=96 ! queue ! rtph${enc}depay ! h${enc}parse ! video/x-h${enc},alignment=au ! nvv4l2decoder disable-dpb=true enable-max-performance=1 ! queue max-size-bytes=0 ! m.sink_2 \ udpsrc do-timestamp=true port=6003 buffer-size=60000000 ! application/x-rtp, media=video, clock-rate=90000, encoding-name=H${enc},playload=96 ! queue ! rtph${enc}depay ! h${enc}parse ! video/x-h${enc},alignment=au ! nvv4l2decoder disable-dpb=true enable-max-performance=1 ! queue max-size-bytes=0 ! m.sink_3 \ nvstreammux name=m live-source=true width=1920 height=1080 batch-size=4 batched-push-timeout=32000 ! queue \ ! nvinfer interval=1 batch-size=4 config-file-path=/home/apps/AI/algo_share/trafficYolo_deepstream/config_infer_primary_yoloV3_4channels.txt \ ! nvtracker tracker-width=416 tracker-height=416 ll-lib-file=/home/apps/AI/algo_share/gst-nvdstracker-iti/libnvds_customtracker.so

Our pipeline is intuitive: Unlike the gstreamer pipelines shown in deepstream app examples or developer guide, our application doesn’t require any display and OSD functions but simply reads the metadata from nvtracker and outputs the objects’ trackID and xy locations etc. This pipeline above can be launched successfully.

My question is: is it legit or safe to put nvtracker as the last plugin without any sink-type plugin linked to it? I notice nvtracker plugin has it own src pad inside to output Gstbuffers, so I wonder if it’s necessary to attach another sink-type plugin with sink pad to take the Gstbuffers (e.g. …->nvegltransform ->nveglglessink from FAQ).

Thanks in advance!

You can link fakesink if needn’t any display and OSD.

Thanks. May I ask what the risk is if I don’t have a fakesink attached at the end?

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

GStreamer sink plugin will handle synchronization, report EOS to application, etc. Please add fakesink if needn’t any display and OSD.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.