Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Meltingplot RPi Camera

Overview

Meltingplot RPi Camera is a Python project designed to interface with a Raspberry Pi camera module. It captures images and videos, processes them, and provides various functionalities for image analysis and manipulation.

Features

  • Capture images and videos

  • Image processing and analysis

  • Integration with Raspberry Pi camera module

  • Easy-to-use interface

Installation

To install the required dependencies, run:

sudo apt update
sudo apt upgrade -y
sudo apt install -y python3-picamera2
python3 -m venv --system-site-packages venv
source venv/bin/activate
pip install meltingplot.rpi_camera
rpi-camera install

Usage

To start streaming images, run:

sudo rpi-camera start

or as a service:

sudo systemctl start rpi-camera

Viewing the Camera Feed

You can view the camera feed by opening http://<ip_address> in your web browser.

  • To access the live stream, go to http://<ip_address>:8081/.

  • To capture a snapshot, visit http://<ip_address>/snapshot or http://<ip_address>/picture/1/current/.

Embedding in Another Website

The stream drops straight into an <iframe> or an <img> on another site — no configuration needed, because the server sends neither X-Frame-Options nor a frame-ancestors policy:

<img src="http://<ip_address>/webcam">

Drawing the stream into a <canvas> is different: without CORS the canvas becomes tainted and getImageData() / toDataURL() throw. Allow the embedding site’s origin under System > Embed on other websites (CORS) in the camera’s web UI — the change takes effect immediately and survives a restart. The same setting is available on the command line:

rpi-camera start --cors-origin https://ops.example.com   # or '*' for any site
rpi-camera install --cors-origin https://ops.example.com # bake it into the service

A value saved in the web UI wins over the command-line one.

and load the stream with crossorigin on the embedding page:

<img id="cam" crossorigin="anonymous" src="http://<ip_address>/webcam">
<canvas id="view" width="1920" height="1080"></canvas>
<script>
  const cam = document.getElementById('cam');
  const ctx = document.getElementById('view').getContext('2d');
  setInterval(() => ctx.drawImage(cam, 0, 0), 100);  // pixels are now readable
</script>

The same setting makes fetch() work against /snapshot and the /api/ endpoints, so a remote dashboard can read the camera state and drive the controls. --cors-origin takes a comma-separated list of origins, or * for any origin; it is off by default. Note that a page served over HTTPS cannot embed this camera at all — browsers block the mixed http:// content.

Contributing

Contributions are welcome! Please fork the repository and submit a pull request.

License

This project is licensed under the Apache 2.0 License. See the LICENSE file for more details.

Contact

For any questions or inquiries, please contact Tim at info@meltingplot.net

Metadata

Release files for meltingplot.rpi-camera 1.3.0rc3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meltingplot.rpi-camera 1.3.0rc3
File Size Uploaded
meltingplot_rpi_camera-1.3.0rc3.tar.gz 108.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meltingplot.rpi-camera 1.3.0rc3
File Interpreter ABI Platform
meltingplot_rpi_camera-1.3.0rc3-py3-none-any.whl Python 3 none any Details

Total release size: 186.6 kB

Release files / meltingplot_rpi_camera-1.3.0rc3.tar.gz

Download URL meltingplot_rpi_camera-1.3.0rc3.tar.gz
Size 108.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1b14b9b6d8e0b6460d9b0e7c40f3755090b1f168df0d002bdb8610225c460be9
BLAKE2b-256 checksum
How to use checksums
b159b3973ac004a0fa7de10ee0759fa25de1da5db3dfba33a0da6cdd21a20b0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log

Release files / meltingplot_rpi_camera-1.3.0rc3-py3-none-any.whl

Download URL meltingplot_rpi_camera-1.3.0rc3-py3-none-any.whl
Size 78.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c74bbbf812519f16f91b2e0a7e7157c2b74c334eceab8b0c913dded54975c684
BLAKE2b-256 checksum
How to use checksums
5c09f6635f024ae368532c9676b90a8a717d841fb5183a2b43e031be613ec972
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page