= USB 3 UVC capture devices == Elgato Cam Link 4K {{:hardware:elv2tmwuyaapiuo.jpeg?400|}} (by https://twitter.com/GregDavill) * https://www.elgato.com/de/gaming/cam-link-4k * https://help.elgato.com/hc/en-us/articles/360027963272-Cam-Link-4K-Technical-Specifications * https://wiki.apertus.org/index.php/Elgato_CAM_LINK_4K Input: HDMI (unencrypted) Output: USB3 UVC profile Note: For some reasons at least on linux with chrome / firefox a wrong color profile is selected if used in WebRTC chats. Possible workaround is video4linux loopback device Supported Resolutions: * 480p (720 by 480 resolution, up to 60 fps) NTSC * 576p (720 by 576 resolution, up to 50 fps) PAL * 720p (1280 by 720 resolution, up to 60 fps) * 1080i (1920 by 1080 resolution, interlaced, up to 60 fps) * 1080p (1920 by 1080 resolution, up to 60 fps) * 2160p (3840 by 2160 resolution, up to 30 fps) === dmesg [49988.036656] usb 4-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd [49988.062295] usb 4-1: LPM exit latency is zeroed, disabling LPM. [49988.064518] usb 4-1: New USB device found, idVendor=0fd9, idProduct=0066, bcdDevice= 0.00 [49988.064523] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=4 [49988.064526] usb 4-1: Product: Cam Link 4K [49988.064528] usb 4-1: Manufacturer: Elgato [49988.064531] usb 4-1: SerialNumber: 00025XXXXXXX [49988.128832] mc: Linux media interface: v0.10 [49988.149883] videodev: Linux video capture interface: v2.00 [49988.153738] hidraw: raw HID events driver (C) Jiri Kosina [49988.167268] usbcore: registered new interface driver usbhid [49988.167270] usbhid: USB HID core driver [49988.379429] usbcore: registered new interface driver snd-usb-audio [49988.383797] uvcvideo: Found UVC 1.10 device Cam Link 4K (0fd9:0066) [49988.394238] uvcvideo 4-1:1.0: Entity type for entity Processing 2 was not initialized! [49988.394241] uvcvideo 4-1:1.0: Entity type for entity Input 1 was not initialized! [49988.394602] input: Cam Link 4K: Cam Link 4K as /devices/pci0000:00/0000:00:1c.5/0000:06:00.0/usb4/4-1/4-1:1.0/input/input16 [49988.395544] usbcore: registered new interface driver uvcvideo [49988.395545] USB Video Class driver (1.1.1) [49988.432759] hid-generic 0003:0FD9:0066.0001: hiddev0,hidraw0: USB HID v1.01 Device [Elgato Cam Link 4K] on usb-0000:06:00.0-1/input2 === ffprobe ffprobe /dev/video0 Duration: N/A, start: 0.000000, bitrate: 2985984 kb/s Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 3840x2160, 2985984 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc == (Lindy/Generic) HDMI to USB 3.1 Video Capture Device * Relatively cheap ~85€ * MJPEG Output over USB2.0 (tested with 1920x1080 at 60fps) * rawvideo/yuyv422 over USB3.0 (also tested with 1920x1080 at 60fps) * Linux Supported * Audio / Video separate USB functions, sync could be problematic On recent Kernel versions there seems to be an issue [ 2673.261012] uvcvideo: Found UVC 1.00 device HDMI to U3 capture (1e4e:701f) [ 2673.273403] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround. [ 2673.273850] uvcvideo 2-4.3:1.0: Entity type for entity Extension 4 was not initialized! [ 2673.273856] uvcvideo 2-4.3:1.0: Entity type for entity Processing 3 was not initialized! [ 2673.273862] uvcvideo 2-4.3:1.0: Entity type for entity Camera 1 was not initialized! [ 2950.990076] usbcore: deregistering interface driver uvcvideo a work arround for this is to load the kernel module with a special option rmmod uvcvideo modprobe uvcvideo quirks=0x100 trace=1 resulting in: [ 2962.608502] uvcvideo: Probing generic UVC device 4.3 [ 2962.608732] uvcvideo: Found UVC 1.00 device HDMI to U3 capture (1e4e:701f) [ 2962.608734] uvcvideo: Forcing device quirks to 0x100 by module parameter for testing purpose. [ 2962.608735] uvcvideo: Please report required quirks to the linux-uvc-devel mailing list. [ 2962.608742] uvcvideo: Scanning UVC chain: OT 2 <- XU 4 <- PU 3 <- IT 1 [ 2962.608750] uvcvideo: Found a valid video chain (1 -> 2). [ 2962.694501] uvcvideo 2-4.3:1.0: Entity type for entity Extension 4 was not initialized! [ 2962.694509] uvcvideo 2-4.3:1.0: Entity type for entity Processing 3 was not initialized! [ 2962.694513] uvcvideo 2-4.3:1.0: Entity type for entity Camera 1 was not initialized! [ 2962.694621] uvcvideo: UVC device initialized. === dmesg / lsusb / uvcdynctrl [131873.503147] usb 2-1: new SuperSpeed USB device number 10 using xhci_hcd [131873.522458] usb 2-1: New USB device found, idVendor=1e4e, idProduct=701f [131873.522469] usb 2-1: New USB device strings: Mfr=6, Product=7, SerialNumber=3 [131873.522477] usb 2-1: Product: HDMI to U3 capture [131873.522484] usb 2-1: Manufacturer: Video Grabber [131873.522492] usb 2-1: SerialNumber: 20000130041415 [131873.527655] uvcvideo: Found UVC 1.00 device HDMI to U3 capture (1e4e:701f) [131873.613870] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround. [131873.614480] uvcvideo 2-1:1.0: Entity type for entity Extension 4 was not initialized! [131873.614492] uvcvideo 2-1:1.0: Entity type for entity Processing 3 was not initialized! [131873.614501] uvcvideo 2-1:1.0: Entity type for entity Camera 1 was not initialized! [131873.614514] media: could not get a free minor Bus 002 Device 011: ID 1e4e:701f Cubeternet Listing available devices: video0 HDMI to U3 capture: USB Video D Media controller device: /dev/media0 Entity 1: HDMI to U3 capture: USB Video D. Type: 65537, Revision: 0, Flags: 1, Group-id: 0, Pads: 1, Links: 0 Device node Entity: 1, Pad 0, Flags: 1 === Pictures {{:hardware:IMG_20180329_151629.jpg?400|}}{{:hardware:IMG_20180329_151639.jpg?400|}} {{:hardware:IMG_20180329_173205.jpg?400|}}{{:hardware:IMG_20180329_172800.jpg?400|}} === Capture Quality {{:hardware:hdmitousb31_capture.jpg?400|}} {{:hardware:hdmitousb31_capture.png?400|}} {{:hardware:hdmitousb31_screenshot.png?400|}} Left: Capture over USB2.0, Middle: Capture over USB3.0, Right: Screenshot of source material == HD Video 1080PFPS * Relatively cheap ~65€ * HDMI pass through * MJPEG Output over USB2.0 (tested with 1920x1080 at 60fps) * rawvideo/yuyv422 over USB3.0 (also tested with 1920x1080 at 60fps) * Linux Supported * Audio / Video separate USB functions, sync could be problematic === dmesg / lsusb (no HDMI input connected) [129685.403946] usb 4-2.1: new SuperSpeed Gen 1 USB device number 15 using xhci_hcd [129685.432736] usb 4-2.1: New USB device found, idVendor=1e4e, idProduct=7016, bcdDevice= 1.00 [129685.432744] usb 4-2.1: New USB device strings: Mfr=0, Product=0, SerialNumber=3 [129685.432749] usb 4-2.1: SerialNumber: 20000130041415 [129685.433705] uvcvideo: Found UVC 1.00 device (1e4e:7016) [129685.514256] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround. [129685.515346] uvcvideo 4-2.1:1.0: Entity type for entity Extension 4 was not initialized! [129685.515351] uvcvideo 4-2.1:1.0: Entity type for entity Processing 3 was not initialized! [129685.515354] uvcvideo 4-2.1:1.0: Entity type for entity Camera 1 was not initialized! [129687.484255] usb 4-2.1: USB disconnect, device number 15 [129687.484936] usb 4-2.1: cannot submit urb (err = -19) [129688.143966] usb 4-2.1: new SuperSpeed Gen 1 USB device number 16 using xhci_hcd [129688.172442] usb 4-2.1: New USB device found, idVendor=1e4e, idProduct=7016, bcdDevice= 1.00 [129688.172450] usb 4-2.1: New USB device strings: Mfr=0, Product=0, SerialNumber=3 [129688.172455] usb 4-2.1: SerialNumber: 20000130041415 [129688.173255] uvcvideo: Found UVC 1.00 device (1e4e:7016) [129688.188017] uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround. [129688.189063] uvcvideo 4-2.1:1.0: Entity type for entity Extension 4 was not initialized! [129688.189067] uvcvideo 4-2.1:1.0: Entity type for entity Processing 3 was not initialized! [129688.189071] uvcvideo 4-2.1:1.0: Entity type for entity Camera 1 was not initialized! lsusb Bus 004 Device 017: ID 1e4e:7016 Cubeternet === Pictures {{:hardware:img_3158.jpg?400|}} {{:hardware:img_3159.jpg?400|}} {{:hardware:img_3160.jpg?400|}} {{:hardware:img_3161.jpg?400|}} == August VGB500 * 1080p60 YUYV 4:2:2 * https://www.augustint.com/en/productmsg-90-341.html === dmesg on 5.4 [ 9996.758480] usb 2-4.3: new SuperSpeed Gen 1 USB device number 10 using xhci_hcd [ 9996.784467] usb 2-4.3: New USB device found, idVendor=1bcf, idProduct=2c99, bcdDevice= 2.00 [ 9996.784473] usb 2-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 9996.784476] usb 2-4.3: Product: FHD Capture [ 9996.784479] usb 2-4.3: Manufacturer: VXIS Inc [ 9996.793423] uvcvideo: Found UVC 1.00 device FHD Capture (1bcf:2c99) [ 9996.796572] usb 2-4.3: Disable of device-initiated U1 failed. [ 9996.797122] usb 2-4.3: Disable of device-initiated U2 failed. [ 9996.806761] uvcvideo 2-4.3:1.0: Entity type for entity Extension 4 was not initialized! [ 9996.806766] uvcvideo 2-4.3:1.0: Entity type for entity Extension 3 was not initialized! [ 9996.806769] uvcvideo 2-4.3:1.0: Entity type for entity Processing 2 was not initialized! [ 9996.806772] uvcvideo 2-4.3:1.0: Entity type for entity Camera 1 was not initialized! [ 9996.807094] input: FHD Capture: FHD Capture as /devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4.3/2-4.3:1.0/input/input31 [ 9996.809587] usb 2-4.3: Disable of device-initiated U1 failed. [ 9996.809914] usb 2-4.3: Disable of device-initiated U2 failed. [ 9996.813223] usb 2-4.3: 3:1: cannot get freq at ep 0x86 [ 9996.813481] usb 2-4.3: Disable of device-initiated U1 failed. === lsusb Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub === v4l2-ctl --all Driver Info: Driver name : uvcvideo Card type : FHD Capture: FHD Capture Bus info : usb-0000:00:14.0-4.3 Driver version : 5.4.30 Capabilities : 0x84a00001 Video Capture Metadata Capture Streaming Extended Pix Format Device Capabilities Device Caps : 0x04200001 Video Capture Streaming Extended Pix Format Priority: 2 Video input : 0 (Camera 1: ok) Format Video Capture: Width/Height : 1920/1080 Pixel Format : 'YUYV' (YUYV 4:2:2) Field : None Bytes per Line : 3840 Size Image : 4147200 Colorspace : sRGB Transfer Function : Default (maps to sRGB) YCbCr/HSV Encoding: Default (maps to ITU-R 601) Quantization : Default (maps to Limited Range) Flags : Crop Capability Video Capture: Bounds : Left 0, Top 0, Width 1920, Height 1080 Default : Left 0, Top 0, Width 1920, Height 1080 Pixel Aspect: 1/1 Selection Video Capture: crop_default, Left 0, Top 0, Width 1920, Height 1080, Flags: Selection Video Capture: crop_bounds, Left 0, Top 0, Width 1920, Height 1080, Flags: Streaming Parameters Video Capture: Capabilities : timeperframe Frames per second: 60.000 (60/1) Read buffers : 0 brightness 0x00980900 (int) : min=0 max=255 step=1 default=128 value=137 contrast 0x00980901 (int) : min=0 max=255 step=1 default=128 value=128 saturation 0x00980902 (int) : min=0 max=255 step=1 default=128 value=128 hue 0x00980903 (int) : min=-32 max=31 step=1 default=0 value=0