I am encountering the following error in my DeepStream pipeline:
in pgie_src_pad_buffer_probe
n_frame = pyds.get_nvds_buf_surface(hash(gst_buffer), frame_meta.batch_id)
RuntimeError: get_nvds_buf_Surface: Currently we only support RGBA color Format
I am using deepstream integrated yolov9s model as our pgie. I need to extract frames from NvBufSurface to draw bounding boxes on them.
Here’s what I’ve tried so far:
Changing caps to: caps = Gst.Caps.from_string("video/x-raw(memory:NVMM), format=RGBA")
Testing various encoders such as nvv4l2h264enc, nvv4l2h265enc, pngenc, jpegenc, etc. But It didn’t work
Our setup • Hardware Platform Tesla T4 • DeepStream Version 7.0 • TensorRT Version 8.6.1.6+cuda12.0 • NVIDIA GPU Driver Version 560.35.03 • Issue Type bug • Steps to reproduce the error
replace all the defualt test3 files with attached files(cp -r deepstream.py dstest2_tracker_config.txt config_infer_primary_yoloV8.txt /workspace/deepstream_python_apps/apps/deepstream-test3/)
Since you added the probe function to the src_pad of the pgie, you should add the convertion before the pgie. ...streammux->nvvideoconvert->capsfilter->pgie...
Our demo deepstream-imagedata-multistream added the probe function to the src_pad of the tiler, so we add the conversion at the end.
But at n_frame line: n_frame = pyds.get_nvds_buf_surface(hash(gst_buffer), frame_meta.batch_id)
I am getting this error: Segmentation fault (core dumped)
Thanks @yuweiw for your helpful advice I reviewed the FAQ on saving MP4 videos, but it doesn’t seem to address the current issue…
Previously, we were able to save MP4 videos with bounding boxes without any problems.
However, after modifying the pipeline from: streammux-->pgie-->tracker-->tiler-->nvvidconv-->nvosd
to: streammux-->nvvidconv-->capsfilter1-->pgie-->tiler-->tracker-->nvosd
We noticed that the bounding boxes no longer appear in the output. This behavior might be related to the pipeline changes.
Any insights or recommendations would be greatly appreciated.