Nvvideoconvert buffer transform failed by setting GPU_ID as 1

• Hardware Platform (Jetson / GPU) NVIDIA GeForce RTX 3090 Ti
• DeepStream Version 7.1
• JetPack Version (valid for Jetson only)
• TensorRT Version 10.3.0.26
• NVIDIA GPU Driver Version (valid for GPU only) 550.163.01
• Issue Type( questions, new requirements, bugs) questions
• How to reproduce the issue ?
• Requirement details


Hi all,

I am setting GPU=1 to use specific GPU instead of GPU_ID number zero.

deepstream pipeline:

I’m encountering a persistent issue while running a DeepStream pipeline that uses uridecodebin to read from MP4 files. The error logs are:

0:00:00.652462295 10287 0x7f0d30002860 ERROR         nvvideoconvert gstnvvideoconvert.c:4255:gst_nvvideoconvert_transform: buffer transform failed
GST_MESSAGE_ERROR 
ERROR from element qtdemux0: Internal data stream error.
Error details: ../gst/isomp4/qtdemux.c(6760): gst_qtdemux_loop (): /GstPipeline:BodyDetectionPipeline/GstURIDecodeBin:source-bin-01/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
streaming stopped, reason error (-5)

What I’ve Tried:

  • Ensured all elements (nvvideoconvert, nvstreammux, nvinfer, etc.) use the same gpu_id = 1.
  • Tried setting caps=video/x-raw(memory:NVMM) on uridecodebin.

Any clarification or guidance on making uridecodebin work reliably with NVIDIA GPU components would be appreciated.

Thanks in advance!

1.Please follow the platform compatibility : Installation — DeepStream documentation. You driver version should be R560.35.03
2.From the graph you post, there is something wrong with your pipeline, the negotiation failed. Please correct your pipeline first.
3. No issue with the following pipeline:
gst-launch-1.0 rtspsrc location=rtsp://xxxxxxx0 ! rtph264depay ! h264parse ! nvv4l2decoder gpu-id=1 ! mux.sink_0 nvstreammux name=mux batch-size=2 live-source=1 width=1920 height=1080 gpu-id=1 ! nvvideoconvert gpu-id=1 ! nvmultistreamtiler columns=2 rows=1 width=720 height=680 gpu-id=1 ! nvdsosd gpu-id=1 ! nvvideoconvert gpu-id=1 ! 'video/x-raw(memory:NVMM), format=I420' ! nvv4l2h264enc gpu-id=1 ! h264parse ! rtph264pay ! udpsink rtspsrc location=rtsp://xxxxxxxx1 ! rtph264depay ! h264parse ! nvv4l2decoder gpu-id=1 ! mux.sink_1

I set:

gst-launch-1.0 rtspsrc location=rtsp://localhost:8554/mystream ! rtph264depay ! h264parse ! nvv4l2decoder gpu-id=1 ! mux.sink_0 nvstreammux name=mux batch-size=2 live-source=1 width=1920 height=1080 gpu-id=1 ! nvvideoconvert gpu-id=1 ! nvmultistreamtiler columns=2 rows=1 width=720 height=680 gpu-id=1 ! nvdsosd gpu-id=1 ! nvvideoconvert gpu-id=1 ! 'video/x-raw(memory:NVMM), format=I420' ! nvv4l2h264enc gpu-id=1 ! h264parse ! rtph264pay ! udpsink rtspsrc location=rtsp://localhost:8554/stream1 ! rtph264depay ! h264parse ! nvv4l2decoder gpu-id=1 ! mux.sink_1

Not played:

Setting pipeline to PAUSED ...
Failed to query video capabilities: Invalid argument
Failed to query video capabilities: Invalid argument
Failed to query video capabilities: Invalid argument
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (open) Opening Stream
Pipeline is PREROLLED ...
Prerolled, waiting for progress to finish...
Progress: (connect) Connecting to rtsp://localhost:8554/stream1
Progress: (connect) Connecting to rtsp://localhost:8554/mystream
Progress: (open) Retrieving server options
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (open) Retrieving media info
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc1: Could not open resource for reading.
Additional debug info:
../gst/rtsp/gstrtspsrc.c(6427): gst_rtspsrc_setup_auth (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc1:
No supported authentication protocol was found
ERROR: pipeline doesn't want to preroll.
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc1: Not found
Additional debug info:
../gst/rtsp/gstrtspsrc.c(6736): gst_rtspsrc_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc1:
Not Found (404)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not write to resource.
Additional debug info:
../gst/rtsp/gstrtspsrc.c(6607): gst_rtspsrc_try_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Could not send message. (Received end-of-file)
ERROR: pipeline doesn't want to preroll.
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not write to resource.
Additional debug info:
../gst/rtsp/gstrtspsrc.c(7671): gst_rtspsrc_setup_streams_start (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Could not send message. (Received end-of-file)
ERROR: pipeline doesn't want to preroll.
Freeing pipeline ...

I hope this be correct:

The log has told you the reason of failure, ‘ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc1: Could not open resource for reading.’. Please check your RTSP stream “rtsp://localhost:8554/mystream” and “rtsp://localhost:8554/stream1”. rtspsrc is just a RTSP client.

NO. The graph shows the connection failed. There is something wrong with your source.

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

The DeepStream pipeline is functioning correctly in my environment. However, I would like to modify the GPU ID within the pipeline configuration without using the terminal command export CUDA_VISIBLE_DEVICES=1.

What will happen when you run this pipeline in your device? How many Geforce 3090Ti do you have in your device?

Let me check it. I have a 3090Ti and a 1080Ti.

Share the same CPU? 1080Ti is too old to be supported.

yes, an Intel(R) Xeon(R) Platinum 8176 CPU @ 2.10GHz.

Which version of DeepStream is compatible with the NVIDIA GeForce GTX 1080 Ti?

Maybe DeepStream 5.1 GA. The 1080Ti never appeared in our compatible list. We do not guarantee it works.

The DeepStream 5.1 GA is not supported through the forum either.

If I have multiple NVIDIA RTX 3080 Ti graphics cards, how should I specify which device to activate in the code? Does configuring the gpu-id in the settings property achieve this?

I have listed the pipeline I used for several times. Can you just try it and tell us the result?

for this command:

gst-launch-1.0 rtspsrc location=rtsp://localhost:3000/mystream ! rtph264depay ! h264parse ! nvv4l2decoder gpu-id=1 ! mux.sink_0 nvstreammux name=mux batch-size=2 live-source=1 width=1920 height=1080 gpu-id=1 ! nvvideoconvert gpu-id=1 ! nvmultistreamtiler columns=2 rows=1 width=720 height=680 gpu-id=1 ! nvdsosd gpu-id=1 ! nvvideoconvert gpu-id=1 ! ‘video/x-raw(memory:NVMM), format=I420’ ! nvv4l2h264enc gpu-id=1 ! h264parse ! rtph264pay ! udpsink rtspsrc location=rtsp://localhost:3000/mystream1 ! rtph264depay ! h264parse ! nvv4l2decoder gpu-id=1 ! mux.sink_1

I got this output:

Setting pipeline to PAUSED …
Failed to query video capabilities: Invalid argument
Failed to query video capabilities: Invalid argument
Failed to query video capabilities: Invalid argument
Pipeline is live and does not need PREROLL …
Progress: (open) Opening Stream
Progress: (open) Opening Stream
Pipeline is PREROLLED …
Prerolled, waiting for progress to finish…
Progress: (connect) Connecting to rtsp://localhost:3000/mystream1
Progress: (connect) Connecting to rtsp://localhost:3000/mystream
Progress: (open) Retrieving server options
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (open) Retrieving media info
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc1: Could not open resource for reading.
Additional debug info:
../gst/rtsp/gstrtspsrc.c(6427): gst_rtspsrc_setup_auth (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc1:
No supported authentication protocol was found
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc1: Not found
Additional debug info:
../gst/rtsp/gstrtspsrc.c(6736): gst_rtspsrc_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc1:
Not Found (404)
ERROR: pipeline doesn’t want to preroll.
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not write to resource.
Additional debug info:
../gst/rtsp/gstrtspsrc.c(6607): gst_rtspsrc_try_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Could not send message. (Received end-of-file)
ERROR: pipeline doesn’t want to preroll.
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not write to resource.
Additional debug info:
../gst/rtsp/gstrtspsrc.c(7671): gst_rtspsrc_setup_streams_start (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Could not send message. (Received end-of-file)
ERROR: pipeline doesn’t want to preroll.
Freeing pipeline …

The log shows the rtsp sources are not accessible. Please check the RTSP servers.

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