NvMMLiteBlockCreate when running pipeline that feed rtsp to v4l2sink

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson Xavier NX
• DeepStream Version 5.0
• JetPack Version (valid for Jetson only) 4.5
• TensorRT Version come with jetpack
• Issue Type( questions, new requirements, bugs) Bug and Question ?
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)

Hi,
I am running the following command, try to create a v4l2loopback following the v4l2loopback wiki page:

gst-launch-1.0 uridecodebin uri=rtsp://xxxx.sdp ! nvvideoconvert ! "video/x-raw" ! v4l2sink device=/dev/video10

But it shows following error:

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://xxxx.sdp
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 1
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
Opening in BLOCKING MODE 
NvMMLiteOpen : Block : BlockType = 279 
NVMEDIA: Reading vendor.tegra.display-size : status: 6 
NvMMLiteBlockCreate : Block : BlockType = 279 

Not sure if I did wrong or there is a problem inside.
Please help.

I am able to use alternative solution that uses ffmpeg with command line:
ffmpeg -i rtsp://xxxx.sdp -f v4l2 -pix_fmt yuv420p /dev/video10
But I dont think it is the best compared to the installed gstreamer…

Hi,
For running v4l2loopback, you may refer to
Jetpack 4.2.1 : building v4l2loopback fails - #5 by Honey_Patouceul

And would like to clarify if you use DeepStream SDK. The category is in DeepStream SDK but your command looks to be general gstreamer command.

For feeding a v4l2loopback node, you would need to add identity drop-allocation=true before v4l2sink:

gst-launch-1.0 uridecodebin uri=rtsp://xxxx.sdp ! nvvidconv ! video/x-raw ! identity drop-allocation=true ! v4l2sink device=/dev/video10

You may try different formats such as I420, YUY2 or BGRx depending on your application reading this node.

1 Like

Hi,

Thanks for the help, but it is still not working on my machine.
It gives me the same error showed above. NvMMLiteOpen : Block

Sorry, I just submitted a new topic in Jetpack forum.

You may tell which version of v4l2loopback you’re running.
You may uninstall any home built version and just try dkms 0.10.0 version available from apt:

sudo apt update
sudo apt install v4l2loopback-dkms

Also, did you try nvvidconv as in my last post instead of nvvideoconvert ?

If none of the above helps, you may tell if you can decode and display the RTSP feed locally on Jetson, if yes what is the format you’re sending to v4l2loopback and how are you are reading it ?

I am using the newest one cloned and built from github.
Yes, one of the install steps include those commands to install v4l2 dkm.
Yes, I tried the nvvidconv, but it is still not working.

I can decode and display rtsp stream using the provided Deepstream app (using test 3 and multi-source examples provided by deepstream with rtsp as source), which use the urisourcebin I think.

I listed the ffmpeg command that successfully established the v4l2loopback above.
And I can read the loopback with gst-launch-1.0 v4l2src device=/dev/video1 ! xvimagesink

But I cannot replace ffmpeg with gstreamer as the producer to the loopback device.

Thanks

Seems with your ffmpeg command, the v4l2loopback node is configured for YU12 format, so you may try:

gst-launch-1.0 -v uridecodebin uri=rtsp://xxxx.sdp ! nvvidconv ! video/x-raw, format=I420 ! identity drop-allocation=true ! v4l2sink device=/dev/video10

# or
gst-launch-1.0 -v uridecodebin uri=rtsp://xxxx.sdp ! nvvidconv ! video/x-raw, format=YUY2 ! identity drop-allocation=true ! v4l2sink device=/dev/video10

Working format depends on your application reading the v4l2loopback node.