Image inference in Deepstream Python

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson
• DeepStream Version 6.3
• JetPack Version (valid for Jetson only) 5.1.2
• Issue Type( questions, new requirements, bugs) bugs

Hi,
I am trying to implement a Python DeepStream pipeline to infer a JPEG image with filesrc + jpegparser + nvv4l2decoder. You can see my pipeline below:

However, when I run the pipeline, I encounter the following error. I am using a probe function at fakesink, but it is not being called. Could you tell me what the problem might be and how I can solve it?

Opening in BLOCKING MODE 
Opening in BLOCKING MODE 
0:00:00.369614733   119     0x137f3180 WARN                    v4l2 gstv4l2object.c:4561:gst_v4l2_object_probe_caps:<nvv4l2-decoder:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:00.369660399   119     0x137f3180 WARN                    v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0x12eec470 Failed to determine interlace mode
0:00:00.369684400   119     0x137f3180 WARN                    v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0x12eec470 Failed to determine interlace mode
0:00:00.369702417   119     0x137f3180 WARN                    v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0x12eec470 Failed to determine interlace mode
0:00:00.369719793   119     0x137f3180 WARN                    v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0x12eec470 Failed to determine interlace mode
0:00:03.760757795   119     0x137f3180 INFO                 nvinfer gstnvinfer.cpp:682:gst_nvinfer_logger:<pgie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1988> [UID = 1]: deserialized trt engine from :/models/pgies/trafficcam/resnet18_trafficcamnet_pruned.etlt_b1_gpu0_int8.engine
INFO: [Implicit Engine Info]: layers num: 3
0   INPUT  kFLOAT input_1         3x544x960       
1   OUTPUT kFLOAT output_bbox/BiasAdd 16x34x60        
2   OUTPUT kFLOAT output_cov/Sigmoid 4x34x60         

0:00:03.937637762   119     0x137f3180 INFO                 nvinfer gstnvinfer.cpp:682:gst_nvinfer_logger:<pgie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2091> [UID = 1]: Use deserialized engine model: /models/pgies/trafficcam/resnet18_trafficcamnet_pruned.etlt_b1_gpu0_int8.engine
0:00:03.966136049   119     0x137f3180 INFO                 nvinfer gstnvinfer_impl.cpp:328:notifyLoadModelStatus:<pgie> [UID 1]: Load new model:./configs/pgies/trafficcam/trafficcam.txt sucessfully
0:00:03.966474750   119     0x137f3180 WARN                 basesrc gstbasesrc.c:3600:gst_base_src_start_complete:<file-source> pad not activated yet
NvMMLiteBlockCreate : Block : BlockType = 256 
[JPEG Decode] BeginSequence Display WidthxHeight 640x360
0:00:04.068971965   119     0x137e2d20 WARN                    v4l2 gstv4l2object.c:4561:gst_v4l2_object_probe_caps:<nvv4l2-decoder:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:04.069050720   119     0x137e2d20 WARN                    v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0x12eec470 Failed to determine interlace mode
0:00:04.069095330   119     0x137e2d20 WARN                    v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0x12eec470 Failed to determine interlace mode
0:00:04.069122947   119     0x137e2d20 WARN                    v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0x12eec470 Failed to determine interlace mode
0:00:04.069146948   119     0x137e2d20 WARN                    v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0x12eec470 Failed to determine interlace mode
0:00:04.069635767   119     0x137e2d20 WARN                GST_PADS gstpad.c:4231:gst_pad_peer_query:<nvv4l2-decoder:src> could not send sticky events
0:00:04.069893185   119     0x137e2d20 WARN            v4l2videodec gstv4l2videodec.c:2305:gst_v4l2_video_dec_decide_allocation:<nvv4l2-decoder> Duration invalid, not setting latency
0:00:04.072161081   119     0x137e2d20 WARN          v4l2bufferpool gstv4l2bufferpool.c:1114:gst_v4l2_buffer_pool_start:<nvv4l2-decoder:pool:src> Uncertain or not enough buffers, enabling copy threshold
0:00:04.077497447   119     0x2d9fbf00 WARN          v4l2bufferpool gstv4l2bufferpool.c:1565:gst_v4l2_buffer_pool_dqbuf:<nvv4l2-decoder:pool:src> Driver should never set v4l2_buffer.field to ANY
nvstreammux: Successfully handled EOS for source_id=0

Try building the following pipeline, I think it should work.

gst-launch-1.0 -e nvstreammux name=mux batch-size=1 width=1920 height=1080 ! nvinfer config-file-path=/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-image-decode-test/dstest_image_decode_pgie_config.txt batch-size=1 ! nvvideoconvert ! nvdsosd ! nvvideoconvert ! nvjpegenc ! filesink location=out.jpg filesrc location=/opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.jpg ! jpegparse ! nvv4l2decoder ! nvvideoconvert ! "video/x-raw(memory:NVMM), format=(string)NV12" ! mux.sink_0

Thank you for your reply. Based on your GStreamer pipeline, I realized some mistakes in my code and was able to correct them. This works well.

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