Deepstream-test4 python app no response DS6.0.1

I’m trying to get meta-data on a kafka topic of this custom setup of deepstream-test4 of python bindings with deepstream 6.0.1. But I do not receive any response after the following log:

Creating Pipeline 
 
Creating Source 
 
Creating H264Parser 

Creating Decoder 

Creating EGLSink 

Playing file /opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_1080p_h264.mp4 
Adding elements to Pipeline 

Linking elements in the Pipeline 

Starting pipeline 

0:00:00.171351344 20153      0x2d63e60 WARN                 nvinfer gstnvinfer.cpp:635:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::initialize() <nvdsinfer_context_impl.cpp:1161> [UID = 1]: Warning, OpenCV has been deprecated. Using NMS for clustering instead of cv::groupRectangles with topK = 20 and NMS Threshold = 0.5
WARNING: [TRT]: TensorRT was linked against cuDNN 8.2.1 but loaded cuDNN 8.1.1
WARNING: [TRT]: TensorRT was linked against cuDNN 8.2.1 but loaded cuDNN 8.1.1
0:00:01.253752695 20153      0x2d63e60 INFO                 nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:1900> [UID = 1]: deserialized trt engine from :/opt/nvidia/deepstream/deepstream-6.0/samples/models/Primary_Detector/resnet10.caffemodel_b1_gpu0_int8.engine
INFO: ../nvdsinfer/nvdsinfer_model_builder.cpp:610 [Implicit Engine Info]: layers num: 3
0   INPUT  kFLOAT input_1         3x368x640       
1   OUTPUT kFLOAT conv2d_bbox     16x23x40        
2   OUTPUT kFLOAT conv2d_cov/Sigmoid 4x23x40         

0:00:01.253808717 20153      0x2d63e60 INFO                 nvinfer gstnvinfer.cpp:638:gst_nvinfer_logger:<primary-inference> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2004> [UID = 1]: Use deserialized engine model: /opt/nvidia/deepstream/deepstream-6.0/samples/models/Primary_Detector/resnet10.caffemodel_b1_gpu0_int8.engine
0:00:01.254520958 20153      0x2d63e60 INFO                 nvinfer gstnvinfer_impl.cpp:313:notifyLoadModelStatus:<primary-inference> [UID 1]: Load new model:dstest4_pgie_config.txt sucessfully

I used the following command:


sudo python3 deepstream_test_4.py -i /opt/nvidia/deepstream/deepstream-6.0/samples/streams/sample_1080p_h264.mp4 -p /opt/nvidia/deepstream/deepstream-6.0/lib/libnvds_kafka_proto.so --conn-str "localhost;9092;rawdata2" --topic "rawdata2" -s 0

I’ve following questions:

  1. Why is the application showing this behaviour? Is anything configured incorrectly?
  2. Does this app use the same .so lib in nvmsgconv as the C application via gst-python? If yes, would customizing the nvmsgconv can give me custom results that I need? Or do I need make changes somewhere else too?
  3. How do I see GST_DEBUG:=4 logs with python apps?

More info:

• Hardware Platform (dGPU: GTX)
• DeepStream Version 6.0.1
• JetPack Version (NA)
• TensorRT Version [in logs above]
• NVIDIA GPU Driver Version 470.63.01
• Issue Type: Question/Bug
• How to reproduce the issue: deepstream-test4 of python bindings with deepstream 6.0.1
• Requirement details: lrdkafka, protolib

Misc info on solutions that I’ve tried:

  • lrdkafka re-installation.
  • Yes, the brokers are running
  • Simple app for inferencing works in osd with the default models.

Please try with h264 file instead of mp4 file.

1 Like

Got it. Thanks. Can you also answer if this app use the same .so lib in nvmsgconv as the C application? If yes, would customizing the nvmsgconv can give me custom results that I need? Or do I need make changes somewhere else too? and How do I see GST_DEBUG:=4 logs with python apps?

Python binding is a way to call low layer C/C++, so you still need to adapt the C code if you want to customize message in nvmsgconv.
You can put GST_DEBUG=4 before python3 xx.py to set debugging level.

1 Like

Can you run successfully using original app and plugin?

How do I see GST_DEBUG:=4 logs with python apps?

Please check this to enable gst debug for python version. Gstreamer 1.0 Python Debug · GitHub

1 Like

Yes, I can run successfully with original app but not with nvdsanalytics combined with deepstream-test4. I added and linked nvdsanalytics right before the tee in the app. That’s when I don’t receive any response, not on eglsink or broker.
Some more background: I’ve customized nvmsgconv. The analytics meta-data is availaible in the C/C++ application. But I want to utilize NV12 to RGBA conversion in python app to crop and save regions with analytics meta-data.

Does it work with c++ app?

Yes it does. I found the issue with the Tee that I was using. I did not add nvmsgconv elements on one side of the Tee to the pipeline, only linked them. Thus no buffer there. Thank you for your help and patience.

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