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

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

Built distribution (wheel)

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

Total release size: 186.3 kB

Release files / meltingplot_rpi_camera-1.3.0rc2.tar.gz

Download URL meltingplot_rpi_camera-1.3.0rc2.tar.gz
Size 108.0 kB
Tags Source
SHA-256 checksum
How to use checksums
0de24982dd281e999e1b0fd69afd07e012abcbe57ff154bc43a60b4450d272e3
BLAKE2b-256 checksum
How to use checksums
4a16ef9c542fffe561ce98e234d8f0d21cbbff8aea20cc457ed13994b9bc065d
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.0rc2-py3-none-any.whl

Download URL meltingplot_rpi_camera-1.3.0rc2-py3-none-any.whl
Size 78.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bc4b2be16f2eb7de041069c8076347455917feef388e8827e66bc36540d945ff
BLAKE2b-256 checksum
How to use checksums
9f1c33082496970b7d4079c664407946af229db37a9f2561176a261e6d9e3ba7
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