Performance Issue: FPS does not increase despite lowering/compressing video resolution on Raspberry Pi 5 + IMX296

Aperta
#367 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
42/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
cpp, raspberry-pi

Direzione di ricerca

Start by reading the IMX296 sensor driver and its supported sensor modes, then trace how rpicam-vid requests frame rate and image dimensions. Check whether the driver supports cropped sensor readout at the requested 1024×128 size and 240 FPS. Done means identifying whether the requested rate is supported and documenting the relevant configuration or limitation; the issue names no source files or tests.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Description

I am currently building a high-speed camera project using a Raspberry Pi 5 and the Raspberry Pi Global Shutter Camera (IMX296).

My goal is to achieve a higher frame rate (FPS). However, even though I have tried to lower and compress the video resolution using rpicam-vid, the actual FPS remains stagnant and does not increase as expected.

Environment

Hardware: Raspberry Pi 5, Raspberry Pi Global Shutter Camera (IMX296)
OS / Kernel: Raspberry Pi OS (Bookworm)
Software / Tool: rpicam-vid

What I've Tried

I attempted to lower the resolution using the --width and --height arguments in rpicam-vid (for example, dropping it down from the native 1456x1088).
While the output video file size decreases and the resolution changes, the running FPS does not go up. It seems to be capped at the default sensor frame rate.

Question
  1. Does the IMX296 sensor support windowing/cropping (ROI) or specific sensor modes to achieve higher FPS at lower resolutions on the Raspberry Pi 5?
  2. Are there specific rpicam-vid arguments (such as --viewfinder-width/--viewfinder-height or explicit --framerate / --level settings) required to properly unlock higher frame rates?

Any guidance or suggestions from the community or the developers would be greatly appreciated!

盧謙毓, 週二 下午5:19

Description

I am currently building a high-speed camera project using a Raspberry Pi 5 and the Raspberry Pi Global Shutter Camera (IMX296).

My goal is to achieve a higher frame rate (FPS). However, even though I have tried to lower and compress the video resolution using rpicam-vid, the actual FPS remains stagnant and does not increase as expected.

Environment

Hardware: Raspberry Pi 5, Raspberry Pi Global Shutter Camera (IMX296)
OS / Kernel: Raspberry Pi OS (Bookworm)
Software / Tool: rpicam-vid

What I've Tried

I attempted to run the following command to record uncompressed high-speed video directly into a ramdisk:
bash
rpicam-vid --frames 480 --framerate 240 --width 1024 --height 128 --codec yuv420 --denoise cdn_off -n -o /mnt/ramdisk/test.yuv
Observed Behavior:
Although the output resolution successfully changes to 1024x128 and the yuv420 file is saved to /mnt/ramdisk/, the actual frame rate does not reach the requested 240 FPS. It seems to be capped at the sensor's standard hardware/driver limit.

Question
  1. Does the IMX296 sensor driver support a high-speed mode or sensor crop/windowing (ROI) that can unlock higher FPS (like 240 FPS) at lower heights (e.g., 128px) on the Raspberry Pi 5?
  2. Are there any specific configurations needed in /boot/firmware/config.txt or additional rpicam-vid switches required to achieve this?

Any guidance or suggestions from the community or the developers would be greatly appreciated!

Lingua principale
C++
Stelle
491
Fork
199
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di raspberrypi/libcamera

Tutte le issue di raspberrypi/libcamera

Issue simili

Altre issue su C++

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.