Skip to main content

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.0

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.0
File Size Uploaded
meltingplot_rpi_camera-1.3.0.tar.gz 108.2 kB Details

Built distribution (wheel)

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

Total release size: 186.5 kB

Release files / meltingplot_rpi_camera-1.3.0.tar.gz

Download URL meltingplot_rpi_camera-1.3.0.tar.gz
Size 108.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1006e607b1abd0fae106052e57a3318419f01c75c82b75d58d37685a72cfb1fc
BLAKE2b-256 checksum
How to use checksums
054977f823378b7a5f58b3e8eacd332f17c83cda0371dc9cb04d86a00a42eed7
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.0-py3-none-any.whl

Download URL meltingplot_rpi_camera-1.3.0-py3-none-any.whl
Size 78.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d3118216242bd1e82384e8c6fd099ada0dd76c79487042a111e8dc32c0aff514
BLAKE2b-256 checksum
How to use checksums
64b05107a3cda02782af18bdf7dfc54cd4addbdbc57ed59218f0c66c4c39ff9f
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