Search code examples
usbwebcam

USB WebCamera protocol


When I plug a USB web Camera into a PC via USB, what communications is used? I know each device COULD have its own uniques driver, but it seems as though 99% use a common built in driver now. Where is it spec'd and how do you get a linux embedded device to act like a webcam?


Solution

  • What you're looking for is the USB Video Class and you can download the specification for this and other standard USB device classes here:

    http://www.usb.org/developers/docs/devclass_docs/

    The Linux USB gadget framework has code to emulate such a device:

    https://github.com/torvalds/linux/blob/master/drivers/usb/gadget/function/f_uvc.c