Skip to content
a cross-platform library for USB video devices
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
cameras Added lsusb output for a Logitech HD Pro Webcam C920 Jul 5, 2014
include expand iff Oct 1, 2017
src Merge pull request #76 from lobsteroh/master Jul 30, 2017
.travis.yml New Travis configuration Feb 11, 2016
CMakeLists.txt add missing pthread link lib for example Oct 1, 2017
changelog.txt update changelog.txt Oct 1, 2017
doxygen.conf Documentation update Nov 28, 2013 Resolve pkg-config conflict, update CONF_LIBRARY Jul 30, 2017 create a proper libuvcConfig.cmake file Oct 4, 2013 0.0.2. Added version record and libuvcTarget*.cmake Oct 4, 2013

libuvc is a cross-platform library for USB video devices, built atop libusb. It enables fine-grained control over USB video devices exporting the standard USB Video Class (UVC) interface, enabling developers to write drivers for previously unsupported devices, or just access UVC devices in a generic fashion.

Getting and Building libuvc

Prerequisites: You will need libusb and CMake installed.

To build, you can just run these shell commands:

git clone
cd libuvc
mkdir build
cd build
cmake ..
make && sudo make install

and you're set! If you want to change the build configuration, you can edit CMakeCache.txt in the build directory, or use a CMake GUI to make the desired changes.

There is also BUILD_EXAMPLE and BUILD_TEST options to enable the compilation of example and uvc_test programs. To use them, replace the cmake .. command above with cmake .. -DBUILD_TEST=ON -DBUILD_EXAMPLE=ON. Then you can start them with ./example and ./uvc_test respectively. Note that you need OpenCV to build the later (for displaying image).

Developing with libuvc

The documentation for libuvc can currently be found at

Happy hacking!

You can’t perform that action at this time.