Oh yes! I will pull together a demo.

With ‘media-send’ I can send it out to ffmpeg/GStreamer and that does all the heavy lifting

I made a demo recently with my Google home camera using the official API https://github.com/hparadiz/camera-notif

But your way of grabbing the stream is so much simpler.

Overlay layer is super new in KDE Plasma is the only problem. You can also do v4l2loopback and make it a virtual camera.

Have you tried doing video + pipewire yet?

I am also using v4l2loopback, but its annoying to juggle /dev/video* devices. I wanted to do video stuff in docker containers, and it would be amazing if I could do pipewire in each container and have no global state.

I couldn't get anything to work in Chromium. FireFox saw the device, but video didn't come across.

When you say +pipewire you mean just audio playback? If you are pushing video to a picture-in-picture overlay a user might expect that so yea you could write to the pipewire socket like any other program. It's usually fully open for you to do just that.

I use v4l2 regularly with OBS. In order for Chrome/Chromium to see it you need to make the device before launching Chrome/Chromium. You can start v4l2 devices automatically by setting a modprobe config for your kernel.

My v4l2 notes might be helpful http://technex.us/2022/06/v4l2-notes-for-linux/