webcamd and browsers

I've got a webcam working via webcamd and chromium. Today, I tried "piping" video through a virtual camera in OBS and almost got there but got stuck chrome not detecting the virtual camera.

Basically, I get a /dev/video5 device, vlc successfully connects and displays the stream. I figured, this confirms the setup is generally working.

Command line checks confirm that:
Code:
user@host:/ # v4l2-ctl -d /dev/video0 -l --verbose --all
VIDIOC_QUERYCAP: ok
Driver Info:
        Driver name      : v4l2 loopback
        Card type        : Dummy video device (0x0000)
        Bus info         : platform:v4l2loopback-000
        Driver version   : 2.6.38
        Capabilities     : 0x85208003
                Video Capture
                Video Output
                Video Memory-to-Memory
                Read/Write
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x05208003
                Video Capture
                Video Output
                Video Memory-to-Memory
                Read/Write
                Streaming
                Extended Pix Format
Priority: 2
Video input : 0 (loopback: ok)
Video output: 0 (loopback in)
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             :
Format Video Output:
        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             :
Streaming Parameters Video Capture:
        Frames per second: 30.000 (30/1)
        Read buffers     : 2
Streaming Parameters Video Output:
        Frames per second: 30.000 (30/1)
        Write buffers    : 2

User Controls

                    keep_format 0x0098f900 (bool)   : default=0 value=0
              sustain_framerate 0x0098f901 (bool)   : default=0 value=0
                        timeout 0x0098f902 (int)    : min=0 max=100000 step=1 default=0 value=0
               timeout_image_io 0x0098f903 (bool)   : default=0 value=0

However, when I open Teams in chrome, it only shows the hardware camera as option for camera input, which is obviously locked by OBS and doesn't work.

Why does it not find the dummy video input? Does anyone know, how chromium detects video sources for its webcam input?

Strangely enough, firefox properly detects the dummy source, but since it doesn't properly work with my audio setup, it's unfortunately not an option.
 
For anybody coming through here or if you happen to have similar issues... status update:

I've tried with qutebrowser for comparison. Somehow only shows my physical webcam as a choice - just like chrome. So I assume it's not purely a chrome thing.

In the meantime, I've also managed to get audio working on firefox. Unfortunately, it turns out that the video being shown in firefox isn't actually transmitted. I neither see screen shares nor video coming from other participants in Teams meeting. That's quite the bummer.

Weighing my options, whether to just shelve this and move my conferencing work back to a non-FreeBSD system or keep digging. Really had hoped I could finally tie everything into a single workstation.
 
Back
Top