Can not access CSI Camera using gStreamer

What’s happen to your device?
In previous comment the nvargus_nvraw working well.

did lsof /dev/video0 and ended a task occupying the camera.

@Swapnadip_Moni did you manage to resolve the problem?
I have exactly the same issue, I can not capture any frames using nvarguscamerasrc or v4l2src. I suppose the problem lays in the Jetpack 6.x as on Jetpack5.x I was able to do that.

@ShaneCCC Do you maybe know how to capture the frames using gstreamer in JP6.x in headless mode? Seems like this is bigger problem, there are already couple of unresolved threads with exactly the same problem:

I don’t think your problem does matter with headless mode.
Fist confirm by v4l2-ctl to make sure the sensor driver.

Thanks

The sensor and board are functional, as I managed to capture the frame with connected screen. Here is what the driver returns:

bartosz@tegra-ubuntu:~$ v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
	/dev/media0
vi-output, imx219 9-0010 (platform:tegra-capture-vi:1):
	/dev/video0

bartosz@tegra-ubuntu:~$ v4l2-ctl --stream-mmap -c bypass_mode=0 --stream-count=100
<<<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<<<<<<<< 21.19 fps
<<<<<<<<<<<<<<
bartosz@tegra-ubuntu:~$  nvargus_nvraw --lps 
nvargus_nvraw version 1.16.0
Number of supported sensor entries 5
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
  0      0      0          jakku_front_RBP194   3280x2464   20  10  10    Bayer       
  1      0      1          jakku_front_RBP194   3280x1848   28  10  10    Bayer       
  2      0      2          jakku_front_RBP194   1920x1080   29  10  10    Bayer       
  3      0      3          jakku_front_RBP194   1640x1232   29  10  10    Bayer       
  4      0      4          jakku_front_RBP194   1280x 720   59  10  10    Bayer 

And yet, when I try to capture the image and save it to file, it fails:

bartosz@tegra-ubuntu:~$ gst-launch-1.0 nvarguscamerasrc num-buffers=10 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=I420' ! nvjpegenc ! filesink location=test.jpg
libEGL warning: DRI2: failed to authenticate
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
(Argus) Error BadParameter:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 93)
(Argus) Error BadParameter:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function create(), line 44)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadInitialize:318 Failed to create FrameConsumer
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:239 (propagating)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, waitRunning:201 Invalid thread state 3
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:849 (propagating)
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:00.131111689
Setting pipeline to NULL ...
Freeing pipeline ...

Reference to below doc for headless setup.

I can install and access Jetson in headless mode through NoMachine and Vino. The problem is that the camera can not capture the image in that configuration.

@ShaneCCC

I just found out that the camera works when I log into Jetson over ssh without X11 forwarding:

With X11 forwarding:

bartosz@bartosz:~$ ssh -X bartosz@192.168.55.1
bartosz@192.168.55.1's password: 

bartosz@localhost:~$ gst-launch-1.0 nvarguscamerasrc num-buffers=10 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=I420' ! nvjpegenc ! filesink location=test1.jpg
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
(Argus) Error BadParameter:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 93)
(Argus) Error BadParameter:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function create(), line 44)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadInitialize:318 Failed to create FrameConsumer
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:239 (propagating)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, waitRunning:201 Invalid thread state 3
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:849 (propagating)
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:00.106191917
Setting pipeline to NULL ...
Freeing pipeline ...
bartosz@localhost:~$

Without X11 forwarding:

bartosz@bartosz:~$ ssh  bartosz@192.168.55.1
bartosz@192.168.55.1's password: 

bartosz@localhost:~$ gst-launch-1.0 nvarguscamerasrc num-buffers=10 ! nvvidconv ! 'video/x-raw(memory:NVMM), format=I420' ! nvjpegenc ! filesink location=test1.jpg
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3280 x 2464 FR = 21,000000 fps Duration = 47619048 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 3280 x 1848 FR = 28,000001 fps Duration = 35714284 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1920 x 1080 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1640 x 1232 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 59,999999 fps Duration = 16666667 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 2 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 29,999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
NvMMLiteBlockCreate : Block : BlockType = 1 
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:00.646874143
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
Freeing pipeline ...
bartosz@localhost:~$ 

Do you know what is the relation between gstreamer and X11?

1 Like

Suppose the key point is the EGL only able run with local display.

Do you have any tips how to run it with JP6.2? Until now, I worken on Jetson Nano with JP4.6 and it was working out of the box.

I don’t clear what exactly what you want.
Please make clear for your request? If you want to see the preview from remote device current only the RTSP current don’t support the remote tools using virtual display like VNC.

Sorry, I should have been a bit more precise. I want to reach Jetson Orin over NoMachine (Remote Desktop) and be able to get the camera preview using nvgstcapture.

Sorry to tell I don’t think argus able to run on the remote desktop.
You may check the RTSP alternative.

Thanks

1 Like

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