WARNING: erroneous pipeline: could not link v4l2src0 to xvimagesink0, neither element can handle caps video/x-raw, format=(string)RG10, width=(int)640, height=(int)480, framerate=(double)20
How do I fix this? And also the link does not give any info on how to view the .raw file if I have the image already captured. Thanks.
it looks you’re using a bayer sensor, you cannot use v4l2src plugin to to access the camera.
you may refer to Camera Architecture Stack. please go through libargus, or gstreamer plugin nvarguscamerasrc to use internal Jetson ISP.
for instance, $ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),framerate=30/1,format=NV12' ! nvvidconv ! 'video/x-raw, format=(string)I420, width=640, height=480' ! queue ! xvimagesink -e
Hi @JerryChang I installed the package and still get the same error message. I rebooted the machine and still the same error message. Is there anything else I might be missing? Thanks.
Hi @JerryChang Thanks. After running both of the updating and upgrading commands, it is working better now. The version still shows 6.0-b52. How do I get it to 6.0-l4t-r36.3? Is there a single line command to do this?
Right now it no longer complains about nvarguscamerasrc. And it actually brings up a display window for the video. However, it gave me the following errors:
gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM),framerate=30/1,format=NV12’ ! nvvidconv ! ‘video/x-raw, format=(string)I420, width=640, height=480’ ! queue ! xvimagesink -e
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: 3840 x 2160 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 22.250000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1920 x 1080 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 22.250000; Exposure Range min 13000, max 683709000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 1
Output Stream W = 1920 H = 1080
seconds to Run = 0
Frame Rate = 59.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: TIMEOUT
Additional debug info:
Argus Error Status
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:694 Execution ended after 0:00:02.741355336
NvBufSurfaceFromFd Failed.
Setting pipeline to NULL …
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:247 (propagating)
GST_ARGUS: Cleaning up
Freeing pipeline …
To upgrade to JP6.0, you’ll need to open the SDKmanager (update if you don’t have the latest version), then install JP6.0, and finally reflash your board.
Regarding your error, seems to be a timeout issue you can try adding the timeout property to the gst-launch command:
this usually due to incorrect stream configuration, so that there’s failure reported for buffer setup.
please follow the suggest to have v4l2 standard IOCTL to verify your basic sensor streaming from low-level.
Hi @enrique.ramirez Thanks for the suggestions. The timeout seemed to be just a generic issue when the sensor is not responding properly. I tried the timeout option and it produced the same error as before.
--list-formats-ext it only check the driver for sensor capability,
please execute following in order to fetch the camera stream.
for instance, $ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=100
and got 21.19 fps even if I change the width and height to other values.
And the output I got from command:
gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM),framerate=2119/100,format=NV12’ ! nvvidconv ! ‘video/x-raw, format=(string)I420, width=640, height=480’ ! queue ! xvimagesink -e
gives:
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 1
Output Stream W = 1920 H = 1080
seconds to Run = 0
Frame Rate = 59.999999
The frame rate is set to 59.99999. Is this the stream incompatibility you were referring to? Also, after I get the error message, the stream capture command no longer works. If I reboot the machine, the command would work again.
The other strange thing is that I have to plug the camera in cam1 port to see it as /dev/video0. If I plug it in the cam0 port, no camera shows up.
it looks some erroneous.
according to sensor format dumps, your 1920x1080 should streaming at 30-fps.
but, it’s outputting at 21-fps which seems sensor side used 3280x2464 sensor mode.
may I know what’s the complete failure logs.
anyways, please moving to the latest JP-6 release (i.e. JetPack 6.0) for verification.