Score:0

Cam Link 4K - was working, but now it isn't

et flag

20.04 on a Lenovo X1 carbon, if it matters

I have a Cam Link 4K USB HDMI adapter, the purpose of which is to connect the HDMI output of a camera to a USB input. I have managed to get it working in the past. However, I had to reboot today, and now, though I can get the device to work with cheese, it does not work with any of the meeting applications I use (zoom and ringcentral).

I have a locally-built version of the v42loopback module, and I've installed it with

modprobe v4l2loopback max_buffers=2 devices=1 exclusive_caps=1

My v42l-ctl output is:

% v4l2-ctl --list-devices
Dummy video device (0x0000) (platform:v4l2loopback-000):
    /dev/video0

Synaptics RMI4 Touch Sensor (rmi4:rmi4-00.fn54):
    /dev/v4l-touch0

Cam Link 4K: Cam Link 4K (usb-0000:00:14.0-1.2):
    /dev/video1
    /dev/video2
    /dev/media0

I then start ffmpeg:

ffmpeg -f v4l2 -framerate 50 -pix_fmt yuyv422 -video_size 1920x1080 -i /dev/video1 -f v4l2 -vcodec rawvideo -pix_fmt yuv420p /dev/video0

I don't completely understand what that means, but it has worked for me many times in the past. Now, when I try all this stuff, I can get my video input up on the screen via cheese. That is, I start cheese and it works; I see the video and it's obviously live.

However, unlike in the past, the video is unavailable in zoom or ringcentral; the applications simply do not allow video. I have no clue at all what could be going on, or even any way of diagnosing the issue; the video is simply not available.

What can I do to figure out what those applications need in order to get the video working again?

edit I do verify the device info when I start ffmpeg to make sure the device assignments are correct; the above v42l-ctl output is usually how things look, but for random reasons the devices are different sometimes.

et flag
Note: after re-installing it, `obs` started working. That is, while `cheese` was working OK, `obs` was not until I reinstalled it. I have no idea why, as `obs` was working fine previously.
et flag
I'll also note that it's incredibly flaky; starting `cheese` *often* works, but then minutes later it doesn't, for reasons unknown.
et flag
Also: sometimes the camera works with `vlc` just fine, but `cheese` can't handle it because of some internal errors about allocating a buffer (?).
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.