No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.

libuvc package from libuvc repo

libuvc

Third-Party Package

This third-party package's source repository does not contain a package manifest. Instead, its package manifest is stored in its release repository. In order to build this package from source in a Catkin workspace, please download its package manifest.

Package Summary

Tags No category tags.
Version 0.0.5
License BSD
Build type CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ktossell/libuvc.git
VCS Type git
VCS Version v0.0.5
Last Updated 2014-07-19
Dev Status UNMAINTAINED
Released RELEASED

Package Description

USB Video Class driver library

Additional Links

No additional links.

Maintainers

  • Ken Tossell

Authors

No additional authors.

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 https://github.com/ktossell/libuvc
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.

Developing with libuvc

The documentation for libuvc can currently be found at https://int80k.com/libuvc/doc/.

Happy hacking!

CHANGELOG
Changes in 0.0.5 (2014-07-19)
----------------

New features:
 - Added support for all of the camera terminal and processing unit controls, including the controls
   that appeared in UVC 1.1 and 1.5.
 - Added LIBUVC_VERSION_GTE(major, minor, patch) macro.

Bug fixes:
 - Switching to explicit kernel driver detachment since auto_detach isn't available in libusb < 1.0.16.
 - The cmake module now looks for libuvc.dylib instead of libuvc.so on OS X.


Changes in 0.0.4 (2014-06-26)
----------------

New features:
 - Support devices with multiple streaming interfaces and multiple concurrent streams.
   A new uvc_stream* API is added, along with a uvc_stream_handle type to encapsulate the
   state of a single UVC stream. Multiple streams can run alongside each other, provided
   your USB connection has enough bandwidth. Streams can be individually stopped and
   resumed; the old uvc_start/stop_streaming API is still provided as a convenient way
   to interact with the usual one-stream devices.
 - Added support for MJPEG streams.
 - Added functions for checking/setting autofocus mode.
 - Added an interface to set/get arbitrary controls on units and terminals.
 - Made the input, output, processing and extension units public.
 - Implemented uvc_get_device and uvc_get_libusb_handle.
 - Add a library-owned flag to uvc_frame_t so that users may allocate their own frame buffers.

Bug fixes:
 - Send frames as soon as they're received, not when the following frame arrives
 - Fixed call to NULL when no status callback is provided.
 - Fixed crash that occurred during shutdown if the USB device was disconnected during streaming.

Miscellaneous improvements:
 - Hid the transfer method (isochronous vs bulk) from the user. This was never really
   selectable; the camera's streaming interface supports either bulk or isochronous
   transfers, so now libuvc will figure out which one is appropriate. The `isochronous`
   parameter has been converted to a `flags` parameter, which is currently unused but
   could be used to convey up to 7 bits of stream mode information in the future.
 - Improved the method for claiming the camera's interfaces.
 - Renamed UVC_COLOR_FORMAT_* to UVC_FRAME_FORMAT_*. The old #defines are still available.
 - Simplified format definition and lookup.
 - Improved transfer status (error) handling.


Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

Deps Name
1 catkin

System Dependencies

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged libuvc at answers.ros.org