Skip to main content

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=False to receive raw frames; use the format parameter to request a specific pixel format string (e.g. "NV12" or "YUY2"), subject to what the device supports.
  • The helper WebcamRawToRGBConverter currently 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)

Source distribution for roboflex.webcam-gst 0.1.0
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)

Table of built distributions (wheels) for roboflex.webcam-gst 0.1.0
File Interpreter ABI Platform Actions
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.

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