Can't get gst-launch-1.0 to work with the IMX519

  1. Where did you get the camera module(s)?
    The Pi hut: arducam-imx519-autofocus-camera-module-for-raspberry-pi

  2. Model number of the product(s)?
    IMX519 connected to cam 1 port on the Orin dev kit.

  3. What hardware/platform were you working on?
    Jetson Orin NX 16GB

  4. Instructions you have followed. (link/manual/etc.)

cd ~
wget https:// github . com/ArduCAM/MIPI_Camera/releases/download/v0.0.3/install_full.sh
chmod +x install_full.sh
./install_full.sh -m imx519

  1. Problems you were having?
    Cannot get camera output when using gst-launch-1.0
v4l2-ctl --list-formats-ext

ioctl: VIDIOC_ENUM_FMT
	Type: Video Capture

	[0]: 'RG10' (10-bit Bayer RGRG/GBGB)
		Size: Discrete 4656x3496
			Interval: Discrete 0.111s (9.000 fps)
		Size: Discrete 3840x2160
			Interval: Discrete 0.059s (17.000 fps)
		Size: Discrete 1920x1080
			Interval: Discrete 0.017s (60.000 fps)
		Size: Discrete 1280x720
			Interval: Discrete 0.008s (120.000 fps)

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw, format=RG10, width=1920, height=1080 ! videoconvert ! xvimagesink 
WARNING: erroneous pipeline: could not link v4l2src0 to videoconvert0, neither element can handle caps video/x-raw, format=(string)RG10, width=(int)1920, height=(int)1080

Trying a different command did not work.

$ gst-launch-1.0 -v nvarguscamerasrc ! nvvidconv ! queue ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)YUY2
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)YUY2
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)YUY2
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps = video/x-raw, width=(int)1920, height=(int)1080, framerate=(fraction)30/1, format=(string)YUY2
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)30/1
GST_ARGUS: Creating output stream
(Argus) Error BadParameter:  (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 89)
(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:320 Failed to create FrameConsumer
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:241 (propagating)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, waitRunning:203 Invalid thread state 3
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:806 (propagating)
Got EOS from element "pipeline0".
Execution ended after 0:00:00.108190311
Setting pipeline to NULL ...
Freeing pipeline ...

  1. The dmesg log from your hardware?
sudo dmesg | grep imx
[sudo] password for nvidia: 
[    0.002541] DTS File Name: /home/arducam_006/jenkins/workspace/rnel_l4t-35.3.1-imx519-low-speed/kernel/kernel-5.10/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t23x/p3768/kernel-dts/tegra234-p3767-0000-p3768-0000-a0.dts
[   13.758505] imx519: no symbol version for module_layout
[   13.765719] imx519 9-001a: tegracam sensor driver:imx519_v2.0.6
[   14.066375] imx519 9-001a: imx519_board_setup: error during i2c read probe (-121)
[   14.078652] imx519 9-001a: board setup failed
[   14.083618] imx519: probe of 9-001a failed with error -121
[   14.084159] imx519 10-001a: tegracam sensor driver:imx519_v2.0.6
[   14.385089] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx519 10-001a bound


sudo dmesg | grep imx
[sudo] password for nvidia: 
[    0.002541] DTS File Name: /home/arducam_006/jenkins/workspace/rnel_l4t-35.3.1-imx519-low-speed/kernel/kernel-5.10/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t23x/p3768/kernel-dts/tegra234-p3767-0000-p3768-0000-a0.dts
[   13.758505] imx519: no symbol version for module_layout
[   13.765719] imx519 9-001a: tegracam sensor driver:imx519_v2.0.6
[   14.066375] imx519 9-001a: imx519_board_setup: error during i2c read probe (-121)
[   14.078652] imx519 9-001a: board setup failed
[   14.083618] imx519: probe of 9-001a failed with error -121
[   14.084159] imx519 10-001a: tegracam sensor driver:imx519_v2.0.6
[   14.385089] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx519 10-001a bound


  1. Troubleshooting attempts you’ve made?

I can get a camera output using python, but not using the terminal.
https://forum.arducam.com/t/bad-image-quality-of-imx519-on-jetson-nano-4gb/4557

I2C address is 10

I ran the sudo ./arducam-camera-bug-report-nvidia command. It is linked here: [arducam-bug-report.txt - Google Drive]

  1. What help do you need?

Can you help me get the gst-launch-1.0 command working or the nvgstcapture-1.0 command working please?

@in06khattab

Pls try:

FRAMERATE=9
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM),width=4656,height=3496,framerate=$FRAMERATE/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=640,height=480,framerate=$FRAMERATE/1" ! nvoverlaysink

Hi,

I tried it, but I got the following warning and the camera did not open:
WARNING: erroneous pipeline: no element “nvoverlaysink”

image

Hi,

This worked for me with the IMX519 on the Jetson Orin NX 16GB:

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=60/1, format=NV12' ! nvvidconv flip-method=2 ! 'video/x-raw,width=960, height=616' ! nvvidconv ! nvegltransform ! nveglglessink -e

The IMX519 is very picky about what combination of resolution and framerate you select. To get the full list, use the previous command:

v4l2-ctl --list-formats-ext

Cheers!