Brand-agnostic UVC PTZ Camera Library
Brand-agnostic UVC PTZ camera library for clinical operators.
Highlights
- Rebuilt a Logitech-specific camera control library into a brand-agnostic UVC implementation supporting any DirectShow-compatible PTZ camera
- Implemented absolute-position pan/tilt/zoom, night-vision/IR mode switching, and persistent field-of-view calibration
- Ran OpenCV feature detection during calibration to map screen coordinates to camera movements for "point-and-center" accuracy
- Exposed the library through a Direct2D calibration UI, a C# wrapper, and Python bindings for downstream consumers
- Deliberately discontinued the Logitech-specific predecessor after the UVC version reached parity and beyond
Problem
The previous library was Logitech-specific, which capped procurement: hospitals could only buy one vendor’s PTZ cameras, and that vendor was the expensive option. Replacing it required a brand-agnostic library that any UVC PTZ camera could drop into without breaking the “point-and-click on the screen, camera centers on that exact pixel” contract telehealth operators depended on.
Approach
Targeted DirectShow as the primary capture path on Windows — hardware enumeration, format negotiation, and frame delivery all through the DShow filter graph. PTZ control covers both modes: absolute positioning when the calibration step has produced a coordinate map, and relative deltas when the operator is driving live. OpenCV runs feature detection during the per-camera calibration pass to map screen coordinates to physical movement. The library exposes a Direct2D calibration UI, a C# wrapper, and Python bindings — so the same brand-agnostic core powers both the operator-facing tooling and the headless observation pipeline.
Result
Ten distinct UVC PTZ camera models verified and running in production, deployed across ~300 devices in 50 US hospitals. Command-to-movement latency is effectively instant. Bringing a new camera model online dropped from 1–2 weeks of engineering work to one day’s calibration pass.