tatolab-virtualcamera
A virtual camera for Tatolab streams, built the way a third party builds a node:
an extension wheel that depends on tatolab-stream and on no engine crate, its
native half reaching the engine's PipeWire camera door through the module host
table. Linux only.
VirtualCameraSinkpresents each frame onvideoas the picture of a camera any Linux application can select. Each instance is one camera, created at setup and removed at teardown, like a USB camera plugged in and pulled out.- Config:
name, the camera's name in every picker, at most 31 bytes; absent,StreamLib Cameraplus four characters stable across runs of the same stream and node.door:v4l2loopback, a/dev/video*camera every application sees;pipewire, a PipeWire camera portal-based applications select, with no kernel module and no grant;auto(the default), the loopback camera where it is permitted and PipeWire otherwise. - The engine converts each RGBA frame into YUYV on the GPU; the camera's format follows the first frame's extent and colour, and an extent change re-negotiates it. A frame of odd width drops every later frame.
- Without write access to
/dev/v4l2loopbackthe loopback door refuses, namingtatolab enable-virtual-camera, the one-time command that loads the module and grants it behind your desktop's password prompt. Without a PipeWire daemon the PipeWire door refuses naming why.
- Config:
from tatolab.virtualcamera import VirtualCameraSink
camera = stream_builder.add(VirtualCameraSink, config={"name": "Desk Camera"})
Check it
uv venv --python 3.12 .venv && VIRTUAL_ENV=.venv uv pip install ../../sdk/tatolab-stream pytest mypy
VIRTUAL_ENV=.venv uvx maturin@1.9.6 develop
.venv/bin/python -m mypy.stubtest tatolab.virtualcamera._native
.venv/bin/pytest tests && uvx pyright@1.1.411
The camera tests run on a runtime with the module loaded, in the integration
suite's test_virtual_camera_sink.py.
Metadata
Release files for tatolab-virtualcamera 0.68.29
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tatolab_virtualcamera-0.68.29-cp312-abi3-manylinux_2_28_x86_64.whl | CPython 3.12 | abi3 | Linux glibc 2.28+ x86-64 | Details for tatolab_virtualcamera-0.68.29-cp312-abi3-manylinux_2_28_x86_64.whl |
Release files / tatolab_virtualcamera-0.68.29-cp312-abi3-manylinux_2_28_x86_64.whl
| Download URL | tatolab_virtualcamera-0.68.29-cp312-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 301.6 kB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
fad86964163fac336c19a7375217e76317e2031471856ed3d94fb85e2f4313c4
|
|
BLAKE2b-256 checksum How to use checksums |
5b98718d315384187a16574efe79d2198a95d6d5f3544346ca3e98b4465451bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for tatolab-virtualcamera 0.68.29
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.