on jetson xavier nx programmed using yocto we have a gstreamer installation which works only (as far as nvvidconv is concerned) when launched as root, our normal user cannot get it to work even within a gst-launch cvommand line when the same line works as root or sudo
anyone with an idea is welcome to pitch in!!!
You may post the output of gst-launch (using -v) with your pipeline for better advice.
Is your user added to video and renderer groups ?
Is your user allowed to use current DISPLAY ?
Is your Jetson system running into graphical or multi-user target ?
The user is part of video group, there is no renderer group in the system. The default mode is multi-user.target so no DISPLAY environment variable.
gst-launch-1.0 -v v4l2src device=/dev/video0 ! ‘video/x-raw,width=1280, height=960, framerate=75/1’ ! videorate ! ‘video/x-raw,width=1280, height=960, framerate=10/1’ ! nvvidconv ! ‘video/x-raw(memory:NVMM),width=1280, height=960, framerate=10/1’ ! nvv4l2h264enc bitrate=2000000 ! h264parse ! avimux ! filesink location=output.avi
WARNING: erroneous pipeline: no element “nvvidconv”
Same command works as root and produces an output.avi that can be played in VLC for example
I’d first suggest that you try to clear the user gstreamer cache and rebuild:
If this doesn’t work, you may investigate if you have library
libgstnvvidconv.so in a path that is available for LD with this user. With L4T the lib is in
/usr/lib/aarch64-linux-gnu/gstreamer-1.0 so check if
/usr/lib/aarch64-linux-gnu/ is found by ld :
ld --verbose | grep SEARCH_DIR | tr -s ' ;' \\012
You may also be sure that root and user use the same gst-launch:
Last, you may use
strace (can be installed with apt) and check differences between both cases.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.