roboflex.webcam_gst
Support for USB and built-in webcams using GStreamer. This module is a drop-in alternative to roboflex_webcamuvc, but it avoids the libuvc dependency and instead drives cameras through the GStreamer stack. The message schema and Python/C++ APIs are kept as close as possible to the original UVC implementation.
System dependencies
GStreamer and its development headers are required at build time:
# Ubuntu / Debian
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good
# macOS (Homebrew)
brew install gstreamer gst-plugins-base gst-plugins-good
Install
The project can be built like other roboflex modules:
pip install roboflex.webcam_gst
or from source with CMake.
Python usage
import roboflex.webcam_gst as rcw
print(rcw.get_device_list_string())
sensor = rcw.WebcamSensor(
width=640,
height=480,
fps=30,
device_index=-1, # use default camera
format="", # empty string lets GStreamer pick
emit_rgb=True,
)
sensor.start()
try:
# consume messages...
pass
finally:
sensor.stop()
The emitted messages (WebcamDataRGB / WebcamDataRaw) match the original module so downstream nodes can continue to operate without changes.
Device descriptors
get_device_list() returns DeviceDescriptor objects with the following fields:
display_name: Human-readable label reported by GStreamer.gst_factory_name: The underlying factory name used by GStreamer.device_class: The class of device (e.g.Video/Source).device_path: OS-specific identifier when available.caps_strings: A list of capability structures advertised by the device.
Notes
- RGB output is enabled by default. Set
emit_rgb=Falseto receive raw frames; use theformatparameter to request a specific pixel format string (e.g."NV12"or"YUY2"), subject to what the device supports. - The helper
WebcamRawToRGBConvertercurrently expects RGB input; raise an exception otherwise. Most workflows should request RGB directly from the sensor. - Because we rely on GStreamer, the available devices and pixel formats depend on the plugins installed on your system.
Metadata
Release files for roboflex.webcam-gst 0.1.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 | Provenance | Actions |
|---|---|---|---|---|
| roboflex_webcam_gst-0.1.0.tar.gz | 14.0 kB | Without provenance | Details for roboflex_webcam_gst-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| roboflex_webcam_gst-0.1.0-cp311-cp311-macosx_15_0_arm64.whl | CPython 3.11 | CPython 3.11 | macOS 15.0+ ARM64 | Details for roboflex_webcam_gst-0.1.0-cp311-cp311-macosx_15_0_arm64.whl |
Total release size: 308.1 kB
Release files / roboflex_webcam_gst-0.1.0.tar.gz
| Download URL | roboflex_webcam_gst-0.1.0.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd66309d4e971d067da17ab988c4d0e345bdcb5e5c05f643041569704a2cdb87
|
|
BLAKE2b-256 checksum How to use checksums |
2959333d0308f71463309991e238233e108e349e6c3c5ac25541ce140404624c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|
Release files / roboflex_webcam_gst-0.1.0-cp311-cp311-macosx_15_0_arm64.whl
| Download URL | roboflex_webcam_gst-0.1.0-cp311-cp311-macosx_15_0_arm64.whl |
|---|---|
| Size | 294.1 kB |
| Tags | CPython 3.11 macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4f55c5f49a9965fbe28e4bc228a29e7b957c6199bded3c48da935530857d0fc5
|
|
BLAKE2b-256 checksum How to use checksums |
4cd7c110a29148f57dac6b261f2475a6da4bdff1b58cd572cb71c30f9e6dd1df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|
Security for roboflex.webcam-gst 0.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.
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.