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)
| File | Size | Uploaded | |
|---|---|---|---|
| meltingplot_rpi_camera-1.3.0.tar.gz | 108.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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