QUII Helper 📹
Use QUII / Qualvision cameras and video intercoms from Python, without running the original mobile app. Capture images and video, serve RTSP, inspect device information, and explicitly open a connected door.
Available on PyPI.
Features · Compatibility · Quick Start · RTSP · Documentation · Safety
Features ✨
| Feature | What you can do |
|---|---|
| Snapshots | Capture a JPEG with Camera.snapshot(). |
| Recording | Save an MP4 clip with Camera.save_video(). |
| RTSP | Forward the live H.264 preview to a player such as VLC. |
| Device inspection | Read supported cloud and local device information. |
| LAN discovery | Find devices exposing Qualvision-compatible services. |
| Call history | Read incoming-call cloud history with experimental get_call_events(). |
| Door control | Send an explicit local opening command with Camera.open_door(). |
Call history is not a live ringing subscription. Available device fields and local commands depend on firmware; an unsupported query does not imply that video capture is unsupported.
Compatibility 🔍
The tested device is Tantos Marilyn Wi-Fi s, used with vHome 2.2:
snapshots, MP4 capture, RTSP, door opening in auto mode, and incoming-call
history on the tested account/backend.
Related devices may return the HTTP header Server: Qualvision -HTTPServer
or expose TCP port 34567. These are discovery hints, not proof of support.
See Compatibility
for platform coverage and how to report another device.
Quick Start 🚀
1. Install
Use Python 3.10 or newer, preferably in a virtual environment:
python -m pip install quii-helper
To upgrade an existing installation, use
python -m pip install --upgrade quii-helper. No --pre is needed.
2. Configure Your Application
Installing the package is not the complete camera setup. Preview/RTSP requires app-specific settings and assets extracted from an Android APK you are authorized to use. The verified native asset is from vHome 2.2, arm64-v8a, even when Python runs on Windows or Linux x86_64.
Follow Setup And APK Extraction to prepare an application directory:
my-camera-app/
app.py
.env
assets/
ca.pem
client.pem
client.txt
libqv-p2p-v2.so
data/ # Generated output; created when needed.
The wheel does not include .env.example or the repository's examples/.
The setup guide explains both installed-package and checkout workflows.
JPEG/MP4 output also needs the external FFmpeg executable on PATH;
RTSP does not. Verify it with ffmpeg -version.
3. Capture Media
Run this from the directory containing your configured .env and assets/:
from quii_helper import Camera, load_config
camera = Camera(config=load_config())
print(camera.snapshot())
print(camera.save_video(duration_seconds=15))
Both methods return a pathlib.Path. Default output goes to ./data/ with
timestamped names. Connection setup and file rendering add time to the media
collection window. See the API reference
for timeouts, output paths, and capture results.
RTSP Streaming 📡
from quii_helper import Camera, load_config
camera = Camera(config=load_config())
try:
with camera.serve_rtsp(port=8554) as session:
print(session.url)
session.wait()
except KeyboardInterrupt:
pass
Open rtsp://127.0.0.1:8554/live in VLC after media becomes available.
The context manager stops the server on exit; session.wait() reports
background failures and remains interruptible with Ctrl+C.
For a trusted LAN, pass host="0.0.0.0" and connect to the server's LAN IP,
not 0.0.0.0. There is no RTSP authentication or TLS. Restrict access
with a firewall/VPN and never expose this port publicly.
Documentation 📚
| I want to... | Read |
|---|---|
Set up an account, assets, and .env |
Setup And APK Extraction |
| Find methods, parameters, results, and errors | Camera API Reference |
| Read call history | Incoming Call History |
| Open a door explicitly | Door Control |
| Resolve a setup failure | Troubleshooting |
| Check platforms or report a device | Compatibility |
| Contribute or understand internals | Contributing, Protocol Notes |
Library imports do not read .env or reconfigure application logging.
Use load_config() to opt into file loading. Console examples honor
LOG_LEVEL=info or LOG_LEVEL=debug; embedding applications enable logging
explicitly. See Configuration
and Logging.
Safety And Limitations 🔒
- Use only devices, accounts, and APKs you own or are authorized to access.
- Never share
.env, extracted assets, private keys, raw logs, or camera media. - Keep TLS verification enabled. For vendor certificate failures, see the TLS guidance.
- Local CGI methods need an explicit camera LAN host and authentication code; preview/cloud credentials do not automatically configure local access.
open_door()sends a real command. Acknowledgement is not proof of physical movement, and an uncertain outcome must not be retried automatically.- The package is pre-
1.0; experimental APIs and firmware compatibility have explicit limits. See the Security Policy and Changelog.
Metadata
Release files for quii-helper 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| quii_helper-0.1.1.tar.gz | 416.3 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quii_helper-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 769.8 kB
Release files / quii_helper-0.1.1.tar.gz
| Download URL | quii_helper-0.1.1.tar.gz |
|---|---|
| Size | 416.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f36e80e4ab7e4b752eefe8366f864cba664f13c6f3785133fc9f163c4019e66e
|
|
BLAKE2b-256 checksum How to use checksums |
9826a126c91dba171b9292e4ea0426eacf83629fc1ef3835d5f4386d5fabc410
|
| 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 Oct 22, 2026.
Transparency logRelease files / quii_helper-0.1.1-py3-none-any.whl
| Download URL | quii_helper-0.1.1-py3-none-any.whl |
|---|---|
| Size | 353.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
14069b1c832058269e47f7c33622c4f83d98643de201f97b92c5cac8054f7e2f
|
|
BLAKE2b-256 checksum How to use checksums |
27ebfef531067d4829941a20c86df7381dddb43c2af7bd1a68be768d5c3de555
|
| 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 Oct 22, 2026.
Transparency logSecurity for quii-helper 0.1.1
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.
Attestation for quii_helper-0.1.1.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 Oct 22, 2026.
Transparency logA 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.