

* For Windows it is required to create a custom Windows INF file in order for the device to be successfully registered on the system Independent of user application implementation Likewise it can be used by most standard capture application such as Skype, VLC, guvcview, among others.
#Video gaget mac os
The libGuvc uses the Linux UVC gadget driver and implements the UVC standard so that the gadget device using the library can be used on most operating systems that supports the UVC standard such as Linux, Windows* and Mac OS X.
#Video gaget how to
Note: libGuvc uses the kernel's UVC gadget driver as is to demonstrate how to add support for features such as H264 or XU, kernel patches are needed and Ridgerun has experience creating them, they are not intended to fix any issues (if any) on the UVC driver or the platform's USB stack. If you are interested in testing it on a different platform please Contact Us. It only requires UVC gadget driver to be enabled in the platform.įor the time being, we have tested the library in the following platforms: The libGuvc library can be integrated on any embedded device and it is independent of the SoC architecture and kernel version. Future support for UVC 1.5 can be added after the Linux kernel driver adds the support.

The following table list the main features provided by the libguvc and the corresponding library version:
#Video gaget software
Software stack description using libguvc Features Figure 1 depicts the software stack on a common use case scenario.įigure 1. It runs on top of the standard UVC driver in the Linux kernel and exposes a friendly interface for the userspace application, taking care of the communication between the user application and the Linux driver stack. The USB Video Class Gadget Library or for short, is a platform agnostic library that simplifies the development of UVC based gadget devices by encapsulating the most of the UVC communication leaving just the basic setup to the user. For more information on how to configure and use the UVC driver got to How to use the UVC gadget driver in Linux. Beside those efforts, the current UVC driver does not implement all the UVC specification and it is quite hard to configure and use, depending heavily on a userspace application in order to complete the enumeration process and start the video streaming. The Linux kernel has added an implementation of a UVC gadget driver to its mainline in order to help developers to create Linux based devices with UVC support. In the case of the device side, also known as the gadget, the driver support is usually proprietary depending on the manufacturer. Linux-based operating systems as well as other, have support for UVC based devices such as webcams, acting as a host for the device. UVC or USB Video Class is a USB specification created by the USB Implementers Forum ( USB-IF) and it is intended to standardize the video streaming functionality on the USB, that is, if you want to create a USB embedded device capable of sending video over the USB port and compatible with most operating systems and applications, then you need to implement the UVC specification.

Do you want to make your embedded device to look like a webcam and stream video over USB to a computer? If yes, then you need to implement the UVC specification.
