Feature Request: Live Stream Rotation (90° / 270°)
Describe the feature
Add support for 90° CW and 90° CCW (270°) rotation of the live camera stream in the web UI.
Current behaviour
The Orientation section in Camera Settings only exposes H-flip and V-flip, which are the transforms natively supported by libcamera. There is no way to rotate the live stream 90° or 270° through the UI.
Desired behaviour
A rotation option (0°, 90°, 180°, 270°) available in Camera Settings that applies to the live stream view, implemented via software post-processing on the MJPEG stream if libcamera cannot support it natively.
Why this matters
When a camera module is physically mounted in portrait orientation (rotated 90°), the live stream and captured images are sideways. Physical remounting is not always possible. Software rotation of the stream would resolve this without hardware changes.
Suggested approach
Since libcamera's Transform only supports hflip/vflip, 90°/270° rotation would need to be applied post-capture in software — for example via numpy array rotation on each frame before MJPEG encoding. This is a known pattern in the picamera2 community.
Environment
- CamUI v2.0.0
- Raspberry Pi 5
- imx708 camera module
Feature Request: Live Stream Rotation (90° / 270°)
Describe the feature
Add support for 90° CW and 90° CCW (270°) rotation of the live camera stream in the web UI.
Current behaviour
The Orientation section in Camera Settings only exposes H-flip and V-flip, which are the transforms natively supported by libcamera. There is no way to rotate the live stream 90° or 270° through the UI.
Desired behaviour
A rotation option (0°, 90°, 180°, 270°) available in Camera Settings that applies to the live stream view, implemented via software post-processing on the MJPEG stream if libcamera cannot support it natively.
Why this matters
When a camera module is physically mounted in portrait orientation (rotated 90°), the live stream and captured images are sideways. Physical remounting is not always possible. Software rotation of the stream would resolve this without hardware changes.
Suggested approach
Since libcamera's Transform only supports hflip/vflip, 90°/270° rotation would need to be applied post-capture in software — for example via numpy array rotation on each frame before MJPEG encoding. This is a known pattern in the picamera2 community.
Environment