Customers now and then ask about support for webcams at the client, something we currently do not support. Adding this support is far from trivial though. Like many systems, the applications use a kernel interface so there is no library that can be extended. Two possible solutions currently exist: * LD_PRELOAD. Similiar to how we handle OSS for sound. * A fake kernel device that allows us to feed data from user space. There is a somewhat neglected project here: http://www.lavrsen.dk/twiki/bin/view/Motion/VideoFourLinuxLoopbackDevice
Provided the kernel module works as-is, the following is needed: * Daemon on the server transferring data from a ssh tunnel to the V4L pipe. * Daemon on the client transferring data from a local webcam to a ssh tunnel. Rough estimate of the required work is 40h. This is just for a no thrills, dummy pipe over the network. We probably need to upgrade the module to V4L2 in a not too distant future.
Time est according to comment #1.
In addition to the kernel interface, some webcams uses/used libusb. Quoting from http://www.tldp.org/HOWTO/html_single/Webcam-HOWTO/: "There are two ways of supporting USB devices in Linux. One is the more traditional kernel support, and the other is through libusb. " This approach has also been tested with Spice, see: http://lists.freedesktop.org/archives/spice-devel/2012-June/009798.html
/dev/video# devices are character devices, so it might be possible to handle them via CUSE.
https://community.thinlinc.com/t/video-forwarding/903
https://github.com/cendio/ansible-role-thinlinc-server/issues/41#issue-2484279169