duvc-ctl Python Documentation

A guide to using the duvc-ctl Python library for controlling USB Video Class (UVC) cameras on Windows.


Contents

Getting Started

Core Concepts

Pythonic API

Result-Based API

Reference

Utilities & Advanced

Implementation & Contribution

Complete Property Reference

Practical Guide

Deep Dive

Learning

Overview

duvc-ctl provides native USB Video Class (UVC) camera control on Windows via DirectShow. Two complementary APIs:

  • CameraController: High-level, Pythonic, exception-based

  • Result-Based: Low-level, explicit error handling, C++ semantics

Both share identical underlying C++ bindings through pybind11. Choose based on error-handling preference.

Requirements: Windows 8+, Python 3.8+, DirectShow libraries (built-in on Windows)