Skip to content

Features V4.3.x

Up

For more details, see the User Guide.

Live Overview

Feature Overview

Platform Support

  • raspiCamSrv can be run on all currenly known Raspberry Pi hardware platforms (except microcontroller boards) from Raspberry Pi Zero W to Raspberry Pi 5
  • Supported Operating Systems are the Raspberry Pi OS versions Bullseye, Bookworm and Trixie.
  • The recommended variant for all of these is the full 64-Bit variant recommended by Raspberry Pi Imager

Camera Support

  • raspiCamSrv supports the currently available Raspberry Pi Cameras, however AI features for the AI Camera are currently not yet supported.
  • CSI Cameras from other providers can be used as long as they are supported by Picamera2.
  • USB cameras connected through the Pi's USB ports are seamlessly integrated, however control options are limited, depending on their capabilities.

Camera Management

  • raspiCamSrv can detect and use all CSI and USB cameras connected to a Raspberry Pi, as long as they are identified by Picamera2, which is usually the case.
  • One of these camaras must be selected as Active Camera.
    Camera configuration (e.g. stream size colour space or flipping) as well as controls (e.g. focus, zoom/pan/tilt, exposure- and image-control) can be actively modified only for the Active Camera.
  • Another camera, if available, can be selected as Second Camera by Multi Camera Control.
  • All settings for the Active Camera can be preserved before it is replaced by another camera (e.g. by switching cameras). They will be restored/applied when this camera is set as Active Camera or as Second Camera.
  • Function Reload Cameras allows hot plug-in/-out of USB cameras without server restart

Camera Configuration

  • raspiCamSrv supports all camera configuration options which are foreseen by Picamera2.
  • Individual configuration sets can be specified for 4 different use-cases: Live View, Photo, Raw Photo and Video.
  • Before the camera is started, raspiCamSrv configures all three camera streams (lowres, main, raw) for the most likely use-cases. This allows to keep the live stream (lowres) active while the camera is being used for phototaking (main), raw photo taking (raw) or video recording (main)
  • If necessary, specific applications can request the camera for exclusive use.
  • Support of Camera Tuning by selection and management of tuning files.

Camera Control

Photo Taking / Video Recording

Streaming

  • Endpoint for streaming (MJPEG) the active camera.
  • Endpoint for streaming the second camera.
  • Endpoints for photo snapshots of active and second camera.
  • Option for activating / deactivating authentication for streaming and snapshots.

Multi-Camera Features

Photo Series

Motion Detection

GPIO Device Management

Event Handling - Triggers and Actions

Console Functions

API

  • Selected functions of raspiCamSrv are accessible through specific Web Service End Points
  • API access is secured through JSON Web Tokens (JWT).
  • A Postman collection is available for testing
  • A specific API (probe) is available for 'probing' attribute values of raspiCamSrv live objects.

Privacy Protection

  • raspiCamSrv access requires registered users
  • The Superuser can manage other users: create, remove, reset password
  • Login requires a password
  • For streaming, it is possible to disable the necessity of authentication
  • API access is secured through JSON Web Tokens (JWT).
  • Secrets (mail account, JWT secret key) are held in a separate secrets store which is not part of the persisted configuration data.

Configuration Management

  • Configuration Management refers to the way how raspiCamSrv handles its operational data which may be modified during user sessions.
  • On request, all data of the raspiCamSrv server can be persisted as JSON files
  • Optionally, the server can start with the stored configuration or with an initialized setup.
  • An indicator shows when configuration data have been modified during a session.
  • All modifications, which have not yet been saved, are listed in a dialog.
  • You can create backups of entire configuration sets and restore them at another time.

System Information

No Camera

Supervision

  • For error analysis, Logging can be activated on module level.
  • In order to inspect the interface of raspiCamSrv with Picamera2, it is possible to activate Generation of Python Code for the Camera. This will create an executable Python file including all Picamera2 calls.

Known Issues

  • In Safari (e.g. on an iPad), there is still an issue with the Live Screen:
    Due to the specific timing of the onload event, AF Windows may not be visible immediately after the page has been loaded. If you just 'pull' the entire window down for a short time (don't touch the AF Windows canvas), they will show up.
    If the Live stream does not show up (e.g. after visiting another screen), take a photo and then push Hide/Show. This will show the live stream.
  • There may be an issue configuring specific sensor modes or stream sizes for the Live View in Config. As a result, the live view will not show up and the server log will show an exception. You may need to reset the server (see Reset Server)
    This is already fixed but may not yet be available in your environment (see picamera2 Issue #959)

Limitations

The software is still being tested and extended.

  • Hot plug of CSI cameras is not supported. This will require rebooting the Raspberry Pi (Hot plug of USB cameras is supported).
  • Hot plug of USB cameras is possible but requires to Reload Cameras.
    Hot plug-out of a USB camera should be avoided when the camera is active. This will produce exceptions.
  • Although the layout is responsive, it may not be "good-looking" with all sizes of browser windows

Credits