USB UVC Video Capture Device not working

Hello, I am having an issue with a USB Video Capture device I purchased from Amazon that I had hoped to use to digitize some old VHS tapes from a VCR. When I plug the device in, OBS will recognize it but is unable to open the device (it never changes from a completely black screen whereas if it was working properly it would show the VCR setup menu through the RCA input). VLC seems to have the same issue. I don’t even know how to begin to debug this. I managed to pull some log info I pasted below.

This was only a $10 item so it isn’t super important that I figure out how to get it to work if there is another recommended device that is known to be compatible with Arch without any problems. On the other hand, if there is a simple fix, I would be grateful for any suggestions on how to get this thing working.

usb 1-3: new high-speed USB device number 2 using xhci_hcd
usb 1-3: New USB device found, idVendor=534d, idProduct=0021, bcdDevice= 1.21
usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-3: Product: AV TO USB2.0
usb 1-3: Manufacturer: MACROSILICON
usb 1-3: SerialNumber: 20150130
usb 1-3: Found UVC 1.00 device AV TO USB2.0 (534d:0021)
usb 1-3: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
usb 1-3: Warning! Unlikely big volume range (=8191), cval->res is probably wrong.
usb 1-3: [2] FU [Mic Capture Volume] ch = 1, val = 0/8191/1
hid-generic 0003:534D:0021.0005: hiddev98,hidraw4: USB HID v1.10 Device [MACROSILICON AV TO USB2.0] on usb-0000:02:00.0-3/input4
checking bus 1, device 2: "/sys/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-3"
bus: 1, device: 2 was not an MTP device
checking bus 1, device 2: "/sys/devices/pci0000:00/0000:00:01.3/0000:02:00.0/usb1/1-3"
bus: 1, device: 2 was not an MTP device

A good starting point in this situation is to enter the USB-ID into a search engine and see what comes up, in your case 534d:0021, which leads to:

Looks promising.

PS: I got myself a cheap HDMI/USB capture dongle, which had a similar issue and solved the same way. New file /etc/modules-load.d/uvc.conf with content

uvcvideo

to load the module.

Thanks, I can get all the way through those steps and get the same results except I still cannot open the device in VLC. I am getting a v4l2 error:

image

Here is what OBS studio is saying. Not sure if it is much more help.

info:     - source: 'VCR Video' (v4l2_input)
info: ------------------------------------------------
Attempted path: share/obs/obs-studio/images/overflow.png
Attempted path: /usr/share/obs/obs-studio/images/overflow.png
info: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux)

info: User switched to scene 'YouTube'
info: User switched to scene 'VCR Capture'
info: v4l2-input: /dev/video5 seems to not support video capture
info: v4l2-input: /dev/video3 seems to not support video capture
info: v4l2-input: /dev/video1 seems to not support video capture
info: v4l2-input: Found device 'AV TO USB2.0' at /dev/video4
info: v4l2-input: Found device 'HD Web Camera: HD Web Camera' at /dev/video2
info: v4l2-input: Found device 'UVC Camera (046d:09a1)' at /dev/video0
info: v4l2-input: Found input 'Camera 1' (Index 0)
info: v4l2-input: Pixelformat: Motion-JPEG (unavailable)
info: v4l2-input: Pixelformat: YUYV 4:2:2 (available)
info: v4l2-input: Pixelformat: RGB3 (Emulated) (unavailable)
info: v4l2-input: Pixelformat: BGR3 (Emulated) (available)
info: v4l2-input: Pixelformat: YU12 (Emulated) (available)
info: v4l2-input: Pixelformat: YV12 (Emulated) (available)
info: v4l2-input: Stepwise and Continuous framerates are currently hardcoded
info: v4l2-input: Pixelformat: Motion-JPEG (unavailable)
info: v4l2-input: Pixelformat: YUYV 4:2:2 (available)
info: v4l2-input: Pixelformat: RGB3 (Emulated) (unavailable)
info: v4l2-input: Pixelformat: BGR3 (Emulated) (available)
info: v4l2-input: Pixelformat: YU12 (Emulated) (available)
info: v4l2-input: Pixelformat: YV12 (Emulated) (available)
info: v4l2-input: Stepwise and Continuous framerates are currently hardcoded
info: v4l2-input: Stepwise and Continuous framerates are currently hardcoded
info: v4l2-input: Stepwise and Continuous framerates are currently hardcoded

OK, I checked my device, which seems to be the same vendor (534d:2109).

After plugging in the stick (and having uvcvideo loaded) I get two new devices as /dev/video*, the first one plays in VLC. In OBS I’m able to add the device as Video Capture (V4L2), but Video Format YUYV isn’t working, for whatever reason. It’s only working in an emulated format at the moment (see the V4L2 capture settings).

Try with ‘yay guvcview’ ? VLC gets a bit weird sometimes, and guvcviewer (which lives in the Multimedia part of your menus) is a quick and easy way to verify things are coming through on the /dev/video* feed.