Hi everyone. I’m running a Raspberry Pi with the Arducam 16MP IMX519 Autofocus Synchronized Quad-Camera Kit, and I can’t get libcamera-vid to behave. At first libcamera-vid just didn’t work properly at all with the quad kit. The recorded video flickers and isn’t smooth.
Can you paste the exact libcamera-vid command you’re using? With the IMX519 quad kit the V4L2 path sometimes needs an explicit resolution, so try adding --width and --height, for example:
Thanks, that solved the libcamera-vid recording issue. Specifying width and height made it record properly. I also tested:
libcamera-still -t 5000 -n -o test.jpg
That works fine and I can switch between channels, so the cameras themselves seem okay.
The remaining problem is that the recorded video still seems to flicker and isn’t fluent enough. I see it with 4 cameras together at 15fps and also with 1 camera at 60fps, so I don’t think it’s a frames-per-second problem. I’m planning to install the new low-speed driver and update the kernel to 6.1.21 next.
Just to be clear: should I add only dtoverlay=imx519 under [all] and omit the dtoverlay=camera-mux-4port,cam0-imx519,cam1-imx519,cam2-imx519,cam3-imx519 line? And do the libcamera packages need to be reinstalled after the driver installation?
Correct, with kernel 6.1.21 you only need dtoverlay=imx519 under [all], so you can leave out the camera-mux-4port line. No need to reinstall the libcamera packages after the driver installation.
For the kernel update you can use:
sudo rpi-update c4617e0
That corresponds to firmware commit c4617e02da233ff70940223a06e568a193fc446d. Then install the low-speed driver with:
./install_pivariety_pkgs.sh -p imx519_low_speed_driver
That order is fine, leaving the previous drivers in place shouldn’t be a problem for this install. After the rpi-update and driver install, make sure config.txt only has dtoverlay=imx519 under [all] (no camera-mux-4port line), then reboot and test with an explicit --width and --height in libcamera-vid. Let me know how it behaves.
I installed kernel 6.1.21 and added dtoverlay=imx519 under [all] in /boot/config.txt, omitting the camera-mux-4port line. The cameras do work with only dtoverlay=imx519, but the recorded video still skips and lags. In my attached test.h264, counting to 5 skips: I expected about 20 seconds of video, but the file lasts much less than that.
Thanks for the update. Can you run the Arducam bug report script and share the output, and also upload the sample video? I’d also like to confirm whether the low-speed driver install step actually completed, did ./install_pivariety_pkgs.sh -p imx519_low_speed_driver finish without errors?
I ran ./install_pivariety_pkgs.sh -p imx519_low_speed_driver and it failed with the error “Unsupported Package”, so the low-speed driver never installed.
Thanks, I’m reviewing the bug report and the sample video now. To summarize where we are: libcamera-vid only records properly when you specify --width and --height, and with kernel 6.1.21 the cameras come up with just dtoverlay=imx519 under [all] (no camera-mux-4port line). The remaining skip/lag is still there, and the imx519_low_speed_driver package fails with “Unsupported Package”, so that driver isn’t in place yet. For now the working workaround is to keep specifying width/height in libcamera-vid. I’ll follow up once I’ve had a chance to look at the bug report and the video.