Is it possible to use IMX298 Camera on Jetson NX

1.Which seller did you purchase the product(s) from?
Tried several ffmpeg option, compilong ffmpeg and compiling libarducam_mipicamera.so
2.The Model number of the product(s) you have purchased?
IMX298
3.Which Platform are you using the product(s) on?
Jetson NX
4.Which instruction are you following?
I would like to follow something… now I’m just looking everywhere I can
5.Has your product ever worked properly?
Never worked
6.What problems are you experiencing?
Hi!

I would like to use an IMX298 on a Jetson NX.

The camera is detected:

v4l2-ctl --list-formats-ext -d 0
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: ‘MJPG’ (compressed)
Name : Motion-JPEG
Size: Discrete 4656x3496
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 4208x3120
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 4160x3120
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 4000x3000
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 3264x2448
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 2592x1944
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 2320x1744
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 2304x1728
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1920x1080
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1600x1200
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1280x960
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 1280x720
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 800x600
Interval: Discrete 0.033s (30.000 fps)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)

Index : 1
Type : Video Capture
Pixel Format: ‘YUYV’
Name : YUYV 4:2:2
Size: Discrete 1024x768
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 800x600
Interval: Discrete 0.100s (10.000 fps)
Size: Discrete 640x480
Interval: Discrete 0.100s (10.000 fps)

ffplay -f video4linux2 -list_formats all /dev/video0
[video4linux2,v4l2 @ 0x7f84000b60] Compressed: mjpeg : Motion-JPEG : 4656x3496 4208x3120 4160x3120 4000x3000 3264x2448 2592x1944 2320x1744 2304x1728 1920x1080 1600x1200 1280x960 1280x720 800x600 640x480
[video4linux2,v4l2 @ 0x7f84000b60] Raw : yuyv422 : YUYV 4:2:2 : 1024x768 800x600 640x480
/dev/video0: Immediate exit requested
nan : 0.000 fd= 0 aq= 0KB vq= 0KB sq= 0B f=0/0

But I cannot capture the video. ffplay gives the most information:

ffplay /dev/video0 or ffplay -f video4linux2 -input_format yuyv422 /dev/video0
[video4linux2,v4l2 @ 0x7f90000b60] The V4L2 driver changed the video from 1280x720 to 1024x768
[video4linux2,v4l2 @ 0x7f90000b60] Dequeued v4l2 buffer contains 1568000 bytes, but 1572864 were expected. Flags: 0x00012001.
Input #0, video4linux2,v4l2, from ‘/dev/video0’:
Duration: N/A, start: 1450.258835, bitrate: 125829 kb/s
Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 1024x768, 125829 kb/s, 10 fps, 10 tbr, 1000k tbn, 1000k tbc
[video4linux2,v4l2 @ 0x7f90000b60] Dequeued v4l2 buffer contains 1568000 bytes, but 1572864 were expected. Flags: 0x00012001.
[video4linux2,v4l2 @ 0x7f90000b60] Dequeued v4l2 buffer contains 1568000 bytes, but 1572864 were expected. Flags: 0x00012001.

And the last line repeats.

I have tried compiling a brand new ffmpeg, with not success. So I think this has to do with v4L2, at least for Ubuntu 18 (since Nvidia still hasn’t worked for Ubuntu 20).

I also tried compiling libarducam_mipicamera.so from your deposit, quite in a desperate move TBH: https://github.com/ArduCAM/MIPI_Camera
No success either.

Is there any chance to make it work, or do I have to blame the person who bought it instead of an IMX477 ? :slight_smile:
Thank you!
7.What attempts at troubleshooting have you already made?

8.How would you like us to help you?
Give advice on how to make it work.

Hi @frankwamap

Can you tell me the SKU number of the product instead of the product name? such as B0268 etc.

Hi @wong !

The SKU B0246. Cheers!

Hello,

I have encountered the same issue. I find some application(such as VLC) does not support YUYV422 format.

I use the qv42 can get the normal image. Install it using sudo apt-get isntall qv4l2 command to install it.

Then just run the qv4l2 to start the application.