Welcome to raspicam’s documentation!


The raspicam package started as a sandbox to play with the RasperryPi camera module, but has evolved to a simple tool to run motion detection which can run on other devices as well. And potentially other use-cases through the implementation of image “pipelines”. Operations in these pipelines currently exchange data which was aimed at motion detection though, so it may or may not be applicable to other use-cases!


While currently untested, the application should be installable by simply running:

pip install /path/to/repository

To grab the latest development version directly from the web you can do this:

pip install git+https://github.com/exhuma/raspicam

Running The Application

Once installed, the application provides the executable raspicam. If you installed it system-wide, it should reside in /usr/bin/raspicam. Installing it in a virtual environment makes it available in /path/to/environment/bin.

The executable offers three modes of execution: GUI, CLI and Web UI. The UI can be selected via the command line. See the sections below.

Additional command-line flags are supported:

raspicam --help


raspicam gui

The graphical user interface has mainly been implemented as a simple way to see what is going on during development. It does not offer any other functionality than displaying the frames on screen as they are generated by the application.


raspicam cli

The Command-Line Interface is currently used as main way to run the application. Other than logging it does nothing more than executing the default image pipeline. The pipeline output will not be displayed.

Web UI

raspicam webui

The web interface is a quick-and-dirty way to access files which have been kept in a Storage. It currently assumes the usage of a DiskStorage.


The web interface exposes direct access to files on disk. Some care has been taken to make it more difficult for an attacker to guess the filenames. But it is still possible for a crafty attacker to gain access to system files.

This should not be run in a public environment!

Indices and tables