Help with Gstreamer pipeline

Hi dear Nvidia developers!

Briefly, I am trying object detection with nvinfer on Python as Deepstream currently does not support Python bindings.

However, I am not used to Gstreamer. Help will be much appreciated.

My pipeline is as follows:

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, width=3840, height=2160  ! nvvideoconvert ! nvinfer config-file-path= <my_infer_config> batch-size=1 unique-id=1  ! nvdsosd ! nvegltransform ! appsink

PS: Below pipeline works.

gst-launch-1.0 filesrc location= <mp4_source> ! qtdemux ! h264parse ! nvv4l2decoder ! m.sink_0 nvstreammux name=m batch-size=1 width=$((1920)) height=$((1080)) ! nvinfer config-file-path= <my_infer_config> batch-size=1 unique-id=1 ! nvvideoconvert ! nvdsosd ! nvegltransform ! nveglglessink

Hi alperylmcx,

I believe that you are missing a section on your camera pipeline, please try the following pipeline

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, width=3840, height=2160  ! nvvideoconvert ! m.sink_0 nvstreammux name=m batch-size=1 width=$((1920)) height=$((1080)) ! nvinfer config-file-path= <my_infer_config> batch-size=1 unique-id=1  ! nvdsosd ! nvmultistreamtiler! nvegltransform ! appsink

Regards.

Hi greivin.fallas,

Thank you for your suggestion.
I got error with your pipeline.

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, width=3840, height=2160  ! nvvideoconvert ! m.sink_0 nvstreammux name=m batch-size=1 width=$((1920)) height=$((1080)) ! nvinfer config-file-path= /opt/nvidia/deepstream/deepstream-4.0/sources/objectDetector_Yolo/config_infer_primary_yoloV3.txt batch-size=1 unique-id=1  ! nvdsosd ! nvmultistreamtiler! nvegltransform ! appsink
Setting pipeline to PAUSED ...
Creating LL OSD context new
Deserialize yoloLayerV3 plugin: yolo_83
Deserialize yoloLayerV3 plugin: yolo_95
Deserialize yoloLayerV3 plugin: yolo_107
Pipeline is live and does not need PREROLL ...
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

Hi,
You may also refer to https://devtalk.nvidia.com/default/topic/1064944/

Hi DaneLLL,

Thank you for suggestion. However, I did not find any information on that topic.

Hi,
You may try to send BGR to appsink.