Version 10 (modified by 4 years ago) (diff) | ,
---|
Webcam
This feature allows a webcam attached to the client to be exposed to the applications running on the server.
The webcam is not forwarded by default unless: the webcam command line option enabled, or the webcam is activated manually from the system tray menu.
Limitations
Known limitations and caveats - see #1113:
- only supported with Linux servers
- work in progress, see #1030
- framerate is low
- low resolution (hardcoded csc dependencies)
- no support for multiple sessions per server..
- limited detection of devices added or removed from the system
- it uses too much bandwidth (mostly wasted too)
- server setup requires an out of tree kernel module
- etc...
Installation
Clients only rely on opencv and its python bindings. (the win32 installers include it)
The server relies on a virtual video device, you must install the v4l2loopback
kernel module from https://github.com/umlaeute/v4l2loopback. And load it:
modprobe v4l2loopback devices=1 exclusive_caps=0
Some distributions may load the module with the wrong setting: exclusive_caps=1
(ie: Ubuntu, see #1596).
The user running the xpra session must be able to access the video devices (ie: adding the user to the video group)
Usage
The server should work out of the box provided that the kernel module is loaded.
You can enable the webcam from the client's system tray menu, or using the command line option webcam=on
, you can also specify which video device to forward on the command line --webcam=/dev/video2
.
Debugging
- use the
-d webcam
debug flag - run
python ./xpra/platform/xposix/webcam_util.py
, the correct output looks like this:python ./xpra/platform/xposix/webcam_util.py Found 1 virtual video device: /dev/video1
Binary installations should include a test application for capturing from the webcam using the same code that will be used to forward the webcam data to the server, run ./xpra/scripts/show_webcam.py
, or Webcam_Test
on win32 and OSX.