Hacking Homebrew Homebrew Application for Ubisoft Hercules (WC04) Webcam?

ZodiaKGalXy

Well-Known Member
Newcomer
Joined
Jun 15, 2024
Messages
70
Reaction score
42
Trophies
1
Age
20
Location
A distant yet beautiful galaxy, full of stars
XP
598
Country
Canada
Hey all. I’ve recently picked up a obscure Wii Accessory known as Ubisoft’s Hercules Webcam (WC04):
IMG_1219.jpeg

IMG_1220.jpeg


This accessory is said to be a motion tracking camera for a couple of Ubisoft titles (Your Shape, Fit In Six, and Racquet Sports from what I found), and also serves as a standard computer webcam.
Video Game Retailers


I’m curious if it’s possible to get this webcam to run on homebrew software? For instance, a simple app that allows you to take a photo and saves it to a storage device or the Photo Channel.

2026-10-13: I've recently logged a lot of information regarding this camera using the "USBTreeView (USB Device Tree Viewer)" Windows tool. The two spoilers contain the exact information logged (copied and pasted), nothing sensitive was revealed upon analyizing.
=========================== USB Port1 ===========================

Connection Status : 0x01 (Device is connected)
Port Chain : 1-1
Properties : 0x01
IsUserConnectable : yes
PortIsDebugCapable : no
PortHasMultiCompanions : no
PortConnectorIsTypeC : no
ConnectionIndex : 0x01 (Port 1)
CompanionIndex : 0
CompanionHubSymLnk : USB#ROOT_HUB30#5&2e878725&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
CompanionPortNumber : 0x06 (Port 6)
-> CompanionPortChain : 1-6

========================== Summary =========================
Vendor ID : 0x057E (Nintendo Co., Ltd.)
Product ID : 0x030A
Manufacturer String : "Guillemot Corporation"
Product String : "USB Camera"
Serial : ---
USB Version : 2.0 (480 Mbit/s)
Port maximum Speed : High-Speed (Companion Port 1-6 is doing the SuperSpeed)
Device maximum Speed : High-Speed
Device Connection Speed : High-Speed
Self powered : no
Demanded Current : 500 mA
Used Endpoints : 2
Video : UVC Version 1.00
-------- Default Video Modes --------
640 x 480 @ 30 fps : MJPEG, Uncompressed
352 x 288 @ 30 fps : MJPEG, Uncompressed
320 x 240 @ 30 fps : MJPEG, Uncompressed
176 x 144 @ 30 fps : MJPEG, Uncompressed
160 x 120 @ 30 fps : MJPEG, Uncompressed
640 x 480 : Still Image
352 x 288 : Still Image
320 x 240 : Still Image
176 x 144 : Still Image
160 x 120 : Still Image

======================== USB Device ========================

+++++++++++++++++ Device Information ++++++++++++++++++
Device Description : USB Composite Device
BusReported Device Desc : USB Camera
Device Path : \\?\USB#VID_057E&PID_030A#6&2323136a&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Kernel Name : \Device\USBPDO-14
Device ID : USB\VID_057E&PID_030A\6&2323136A&0&1
Hardware IDs : USB\VID_057E&PID_030A&REV_0924 USB\VID_057E&PID_030A
Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0021 (GUID_DEVCLASS_USB)
Driver : \SystemRoot\System32\drivers\usbccgp.sys (Version: 10.0.26100.9444 Date: 2026-09-08 Company: Microsoft Corporation)
Driver Inf : C:\Windows\inf\usb.inf
Legacy BusType : PNPBus
Class : USB
Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service : usbccgp
Enumerator : USB
Location Info : Port_#0001.Hub_#0003
Address : 1
Location IDs : PCIROOT(0)#PCI(0801)#PCI(0003)#USBROOT(0)#USB(1), ACPI(_SB_)#ACPI(PCI0)#ACPI(GP17)#ACPI(XHC0)#ACPI(RHUB)#ACPI(PRT1)
Container ID : {aa41691a-bf36-11f1-a02a-8cae4ceca42d}
Manufacturer Info : (Standard USB Host Controller)
Capabilities : 0x84 (Removable, SurpriseRemovalOK)
Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
First Install Date : 2026-10-03 10:54:13
Last Arrival Date : 2026-10-03 10:54:13
EnhancedPowerMgmtEnabled : 0
Power State : D3 (supported: D0, D3, wake from D0)

+++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\057E030A0924
osvc : REG_BINARY 00 00
NewInterfaceUsage : REG_DWORD 00000000 (0)

---------------- Connection Information ---------------
Connection Index : 0x01 (Port 1)
Connection Status : 0x01 (DeviceConnected)
Current Config Value : 0x01 (Configuration 1)
Device Address : 0x04 (4)
Is Hub : 0x00 (no)
Device Bus Speed : 0x02 (High-Speed)
Number of open Pipes : 0x01 (1 pipe to data endpoints)
Pipe[0] : EndpointID=2 Direction=IN ScheduleOffset=0 Type=Interrupt wMaxPacketSize=0x10 bInterval=6 -> 2160 Bits/ms = 270000 Bytes/s

--------------- Connection Information V2 -------------
Connection Index : 0x01 (1)
Length : 0x10 (16 bytes)
SupportedUsbProtocols : 0x03
Usb110 : 1 (yes, port supports USB 1.1)
Usb200 : 1 (yes, port supports USB 2.0)
Usb300 : 0 (no, port not supports USB 3.0) -> but Companion Port 1-6 does
ReservedMBZ : 0x00
Flags : 0x00
DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher)
DevIsSsCapOrHigher : 0 (Device is not SuperSpeed capable or higher)
DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher)
ReservedMBZ : 0x00

---------------------- Device Descriptor ----------------------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x01 (Device Descriptor)
bcdUSB : 0x200 (USB Version 2.0)
bDeviceClass : 0xEF (Miscellaneous)
bDeviceSubClass : 0x02
bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor)
bMaxPacketSize0 : 0x40 (64 bytes)
idVendor : 0x057E (Nintendo Co., Ltd.)
idProduct : 0x030A
bcdDevice : 0x0924
iManufacturer : 0x30 (String Descriptor 48)
Language 0x0409 : "Guillemot Corporation"
iProduct : 0x60 (String Descriptor 96)
Language 0x0409 : "USB Camera"
iSerialNumber : 0x00 (No String Descriptor)
bNumConfigurations : 0x01 (1 Configuration)

------------------ Configuration Descriptor -------------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x02 (Configuration Descriptor)
wTotalLength : 0x0309 (777 bytes)
bNumInterfaces : 0x02 (2 Interfaces)
bConfigurationValue : 0x01 (Configuration 1)
iConfiguration : 0x30 (String Descriptor 48)
Language 0x0409 : "Guillemot Corporation"
bmAttributes : 0x80
D7: Reserved, set 1 : 0x01
D6: Self Powered : 0x00 (no)
D5: Remote Wakeup : 0x00 (no)
D4..0: Reserved, set 0 : 0x00
MaxPower : 0xFA (500 mA)

------------------- IAD Descriptor --------------------
bLength : 0x08 (8 bytes)
bDescriptorType : 0x0B (Interface Association Descriptor)
bFirstInterface : 0x00 (Interface 0)
bInterfaceCount : 0x02 (2 Interfaces)
bFunctionClass : 0x0E (Video)
bFunctionSubClass : 0x03 (Video Interface Collection)
bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED)
iFunction : 0x60 (String Descriptor 96)
Language 0x0409 : "USB Camera"

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x00 (Interface 0)
bAlternateSetting : 0x00
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x01 (Video Control)
bInterfaceProtocol : 0x00
iInterface : 0x60 (String Descriptor 96)
Language 0x0409 : "USB Camera"

------- Video Control Interface Header Descriptor -----
bLength : 0x0D (13 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x01 (Video Control Header)
bcdUVC : 0x0100 (UVC Version 1.00)
wTotalLength : 0x004D (77 bytes)
dwClockFreq : 0x00E4E1C0 (15 MHz)
bInCollection : 0x01 (1 VideoStreaming interface)
baInterfaceNr[1] : 0x01 (Interface 1)

------- Video Control Output Terminal Descriptor ------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x03 (Output Terminal)
bTerminalID : 0x02 (2)
wTerminalType : 0x0101 (TT_STREAMING)
bAssocTerminal : 0x00 (Not associated with an Input Terminal)
bSourceID : 0x04 (4)
iTerminal : 0x00 (No String Descriptor)

--------- Video Control Extension Unit Descriptor -----
bLength : 0x1A (26 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x06 (Extension Unit)
bUnitID : 0x04 (ID 4)
guidExtensionCode : {D13577F0-8D89-4700-812E-7DD5E2FDB898}
bNumControls : 0x08 (8 Controls)
bNrInPins : 0x01 (1 Input Pin)
baSourceID[1] : 0x03
bControlSize : 0x01 (1 bytes)
bmControls : 0xFF
D0 : 1 yes - Vendor-Specific (Optional)
D1 : 1 yes - Vendor-Specific (Optional)
D2 : 1 yes - Vendor-Specific (Optional)
D3 : 1 yes - Vendor-Specific (Optional)
D4 : 1 yes - Vendor-Specific (Optional)
D5 : 1 yes - Vendor-Specific (Optional)
D6 : 1 yes - Vendor-Specific (Optional)
D7 : 1 yes - Vendor-Specific (Optional)
iExtension : 0x00 (No String Descriptor)

-------- Video Control Input Terminal Descriptor ------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x02 (Input Terminal)
bTerminalID : 0x01 (1)
wTerminalType : 0x0201 (ITT_CAMERA)
bAssocTerminal : 0x00 (Not associated with an Output Terminal)
iTerminal : 0x00 (No String Descriptor)
Camera Input Terminal Data:
wObjectiveFocalLengthMin : 0x0000
wObjectiveFocalLengthMax : 0x0000
wOcularFocalLength : 0x0000
bControlSize : 0x03 (3 bytes)
bmControls : 0x0A, 0x02, 0x00
D0 : 0 no - Scanning Mode
D1 : 1 yes - Auto-Exposure Mode
D2 : 0 no - Auto-Exposure Priority
D3 : 1 yes - Exposure Time (Absolute)
D4 : 0 no - Exposure Time (Relative)
D5 : 0 no - Focus (Absolute)
D6 : 0 no - Focus (Relative)
D7 : 0 no - Iris (Absolute)
D8 : 0 no - Iris (Relative)
D9 : 1 yes - Zoom (Absolute)
D10 : 0 no - Zoom (Relative)
D11 : 0 no - Pan (Absolute)
D12 : 0 no - Pan (Relative)
D13 : 0 no - Roll (Absolute)
D14 : 0 no - Roll (Relative)
D15 : 0 no - Tilt (Absolute)
D16 : 0 no - Tilt (Relative)
D17 : 0 no - Focus Auto
D18 : 0 no - Reserved
D19 : 0 no - Reserved
D20 : 0 no - Reserved
D21 : 0 no - Reserved
D22 : 0 no - Reserved
D23 : 0 no - Reserved

-------- Video Control Processing Unit Descriptor -----
bLength : 0x0B (11 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x05 (Processing Unit)
bUnitID : 0x03 (3)
bSourceID : 0x01 (1)
wMaxMultiplier : 0x0000
bControlSize : 0x02 (2 bytes)
bmControls : 0x7F, 0x15
D0 : 1 yes - Brightness
D1 : 1 yes - Contrast
D2 : 1 yes - Hue
D3 : 1 yes - Saturation
D4 : 1 yes - Sharpness
D5 : 1 yes - Gamma
D6 : 1 yes - White Balance Temperature
D7 : 0 no - White Balance Component
D8 : 1 yes - Backlight Compensation
D9 : 0 no - Gain
D10 : 1 yes - Power Line Frequency
D11 : 0 no - Hue, Auto
D12 : 1 yes - White Balance Temperature, Auto
D13 : 0 no - White Balance Component, Auto
D14 : 0 no - Digital Multiplier
D15 : 0 no - Digital Multiplier Limit
iProcessing : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x82 (Direction=IN EndpointID=2)
bmAttributes : 0x03 (TransferType=Interrupt)
wMaxPacketSize : 0x0010
Bits 15..13 : 0x00 (reserved, must be zero)
Bits 12..11 : 0x00 (0 additional transactions per microframe -> allows 1..1024 bytes per packet)
Bits 10..0 : 0x10 (16 bytes per packet)
bInterval : 0x06 (32 microframes -> 4 ms)

--- Class-specific VC Interrupt Endpoint Descriptor ---
bLength : 0x05 (5 bytes)
bDescriptorType : 0x25 (Video Control Endpoint)
bDescriptorSubtype : 0x03 (Interrupt)
wMaxTransferSize : 0x0010 (16 bytes)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x00
bNumEndpoints : 0x00 (Default Control Pipe only)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

---- VC-Specific VS Video Input Header Descriptor -----
bLength : 0x0F (15 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x01 (Input Header)
bNumFormats : 0x02
wTotalLength : 0x022D (557 bytes)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmInfo : 0x00 (Dynamic Format Change not supported)
bTerminalLink : 0x02 (Output Terminal ID 2)
bStillCaptureMethod : 0x02 (Still Capture Method 2)
nbTriggerSupport : 0x00 (Hardware Triggering not supported)
bTriggerUsage : 0x00 (Host will initiate still image capture)
bControlSize : 0x01 (1 bytes each)
Video Payload Format 1 : 0x00
D0 : 0 no - Key Frame Rate
D1 : 0 no - P Frame Rate
D2 : 0 no - Compression Quality
D3 : 0 no - Compression Window Size
D4 : 0 no - Generate Key Frame
D5 : 0 no - Update Frame Segment
D6 : 0 no - Reserved
D7 : 0 no - Reserved
Video Payload Format 2 : 0x00
D0 : 0 no - Key Frame Rate
D1 : 0 no - P Frame Rate
D2 : 0 no - Compression Quality
D3 : 0 no - Compression Window Size
D4 : 0 no - Generate Key Frame
D5 : 0 no - Update Frame Segment
D6 : 0 no - Reserved
D7 : 0 no - Reserved

----- Video Streaming MJPEG Format Type Descriptor ----
bLength : 0x0B (11 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x06 (Format MJPEG)
bFormatIndex : 0x01 (1)
bNumFrameDescriptors : 0x05 (5)
bmFlags : 0x01 (Sample size is fixed)
bDefaultFrameIndex : 0x01 (1)
bAspectRatioX : 0x00
bAspectRatioY : 0x00
bmInterlaceFlags : 0x00
D0 IL stream or variable: 0 (no)
D1 Fields per frame : 0 (2 fields)
D2 Field 1 first : 0 (no)
D3 Reserved : 0
D4..5 Field pattern : 0 (Field 1 only)
D6..7 Display Mode : 0 (Bob only)
bCopyProtect : 0x00 (No restrictions)

----- Video Streaming MJPEG Frame Type Descriptor -----
---> This is the Default (optimum) Frame index
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x01
bmCapabilities : 0x00
wWidth : 0x0280 (640)
wHeight : 0x01E0 (480)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x00A8C000 (11059200 bps -> 1.382 MB/s)
dwMaxVideoFrameBufferSize: 0x00070800 (460800 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

----- Video Streaming MJPEG Frame Type Descriptor -----
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x02
bmCapabilities : 0x00
wWidth : 0x0140 (320)
wHeight : 0x00F0 (240)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x002A3000 (2764800 bps -> 345.500 KB/s)
dwMaxVideoFrameBufferSize: 0x0001C200 (115200 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

----- Video Streaming MJPEG Frame Type Descriptor -----
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x03
bmCapabilities : 0x00
wWidth : 0x00A0 (160)
wHeight : 0x0078 (120)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x000A8C00 (691200 bps -> 86.375 KB/s)
dwMaxVideoFrameBufferSize: 0x00007080 (28800 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

----- Video Streaming MJPEG Frame Type Descriptor -----
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x04
bmCapabilities : 0x00
wWidth : 0x00B0 (176)
wHeight : 0x0090 (144)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x000DEC00 (912384 bps -> 114 KB/s)
dwMaxVideoFrameBufferSize: 0x00009480 (38016 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

----- Video Streaming MJPEG Frame Type Descriptor -----
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x05
bmCapabilities : 0x00
wWidth : 0x0160 (352)
wHeight : 0x0120 (288)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x0037B000 (3649536 bps -> 456.125 KB/s)
dwMaxVideoFrameBufferSize: 0x00025200 (152064 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

---------- Still Image Frame Type Descriptor ----------
bLength : 0x1A (26 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x03 (Still Image Frame Type)
bEndpointAddress : 0x00 (no endpoint)
bNumImageSizePatterns : 0x05 (5 Image Size Patterns)
1: wWidth x wHeight : 0x0280 x 0x01E0 (640 x 480)
2: wWidth x wHeight : 0x0140 x 0x00F0 (320 x 240)
3: wWidth x wHeight : 0x00A0 x 0x0078 (160 x 120)
4: wWidth x wHeight : 0x00B0 x 0x0090 (176 x 144)
5: wWidth x wHeight : 0x0160 x 0x0120 (352 x 288)
bNumCompressionPattern : 0x00

------- VS Color Matching Descriptor Descriptor -------
bLength : 0x06 (6 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x0D (Color Matching)
bColorPrimaries : 0x01 (BT.709, sRGB)
bTransferCharacteristics : 0x01 (BT.709)
bMatrixCoefficients : 0x04 (SMPTE 170M)

------- VS Uncompressed Format Type Descriptor --------
bLength : 0x1B (27 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x04 (Uncompressed Format Type)
bFormatIndex : 0x02 (2)
bNumFrameDescriptors : 0x05 (5 Frame Descriptors)
guidFormat : {32595559-0000-0010-8000-00AA00389B71} (YUY2)
bBitsPerPixel : 0x10 (16 bits per pixel)
bDefaultFrameIndex : 0x01 (Index 1)
bAspectRatioX : 0x00
bAspectRatioY : 0x00
bmInterlaceFlags : 0x00
D0 IL stream or variable: 0 (no)
D1 Fields per frame : 0 (2 fields)
D2 Field 1 first : 0 (no)
D3 Reserved : 0
D4..5 Field pattern : 0 (Field 1 only)
D6..7 Display Mode : 0 (Bob only)
bCopyProtect : 0x00 (No restrictions)

-------- VS Uncompressed Frame Type Descriptor --------
---> This is the Default (optimum) Frame index
bLength : 0x32 (50 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x05 (Uncompressed Frame Type)
bFrameIndex : 0x01
bmCapabilities : 0x00
wWidth : 0x0280 (640)
wHeight : 0x01E0 (480)
dwMinBitRate : 0x00096000 (614400 bps -> 76.750 KB/s)
dwMaxBitRate : 0x01194000 (18432000 bps -> 2.304 MB/s)
dwMaxVideoFrameBufferSize: 0x00096000 (614400 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x06 (6 discrete frame intervals supported)
adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.0000 fps)
adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.0000 fps)
adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.0000 fps)
adwFrameInterval[4] : 0x000F4240 (100.0000 ms -> 10.0000 fps)
adwFrameInterval[5] : 0x001E8480 (200.0000 ms -> 5.0000 fps)
adwFrameInterval[6] : 0x00989680 (1000.0000 ms -> 1.0000 fps)

-------- VS Uncompressed Frame Type Descriptor --------
bLength : 0x32 (50 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x05 (Uncompressed Frame Type)
bFrameIndex : 0x02
bmCapabilities : 0x00
wWidth : 0x0140 (320)
wHeight : 0x00F0 (240)
dwMinBitRate : 0x00025800 (153600 bps -> 19.125 KB/s)
dwMaxBitRate : 0x00465000 (4608000 bps -> 576 KB/s)
dwMaxVideoFrameBufferSize: 0x00025800 (153600 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x06 (6 discrete frame intervals supported)
adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.0000 fps)
adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.0000 fps)
adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.0000 fps)
adwFrameInterval[4] : 0x000F4240 (100.0000 ms -> 10.0000 fps)
adwFrameInterval[5] : 0x000F8480 (101.6960 ms -> 9.8330 fps)
adwFrameInterval[6] : 0x00989680 (1000.0000 ms -> 1.0000 fps)

-------- VS Uncompressed Frame Type Descriptor --------
bLength : 0x32 (50 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x05 (Uncompressed Frame Type)
bFrameIndex : 0x03
bmCapabilities : 0x00
wWidth : 0x00A0 (160)
wHeight : 0x0078 (120)
dwMinBitRate : 0x00009600 (38400 bps -> 4.750 KB/s)
dwMaxBitRate : 0x00119400 (1152000 bps -> 144 KB/s)
dwMaxVideoFrameBufferSize: 0x00009600 (38400 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x06 (6 discrete frame intervals supported)
adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.0000 fps)
adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.0000 fps)
adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.0000 fps)
adwFrameInterval[4] : 0x000F4240 (100.0000 ms -> 10.0000 fps)
adwFrameInterval[5] : 0x000F8480 (101.6960 ms -> 9.8330 fps)
adwFrameInterval[6] : 0x00989680 (1000.0000 ms -> 1.0000 fps)

-------- VS Uncompressed Frame Type Descriptor --------
bLength : 0x32 (50 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x05 (Uncompressed Frame Type)
bFrameIndex : 0x04
bmCapabilities : 0x00
wWidth : 0x00B0 (176)
wHeight : 0x0090 (144)
dwMinBitRate : 0x0000C600 (50688 bps -> 6.250 KB/s)
dwMaxBitRate : 0x00173400 (1520640 bps -> 190 KB/s)
dwMaxVideoFrameBufferSize: 0x0000C600 (50688 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x06 (6 discrete frame intervals supported)
adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.0000 fps)
adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.0000 fps)
adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.0000 fps)
adwFrameInterval[4] : 0x000F4240 (100.0000 ms -> 10.0000 fps)
adwFrameInterval[5] : 0x000F8480 (101.6960 ms -> 9.8330 fps)
adwFrameInterval[6] : 0x00989680 (1000.0000 ms -> 1.0000 fps)

-------- VS Uncompressed Frame Type Descriptor --------
bLength : 0x32 (50 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x05 (Uncompressed Frame Type)
bFrameIndex : 0x05
bmCapabilities : 0x00
wWidth : 0x0160 (352)
wHeight : 0x0120 (288)
dwMinBitRate : 0x00031800 (202752 bps -> 25.250 KB/s)
dwMaxBitRate : 0x005CD000 (6082560 bps -> 760.250 KB/s)
dwMaxVideoFrameBufferSize: 0x00031800 (202752 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x06 (6 discrete frame intervals supported)
adwFrameInterval[1] : 0x00051615 (33.3333 ms -> 30.0000 fps)
adwFrameInterval[2] : 0x0007A120 (50.0000 ms -> 20.0000 fps)
adwFrameInterval[3] : 0x000A2C2A (66.6666 ms -> 15.0000 fps)
adwFrameInterval[4] : 0x000F4240 (100.0000 ms -> 10.0000 fps)
adwFrameInterval[5] : 0x000F8480 (101.6960 ms -> 9.8330 fps)
adwFrameInterval[6] : 0x00989680 (1000.0000 ms -> 1.0000 fps)

---------- Still Image Frame Type Descriptor ----------
bLength : 0x1A (26 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x03 (Still Image Frame Type)
bEndpointAddress : 0x00 (no endpoint)
bNumImageSizePatterns : 0x05 (5 Image Size Patterns)
1: wWidth x wHeight : 0x0280 x 0x01E0 (640 x 480)
2: wWidth x wHeight : 0x0140 x 0x00F0 (320 x 240)
3: wWidth x wHeight : 0x00A0 x 0x0078 (160 x 120)
4: wWidth x wHeight : 0x00B0 x 0x0090 (176 x 144)
5: wWidth x wHeight : 0x0160 x 0x0120 (352 x 288)
bNumCompressionPattern : 0x00

------- VS Color Matching Descriptor Descriptor -------
bLength : 0x06 (6 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x0D (Color Matching)
bColorPrimaries : 0x01 (BT.709, sRGB)
bTransferCharacteristics : 0x01 (BT.709)
bMatrixCoefficients : 0x04 (SMPTE 170M)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x01
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x0A60
Bits 15..13 : 0x00 (reserved, must be zero)
Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet)
Bits 10..0 : 0x260 (608 bytes per packet)
bInterval : 0x01 (1 microframe -> 0.125 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x02
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x0B00
Bits 15..13 : 0x00 (reserved, must be zero)
Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet)
Bits 10..0 : 0x300 (768 bytes per packet)
bInterval : 0x01 (1 microframe -> 0.125 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x03
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x0B20
Bits 15..13 : 0x00 (reserved, must be zero)
Bits 12..11 : 0x01 (1 additional transactions per microframe -> allows 513..1024 byte per packet)
Bits 10..0 : 0x320 (800 bytes per packet)
bInterval : 0x01 (1 microframe -> 0.125 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x04
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x1300
Bits 15..13 : 0x00 (reserved, must be zero)
Bits 12..11 : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet)
Bits 10..0 : 0x300 (768 bytes per packet)
bInterval : 0x01 (1 microframe -> 0.125 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x05
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x1320
Bits 15..13 : 0x00 (reserved, must be zero)
Bits 12..11 : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet)
Bits 10..0 : 0x320 (800 bytes per packet)
bInterval : 0x01 (1 microframe -> 0.125 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x06
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x13FC
Bits 15..13 : 0x00 (reserved, must be zero)
Bits 12..11 : 0x02 (2 additional transactions per microframe -> allows 683..1024 bytes per packet)
Bits 10..0 : 0x3FC (1020 bytes per packet)
bInterval : 0x01 (1 microframe -> 0.125 ms)

--------- Device Qualifier Descriptor (for Full-Speed) --------
bLength : 0x0A (10 bytes)
bDescriptorType : 0x06 (Device_qualifier Descriptor)
bcdUSB : 0x200 (USB Version 2.0)
bDeviceClass : 0xEF (Miscellaneous)
bDeviceSubClass : 0x02
bDeviceProtocol : 0x01 (IAD - Interface Association Descriptor)
bMaxPacketSize0 : 0x40 (64 Bytes)
bNumConfigurations : 0x01 (1 other-speed configuration)
bReserved : 0x00

------------ Other Speed Configuration Descriptor -------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x07 (Other_speed_configuration Descriptor)
wTotalLength : 0x026A (618 bytes)
bNumInterfaces : 0x04 (4 Interfaces)
bConfigurationValue : 0x01 (Configuration 1)
iConfiguration : 0x30 (String Descriptor 48)
Language 0x0409 : "Guillemot Corporation"
bmAttributes : 0x80
D7: Reserved, set 1 : 0x01
D6: Self Powered : 0x00 (no)
D5: Remote Wakeup : 0x00 (no)
D4..0: Reserved, set 0 : 0x00
MaxPower : 0xFA (500 mA)

------------------- IAD Descriptor --------------------
bLength : 0x08 (8 bytes)
bDescriptorType : 0x0B (Interface Association Descriptor)
bFirstInterface : 0x00 (Interface 0)
bInterfaceCount : 0x02 (2 Interfaces)
bFunctionClass : 0x0E (Video)
bFunctionSubClass : 0x03 (Video Interface Collection)
bFunctionProtocol : 0x00 (PC_PROTOCOL_UNDEFINED)
iFunction : 0x60 (String Descriptor 96)
Language 0x0409 : "USB Camera"

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x00 (Interface 0)
bAlternateSetting : 0x00
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x01 (Video Control)
bInterfaceProtocol : 0x00
iInterface : 0x60 (String Descriptor 96)
Language 0x0409 : "USB Camera"

------- Video Control Interface Header Descriptor -----
bLength : 0x0D (13 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x01 (Video Control Header)
bcdUVC : 0x0100 (UVC Version 1.00)
wTotalLength : 0x004D (77 bytes)
dwClockFreq : 0x001C9C38 (1.8 MHz)
bInCollection : 0x01 (1 VideoStreaming interface)
baInterfaceNr[1] : 0x01 (Interface 1)

------- Video Control Output Terminal Descriptor ------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x03 (Output Terminal)
bTerminalID : 0x02 (2)
wTerminalType : 0x0101 (TT_STREAMING)
bAssocTerminal : 0x00 (Not associated with an Input Terminal)
bSourceID : 0x04 (4)
iTerminal : 0x00 (No String Descriptor)

--------- Video Control Extension Unit Descriptor -----
bLength : 0x1A (26 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x06 (Extension Unit)
bUnitID : 0x04 (ID 4)
guidExtensionCode : {28F03370-6311-4A2E-BA2C-6890EB334016}
bNumControls : 0x01 (1 Controls)
bNrInPins : 0x01 (1 Input Pin)
baSourceID[1] : 0x03
bControlSize : 0x01 (1 bytes)
bmControls : 0x01
D0 : 1 yes - Vendor-Specific (Optional)
D1 : 0 no - Vendor-Specific (Optional)
D2 : 0 no - Vendor-Specific (Optional)
D3 : 0 no - Vendor-Specific (Optional)
D4 : 0 no - Vendor-Specific (Optional)
D5 : 0 no - Vendor-Specific (Optional)
D6 : 0 no - Vendor-Specific (Optional)
D7 : 0 no - Vendor-Specific (Optional)
iExtension : 0x00 (No String Descriptor)

-------- Video Control Input Terminal Descriptor ------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x02 (Input Terminal)
bTerminalID : 0x01 (1)
wTerminalType : 0x0201 (ITT_CAMERA)
bAssocTerminal : 0x00 (Not associated with an Output Terminal)
iTerminal : 0x00 (No String Descriptor)
Camera Input Terminal Data:
wObjectiveFocalLengthMin : 0x0000
wObjectiveFocalLengthMax : 0x0000
wOcularFocalLength : 0x0000
bControlSize : 0x03 (3 bytes)
bmControls : 0x00, 0x02, 0x00
D0 : 0 no - Scanning Mode
D1 : 0 no - Auto-Exposure Mode
D2 : 0 no - Auto-Exposure Priority
D3 : 0 no - Exposure Time (Absolute)
D4 : 0 no - Exposure Time (Relative)
D5 : 0 no - Focus (Absolute)
D6 : 0 no - Focus (Relative)
D7 : 0 no - Iris (Absolute)
D8 : 0 no - Iris (Relative)
D9 : 1 yes - Zoom (Absolute)
D10 : 0 no - Zoom (Relative)
D11 : 0 no - Pan (Absolute)
D12 : 0 no - Pan (Relative)
D13 : 0 no - Roll (Absolute)
D14 : 0 no - Roll (Relative)
D15 : 0 no - Tilt (Absolute)
D16 : 0 no - Tilt (Relative)
D17 : 0 no - Focus Auto
D18 : 0 no - Reserved
D19 : 0 no - Reserved
D20 : 0 no - Reserved
D21 : 0 no - Reserved
D22 : 0 no - Reserved
D23 : 0 no - Reserved

-------- Video Control Processing Unit Descriptor -----
bLength : 0x0B (11 bytes)
bDescriptorType : 0x24 (Video Control Interface)
bDescriptorSubtype : 0x05 (Processing Unit)
bUnitID : 0x03 (3)
bSourceID : 0x01 (1)
wMaxMultiplier : 0x0000
bControlSize : 0x02 (2 bytes)
bmControls : 0x7F, 0x05
D0 : 1 yes - Brightness
D1 : 1 yes - Contrast
D2 : 1 yes - Hue
D3 : 1 yes - Saturation
D4 : 1 yes - Sharpness
D5 : 1 yes - Gamma
D6 : 1 yes - White Balance Temperature
D7 : 0 no - White Balance Component
D8 : 1 yes - Backlight Compensation
D9 : 0 no - Gain
D10 : 1 yes - Power Line Frequency
D11 : 0 no - Hue, Auto
D12 : 0 no - White Balance Temperature, Auto
D13 : 0 no - White Balance Component, Auto
D14 : 0 no - Digital Multiplier
D15 : 0 no - Digital Multiplier Limit
iProcessing : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x82 (Direction=IN EndpointID=2)
bmAttributes : 0x03 (TransferType=Interrupt)
wMaxPacketSize : 0x0010 (16 bytes)
bInterval : 0x06 (6 ms)

--- Class-specific VC Interrupt Endpoint Descriptor ---
bLength : 0x05 (5 bytes)
bDescriptorType : 0x25 (Video Control Endpoint)
bDescriptorSubtype : 0x03 (Interrupt)
wMaxTransferSize : 0x0010 (16 bytes)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x00
bNumEndpoints : 0x00 (Default Control Pipe only)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

---- VC-Specific VS Video Input Header Descriptor -----
bLength : 0x0E (14 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x01 (Input Header)
bNumFormats : 0x01
wTotalLength : 0x00F8 (248 bytes)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmInfo : 0x00 (Dynamic Format Change not supported)
bTerminalLink : 0x02 (Output Terminal ID 2)
bStillCaptureMethod : 0x02 (Still Capture Method 2)
nbTriggerSupport : 0x00 (Hardware Triggering not supported)
bTriggerUsage : 0x00 (Host will initiate still image capture)
bControlSize : 0x01 (1 bytes each)
Video Payload Format 1 : 0x00
D0 : 0 no - Key Frame Rate
D1 : 0 no - P Frame Rate
D2 : 0 no - Compression Quality
D3 : 0 no - Compression Window Size
D4 : 0 no - Generate Key Frame
D5 : 0 no - Update Frame Segment
D6 : 0 no - Reserved
D7 : 0 no - Reserved

----- Video Streaming MJPEG Format Type Descriptor ----
bLength : 0x0B (11 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x06 (Format MJPEG)
bFormatIndex : 0x01 (1)
bNumFrameDescriptors : 0x05 (5)
bmFlags : 0x01 (Sample size is fixed)
bDefaultFrameIndex : 0x01 (1)
bAspectRatioX : 0x00
bAspectRatioY : 0x00
bmInterlaceFlags : 0x00
D0 IL stream or variable: 0 (no)
D1 Fields per frame : 0 (2 fields)
D2 Field 1 first : 0 (no)
D3 Reserved : 0
D4..5 Field pattern : 0 (Field 1 only)
D6..7 Display Mode : 0 (Bob only)
bCopyProtect : 0x00 (No restrictions)

----- Video Streaming MJPEG Frame Type Descriptor -----
---> This is the Default (optimum) Frame index
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x01
bmCapabilities : 0x00
wWidth : 0x0280 (640)
wHeight : 0x01E0 (480)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x00A8C000 (11059200 bps -> 1.382 MB/s)
dwMaxVideoFrameBufferSize: 0x00070800 (460800 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

----- Video Streaming MJPEG Frame Type Descriptor -----
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x02
bmCapabilities : 0x00
wWidth : 0x0140 (320)
wHeight : 0x00F0 (240)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x002A3000 (2764800 bps -> 345.500 KB/s)
dwMaxVideoFrameBufferSize: 0x0001C200 (115200 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

----- Video Streaming MJPEG Frame Type Descriptor -----
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x03
bmCapabilities : 0x00
wWidth : 0x00A0 (160)
wHeight : 0x0078 (120)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x000A8C00 (691200 bps -> 86.375 KB/s)
dwMaxVideoFrameBufferSize: 0x00007080 (28800 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

----- Video Streaming MJPEG Frame Type Descriptor -----
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x04
bmCapabilities : 0x00
wWidth : 0x00B0 (176)
wHeight : 0x0090 (144)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x000DEC00 (912384 bps -> 114 KB/s)
dwMaxVideoFrameBufferSize: 0x00009480 (38016 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

----- Video Streaming MJPEG Frame Type Descriptor -----
bLength : 0x26 (38 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x07 (MJPEG Frame Type)
bFrameIndex : 0x05
bmCapabilities : 0x00
wWidth : 0x0160 (352)
wHeight : 0x0120 (288)
dwMinBitRate : 0x0001F400 (128000 bps -> 16 KB/s)
dwMaxBitRate : 0x0037B000 (3649536 bps -> 456.125 KB/s)
dwMaxVideoFrameBufferSize: 0x00025200 (152064 bytes)
dwDefaultFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
bFrameIntervalType : 0x00 (0 discrete frame intervals supported)
dwMinFrameInterval : 0x00051615 (33.3333 ms -> 30.0000 fps)
dwMaxFrameInterval : 0x00989676 (999.9990 ms -> 1.0000 fps)
dwFrameIntervalStep : 0x00051615 (33.3333 ms -> 30.0000 fps)

---------- Still Image Frame Type Descriptor ----------
bLength : 0x1B (27 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x03 (Still Image Frame Type)
bEndpointAddress : 0x00 (no endpoint)
bNumImageSizePatterns : 0x05 (5 Image Size Patterns)
1: wWidth x wHeight : 0x0280 x 0x01E0 (640 x 480)
2: wWidth x wHeight : 0x00A0 x 0x0078 (160 x 120)
3: wWidth x wHeight : 0x00B0 x 0x0090 (176 x 144)
4: wWidth x wHeight : 0x0140 x 0x00F0 (320 x 240)
5: wWidth x wHeight : 0x0160 x 0x0120 (352 x 288)
bNumCompressionPattern : 0x01
bCompression[1] : 0x64

------- VS Color Matching Descriptor Descriptor -------
bLength : 0x06 (6 bytes)
bDescriptorType : 0x24 (Video Streaming Interface)
bDescriptorSubtype : 0x0D (Color Matching)
bColorPrimaries : 0x01 (BT.709, sRGB)
bTransferCharacteristics : 0x01 (BT.709)
bMatrixCoefficients : 0x04 (SMPTE 170M)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x01
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x0300 (768 bytes)
bInterval : 0x01 (1 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x02
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x0320 (800 bytes)
bInterval : 0x01 (1 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x03
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x0350 (848 bytes)
bInterval : 0x01 (1 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x04
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x0380 (896 bytes)
bInterval : 0x01 (1 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x05
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x039F (927 bytes)
bInterval : 0x01 (1 ms)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x01 (Interface 1)
bAlternateSetting : 0x06
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x0E (Video)
bInterfaceSubClass : 0x02 (Video Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x03FF (1023 bytes)
bInterval : 0x01 (1 ms)

------------------- IAD Descriptor --------------------
bLength : 0x08 (8 bytes)
bDescriptorType : 0x0B (Interface Association Descriptor)
bFirstInterface : 0x02 (Interface 2)
bInterfaceCount : 0x02 (2 Interfaces)
bFunctionClass : 0x01 (Audio)
bFunctionSubClass : 0x00 (undefined)
bFunctionProtocol : 0x00
iFunction : 0x40 (String Descriptor 64)
Language 0x0409 : "Audio_Device"

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x02 (Interface 2)
bAlternateSetting : 0x00
bNumEndpoints : 0x00 (Default Control Pipe only)
bInterfaceClass : 0x01 (Audio)
bInterfaceSubClass : 0x01 (Audio Control)
bInterfaceProtocol : 0x00
iInterface : 0x40 (String Descriptor 64)
Language 0x0409 : "Audio_Device"

------ Audio Control Interface Header Descriptor ------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype : 0x01 (Header)
bcdADC : 0x0100
wTotalLength : 0x0026 (38 bytes)
bInCollection : 0x01
baInterfaceNr[1] : 0x03

------- Audio Control Input Terminal Descriptor -------
bLength : 0x0C (12 bytes)
bDescriptorType : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype : 0x02 (Input Terminal)
bTerminalID : 0x01
wTerminalType : 0x0201 (Microphone)
bAssocTerminal : 0x00
bNrChannels : 0x01 (1 channel)
wChannelConfig : 0x0000 (-)
iChannelNames : 0x00 (No String Descriptor)
iTerminal : 0x00 (No String Descriptor)

------- Audio Control Output Terminal Descriptor ------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype : 0x03 (Output Terminal)
bTerminalID : 0x03
wTerminalType : 0x0101 (USB Streaming)
bAssocTerminal : 0x00 (0)
bSourceID : 0x05 (5)
iTerminal : 0x00 (No String Descriptor)

-------- Audio Control Feature Unit Descriptor --------
bLength : 0x08 (8 bytes)
bDescriptorType : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype : 0x06 (Feature Unit)
bUnitID : 0x05 (5)
bSourceID : 0x01 (1)
bControlSize : 0x01 (1 byte per control)
bmaControls[0] : 0x03
D0: Mute : 1
D1: Volume : 1
D2: Bass : 0
D3: Mid : 0
D4: Treble : 0
D5: Graphic Equalizer : 0
D6: Automatic Gain : 0
D7: Delay : 0
iFeature : 0x00 (No String Descriptor)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x03 (Interface 3)
bAlternateSetting : 0x00
bNumEndpoints : 0x00 (Default Control Pipe only)
bInterfaceClass : 0x01 (Audio)
bInterfaceSubClass : 0x02 (Audio Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x03 (Interface 3)
bAlternateSetting : 0x01
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x01 (Audio)
bInterfaceSubClass : 0x02 (Audio Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

-------- Audio Streaming Interface Descriptor ---------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype : 0x01 (AS_GENERAL)
bTerminalLink : 0x03 (Terminal ID 3)
bDelay : 0x01 (1 frame)
wFormatTag : 0x0001 (PCM)

------- Audio Streaming Format Type Descriptor --------
bLength : 0x0B (11 bytes)
bDescriptorType : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype : 0x02 (Format Type)
bFormatType : 0x01 (FORMAT_TYPE_I)
bNrChannels : 0x01 (1 channel)
bSubframeSize : 0x02 (2 bytes per subframe)
bBitResolution : 0x10 (16 bits per sample)
bSamFreqType : 0x01 (supports 1 sample frequence)
tSamFreq[1] : 0x03E80 (16000 Hz)

----------------- Endpoint Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x83 (Direction=IN EndpointID=3)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x0020 (32 bytes)
bInterval : 0x04 (4 ms)
bRefresh : 0x00
bSynchAddress : 0x00

----------- Audio Data Endpoint Descriptor ------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x25 (Audio Endpoint Descriptor)
bDescriptorSubtype : 0x01 (General)
bmAttributes : 0x01
D0 : Sampling Freq : 0x01 (supported)
D1 : Pitch : 0x00 (not supported)
D6..2: Reserved : 0x00
D7 : MaxPacketsOnly : 0x00 (no)
bLockDelayUnits : 0x00 (Undefined)
wLockDelay : 0x0000

---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x03 (Interface 3)
bAlternateSetting : 0x02
bNumEndpoints : 0x01 (1 Endpoint)
bInterfaceClass : 0x01 (Audio)
bInterfaceSubClass : 0x02 (Audio Streaming)
bInterfaceProtocol : 0x00
iInterface : 0x00 (No String Descriptor)

-------- Audio Streaming Interface Descriptor ---------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype : 0x01 (AS_GENERAL)
bTerminalLink : 0x03 (Terminal ID 3)
bDelay : 0x01 (1 frame)
wFormatTag : 0x0001 (PCM)

------- Audio Streaming Format Type Descriptor --------
bLength : 0x0B (11 bytes)
bDescriptorType : 0x24 (Audio Interface Descriptor)
bDescriptorSubtype : 0x02 (Format Type)
bFormatType : 0x01 (FORMAT_TYPE_I)
bNrChannels : 0x01 (1 channel)
bSubframeSize : 0x02 (2 bytes per subframe)
bBitResolution : 0x10 (16 bits per sample)
bSamFreqType : 0x01 (supports 1 sample frequence)
tSamFreq[1] : 0x0BB80 (48000 Hz)

----------------- Endpoint Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x83 (Direction=IN EndpointID=3)
bmAttributes : 0x05 (TransferType=Isochronous SyncType=Asynchronous EndpointType=Data)
wMaxPacketSize : 0x0060 (96 bytes)
bInterval : 0x04 (4 ms)
bRefresh : 0x00
bSynchAddress : 0x00

----------- Audio Data Endpoint Descriptor ------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x25 (Audio Endpoint Descriptor)
bDescriptorSubtype : 0x01 (General)
bmAttributes : 0x01
D0 : Sampling Freq : 0x01 (supported)
D1 : Pitch : 0x00 (not supported)
D6..2: Reserved : 0x00
D7 : MaxPacketsOnly : 0x00 (no)
bLockDelayUnits : 0x00 (Undefined)
wLockDelay : 0x0000

-------------------- String Descriptors -------------------
------ String Descriptor 0 ------
bLength : 0x04 (4 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language ID[0] : 0x0409 (English - United States)
------ String Descriptor 48 ------
bLength : 0x2C (44 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Guillemot Corporation"
------ String Descriptor 64 ------
bLength : 0x1A (26 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Audio_Device"
------ String Descriptor 96 ------
bLength : 0x16 (22 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "USB Camera"

+++++++++++++++++ Device Information ++++++++++++++++++
Friendly Name : USB Camera
Device Description : USB Video Device
BusReported Device Desc : USB Camera
Device Path 1 : \\?\USB#VID_057E&PID_030A&MI_00#7&22004ca1&0&0000#{6994ad05-93ef-11d0-a3cc-00a0c9223196}\global (AM_KSCATEGORY_VIDEO)
Device Path 2 : \\?\USB#VID_057E&PID_030A&MI_00#7&22004ca1&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global (AM_KSCATEGORY_CAPTURE)
Device Path 3 : \\?\USB#VID_057E&PID_030A&MI_00#7&22004ca1&0&0000#{e5323777-f976-4f5b-9b55-b94699c46e44}\global (STATIC_KSCATEGORY_VIDEO_CAMERA)
Kernel Name : \Device\00000235
Device ID : USB\VID_057E&PID_030A&MI_00\7&22004CA1&0&0000
Hardware IDs : USB\VID_057E&PID_030A&REV_0924&MI_00 USB\VID_057E&PID_030A&MI_00
Driver KeyName : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f}\0003 (GUID_DEVCLASS_CAMERA)
Driver : \SystemRoot\System32\Drivers\usbvideo.sys (Version: 10.0.26100.9444 Date: 2026-09-08 Company: Microsoft Corporation)
Driver Inf : C:\Windows\inf\usbvideo.inf
Legacy BusType : PNPBus
Class : Camera
Class GUID : {ca3e7ab9-b4c3-4ae6-8251-579ef933890f} (GUID_DEVCLASS_CAMERA)
Service : usbvideo
Enumerator : USB
Location Info : 0005.0000.0003.001.000.000.000.000.000
Address : 1
Manufacturer Info : Microsoft
Capabilities : 0xA4 (Removable, SilentInstall, SurpriseRemovalOK)
Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Lower Filters : WdmCompanionFilter
First Install Date : 2026-10-03 10:54:13
Last Arrival Date : 2026-10-03 10:54:13
EnhancedPowerMgmtEnabled : 0
Power State : D3 (supported: D0, D3, wake from D0)

Please let me know if this is possible, and hopefully this new information helps. If you’re curious on how to get one yourself, it’s relatively cheap to purchase on eBay, most of them are below $20 USD.

Thank you.
 
Last edited by ZodiaKGalXy,
You would need the access to the protocols it uses, then build the homebrew app based on that.

Since it's USB it shouldn't be hard unless the protocols are encrypted, which I'm guessing not because
and also serves as a standard computer webcam.

Don't have high hopes though, it's probably a 1MP cam.
 
  • Like
Reactions: ZodiaKGalXy
Don't have high hopes though, it's probably a 1MP cam.
Webcamtests.com actually found it as a 0.31MP cam.

I think the usb protocols are part of a UVC driver. How it shares that to the Wii may a head scratcher tho. If only I was able to view a game's code. :/
 
It all relies to the micro-processor in the USB Cam.
The micro-processor has all the protocols, IDs, permissions, etc.

Then, to make it work in homebrew software, the homebrew software would either need to:
- A) Get the encrypted data from micro-processor.
- B) Reflash/Rewrite micro-processor firmware to communicate with homebrew.

One thing you could attempt is to connect the Webcam to your PC, then (if Windows) go to:

Device Manager
Find your Webcam...
Right-Click -> Properties
Details Tab -> Hardware ID's / Driver version

Then Google whatever you have in there, and check if there's at least a schematic of it.

Then either find if someone has reverse-enginered the device... if not, then no, you're out of luck unless you tackle the issue yourself.

Don't mind me though, I once tried to re-map a cheap chinese gamepad analog stick's range because I had absolutely no diagonals, so I'm calling all this out of memory.
Might be another way though.
 
  • Like
Reactions: ZodiaKGalXy
Unfortunately I do not, just a Switch 1 :(

I could if I found someone nearby, but that may have to wait. Sounds interesting tho.
I'm sure that it would be possible to make homebrew which works to manipulate said camera. I don't own it, but I guess a question would be "why". In like 2008, I was a kid that was using an eMac as a computer. I believe when I wanted a webcam, my dad came home from work with what I believe is a Xbox 360 camera. It ran only at a few frames per second.

Furthermore, it would be cool to see homebrew that uses stuff like the USB Mouse as very few apps can use it. Or a drawing tablet. Or a USB to MIDI. I don't know, there's too many USB devices. How about a photo booth app for the Wii that universally uses USB camera and then you can view them in the Photo Channel? That'd be cool
 
  • Like
Reactions: ZodiaKGalXy

Site & Scene News

New Hot Discussed User Submitted