Skip to main content

rv565 for Python

Read, write and check RV565 video files: independently zlib-compressed RGB565 frames, the format the RV565 library plays at 24 FPS on ESP32-S3 SPI displays (arXiv:2610.35935).

pip install rv565            # core and the `rv565` command, no dependencies
pip install "rv565[pillow]"  # plus the Pillow plugin

Command line

rv565 encode input.mp4 clip.rv565 --size 180x135 --fps 24   # needs FFmpeg
rv565 info clip.rv565        # sizes and predicted missed frames on ESP32-S3
rv565 verify clip.rv565
rv565 c-array clip.rv565 clip.h   # for Arduino sketches

Library

import rv565

clip = rv565.open("clip.rv565")
print(clip.width, clip.height, clip.fps, len(clip))
frame = clip.frame(0)                     # RGB565 big-endian bytes, O(1) seek
report = clip.check_schedule(overlap=True)
print(report.late_frames)                 # 0: plays without misses (ESP32-S3 model)

rv565.write("out.rv565", 180, 135, 24, frames)   # frames: RGB565BE bytes each

Pillow

import rv565.pillow                       # registers the format
from PIL import Image, ImageSequence

with Image.open("clip.rv565") as im:      # mode "RGB", im.n_frames, im.info["fps"]
    frames = [f.copy() for f in ImageSequence.Iterator(im)]

frames[0].save("out.rv565", save_all=True, append_images=frames[1:], fps=24)

Any image sequence Pillow can open (GIF, APNG, WebP) can be saved as RV565 the same way; colours are reduced to RGB565.

License

MIT.

Metadata

Release files for rv565 1.1.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 rv565 1.1.0
File Size Uploaded Provenance Actions
rv565-1.1.0.tar.gz 12.2 kB With provenance Details for rv565-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rv565 1.1.0
File Interpreter ABI Platform Actions
rv565-1.1.0-py3-none-any.whl Python 3 none any Details for rv565-1.1.0-py3-none-any.whl

Total release size: 23.3 kB

Release files / rv565-1.1.0.tar.gz

Download URL rv565-1.1.0.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
2cf129b812b9b499c91ee796a02ba981ec9f4b712cd0f48bcea3141345dd78dd
BLAKE2b-256 checksum
How to use checksums
e86d686b0ee41b6578dea28b3f62fd0d11830b7f2709151071518de1c8374c94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 1, 2026.

Transparency log

Release files / rv565-1.1.0-py3-none-any.whl

Download URL rv565-1.1.0-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fee5b1c2993c577ea9f73bcb3d163c27ecd26202a8d7a40186d213c510439f01
BLAKE2b-256 checksum
How to use checksums
ce03d71b5b2ab65b72c44a3b2f9ae6ab59dcaedb5788f93e16b33f76f7f6c3f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 1, 2026.

Transparency log

Security for rv565 1.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for rv565-1.1.0.tar.gz

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 Nov 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files Full provenance

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