"Can't link" USB capture device - cheap Elgato Camlink alternative built on MS 2109 Macrosilicon chip
EDIT: a more scientific approach to good color reproduction can be found here: http://ciko.io/posts/cheap_usb_hdmi/ and here: https://ciko.io/posts/cheap_usb_hdmi_2/
The "coffee" capture card isn't actually USB 3.0. It only has a blue-colored USB 2.0 connector. So definitely not as advertised. The difference between the black and coffee version is PCB version (1.5 vs 1.6 on coffee one) and - possibly - firmware that exposes modes above 30 fps for 1920x1080 through UVC.
Hovewer judging by the video motion I can say that the 50/60 fps modes in higher resolutions don't work as expected and the stream analysis shows that every 2nd frame is missing.
So in 1080p it always runs 30 fps (while in MJPG mode) or less. Other than that, it's well worth it's money. Good to carry around in your backpack.
Sidenote - some devices with the same PCB designs lack the ESD protection diodes on HDMI lines.
I hand-picked the numbers above using a professional HDMI signal generator and and waveform + vectorscope monitor in vMix. They are as close as you can get.
Colorspace | Bri | Con | Hue | Sat |
---|---|---|---|---|
YUV | 0 | 128 | 0 | 142 |
RGB | -10 | 137 | -2 | 155 |
YUV 444 | -17 | 149 | 0 | 145 |
(the last mode checked agains Hagibis capture dongle that seems to have a different firmware with default settings tuned for RGB input)
Have in mind that due to the internal proccesing of the MacroSilicon chip you loose some of the discreet levels, so gradients might have more visible banding artefacts (the same effects will be introduced if you try to fix the colors in post).
If your picture looks washed out (blacks and whites being greyish) it's most likely because your device outputs RGB signal over HDMI.
If the app (vMix for example) doesn't give you such opportunity you can use ffmpeg.
ffmpeg -f dshow -show_video_device_dialog true -i video="_name_of_the_capture_device"
To get the list of devices and their names use:
ffmpeg -f dshow list_devices true
(using OBS is another simple way to set the parameters).