SOLVED Raspberry Pi 5 IMX264 + IMX287
-
Hi,
I have set up the environment for the MV-MIPI camera series on a Raspberry Pi 5. Currently, I'm achieving a maximum frame rate of 30 FPS at the highest resolution (1920x1080) for both cameras.
In comparison, on a Jetson Orin NX:
The IMX-264 achieves 67 FPS.
The IMX-287 achieves approximately 500 FPS.
I would like to understand how to optimize the setup on the Raspberry Pi 5 to achieve higher frame rates, as the current 30 FPS seems limited compared to what is possible on the Jetson Orin NX.
Thanks in advance! -
@otca On both the raspberry pi and jetson, we provide a similar V4l2 driver for the same /dev/videox node for the application layer software.
May I ask what method you used to test the frame rate as above? -
@veye_xumm
Hi,
To set up the environment for the MV-MIPI camera series, I followed these steps:-
Install the Driver
First, I downloaded and installed the V4L2 driver package:sudo raspi-config # Step 6.1: Download the driver package wget https://github.com/veyeimaging/raspberrypi_v4l2/releases/latest/download/raspberrypi_v4l2.tgz # Step 6.2: Install the driver tar -xzvf raspberrypi_v4l2.tgz cd raspberrypi_v4l2/release/ chmod +x * # For Raspberry Pi 5 sudo ./install_driver_rpi5.sh veye_mvcam
-
List Supported Formats and Frame Rates
After setting up the driver, I used thev4l2-ctl
command to verify the available formats and frame rates:v4l2-ctl --list-formats-ext
This returned the following output:
ioctl: VIDIOC_ENUM_FMT Type: Video Capture [0]: 'MJPG' (Motion-JPEG, compressed) Size: Discrete 1920x1080 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 160x120 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 320x240 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 352x288 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 800x600 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1024x768 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1280x960 Interval: Discrete 0.033s (30.000 fps) [1]: 'YUYV' (YUYV 4:2:2) Size: Discrete 1920x1080 Interval: Discrete 0.200s (5.000 fps) Size: Discrete 640x480 Interval: Discrete 0.033s (30.000 fps) Size: Discrete 1280x720 Interval: Discrete 0.125s (8.000 fps) Size: Discrete 800x600 Interval: Discrete 0.050s (20.000 fps) Size: Discrete 960x540 Interval: Discrete 0.067s (15.000 fps) Size: Discrete 1280x960 Interval: Discrete 0.125s (8.000 fps)
-
Measure Frame Rate
To test the frame rate, I ran the following command:v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=MJPG --stream-mmap --stream-count=-1 --stream-to=/dev/null
<<<<<<<<<<<<<<<<<< 17.64 fps, dropped buffers: 1 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 23.71 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 25.76 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<< 26.75 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 27.38 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 27.79 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 28.09 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 28.32 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.88 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.88 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.88 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.88 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.88 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.88 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.88 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.86 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.86 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.86 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.86 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.86 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.88 fps <<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.88 fps
-
-
@otca
Please refer to Part6.6.3.6:
https://wiki.veye.cc/index.php/Mv_series_camera_appnotes_4_rpi#Set_frame_rate -
@veye_xumm Thanks
my problem is solved.