Hi everyone, I’m stuck with libcamera-vid recordings on the Arducam 16MP IMX519 Autofocus Synchronized Quad-Camera Kit (4x IMX519 cameras). The recorded file test.h264 skips and lags. It should be about 20 seconds long but it plays for much less. The picture flickers and isn’t smooth. I reproduced it with all 4 cameras together at 15 fps and also with just 1 camera at 60 fps, so I don’t think it’s simply a low fps issue.
Also, running ./install_pivariety_pkgs.sh -p imx519_low_speed_driver returns ‘Unsupported Package’. Has anyone run into this?
Two more questions: does the fps conversion also apply to 1-camera video, and is this only a VLC playback problem or do I have to convert every video this way?
For /boot/config.txt I added dtoverlay=imx519 under [all]. I did not add the dtoverlay=camera-mux-4port,cam0-imx519,cam1-imx519,cam2-imx519,cam3-imx519 line.
The imx519_low_speed_driver package gives ‘Unsupported Package’. Here is a screenshot of the recording output: image.png
Thanks, that’s helpful. A couple of things jump out. First, try recording with explicit width and height, because some IMX519 modes don’t pick a sensible default and that can cause exactly the flicker/skip you’re describing:
Also, since you’re on the synchronized quad-cam kit, can you confirm whether you’re using the 4-port mux overlay in config.txt or just the single imx519 overlay? You mentioned dtoverlay=imx519 under [all] without the camera-mux-4port line.
Quick update: specifying the width and height in the libcamera-vid command fixed the capture issue. I also added dtoverlay=imx519 under [all] without the camera-mux-4port line and it seems to work. I updated the kernel to 6.1.21 (firmware commit c4617e02da233ff70940223a06e568a193fc446d). Capture looks better now, but VLC playback is still skipping. I’m planning to try the ffmpeg conversion to fix VLC playback.
Right, the playback issue is likely a frame-rate mismatch. A video recorded at 15 fps for 20 seconds contains 300 frames. If it’s played at 15 fps it lasts 20 seconds, but if VLC assumes 30 fps or 60 fps, that same 300-frame file plays back in 10 or 5 seconds and looks like it skips. Raw .h264 streams often don’t carry a reliable fps value, so VLC has to guess and can get it wrong.
Thanks, that worked better for the 15 fps clip. Two follow-ups: does this fps conversion also apply to the 1-camera 60 fps videos? And is this a VLC-only problem, or will I have to convert every recording this way every time?
Good to hear. The current conclusion is that the playback problem is caused by the player using a different frame rate than the recording. For the 15 fps 4-camera footage, the ffmpeg remux at -r 15 is the workaround. For 1-camera 60 fps footage, the same principle should apply, but I’d test a short 60 fps clip to confirm it needs the same treatment. On the VLC question, it’s not strictly VLC-only—any player needs to know the correct fps, and raw .h264 files often don’t store that reliably, so VLC guesses wrong. Whether you must convert every time depends on how the capture writes fps metadata. Right now, remuxing the raw .h264 recordings with ffmpeg is the workaround. The ‘Unsupported Package’ error for imx519_low_speed_driver is still open as well, so we can revisit that after you test the 60 fps clip.