Webcam Redirection and Optimization in IGEL OS
This article provides an overview and best-practice recommendations for the use of webcams in IGEL OS within remote sessions such as Citrix, VMware Horizon, and RDP.
Overview
In general, webcam support in IGEL OS can be divided into three categories:
Unoptimized | The raw data from the webcam is sent over the network via USB redirection. The raw data from the webcam is highly affected by network latency between the client and the server and takes up a lot of bandwidth, requires the correct drivers on the server-side, increases the server's CPU and RAM load. Example: Native USB Redirection for RDP sessions |
Optimization type 1 | In this case, the video and audio data is compressed on the client side. This optimization type makes the webcam stream far more efficient and reliable, although the data stream must still pass via the VDI server in addition to the cloud servers of the particular communication software (Teams, Zoom, etc.). Examples: HDX RealTime Webcam redirection for Citrix sessions, Real Time Audio Video (RTAV) for VMware Horizon sessions |
Optimization type 2 | In this case, the video and audio data is also compressed on the client side. However, unlike type 1, this optimization type offloads the data stream from the VDI server and sends it directly to Teams/Zoom/etc. in the cloud, i.e. "single-hop". This allows for the best performance and also removes the server load, but relies on the correct optimization pack being present on the client and is specific to each communication suite. It may also require a more complex network configuration because the endpoint has to be able to communicate directly with the communication cloud server and not only the VDI server. Examples: Microsoft Teams optimization and Zoom Media plugin for Citrix sessions |
In the case of optimization type 1 or type 2, it is important to ensure that the agent/component on the server side is installed and is compatible with the client-side version. For details on the latter, see the "Component Versions" section of the IGEL OS release notes.
General Recommendations
For optimal performance of webcams in IGEL OS, the correct optimization pack has to be enabled for the specific application, e.g. Microsoft Teams optimization, Zoom VDI Media plugin, Cisco Webex VDI, etc. However, optimization packs are not available for all session types.
USB Redirection
If no optimization pack exists for your session type or the optimization pack available does not function correctly, you can try to use USB redirection – either the Native USB Redirection or the less frequently used Fabulatech USB Redirection (not both together), – but ONLY as a LAST RESORT, when no other solution is possible.
In general, where USB redirection is available as an option inside the VDI session options, it should be disabled for the webcam devices.
Set Default rule to Deny
OR, if the Default rule is Allow (NOT recommended), go to Device Rules and add Deny rules for the specific Vendor ID and Product ID of the webcam.
This is necessary because USB redirection will block the webcam from being correctly optimized (if optimization is possible).
Do not forget to check and adjust settings and policies on the server side. Otherwise, your webcam may not work, even if all settings in the IGEL OS are configured correctly.
Always check the IGEL OS release notes for specific remarks, especially in the case of private builds (IGEL Subscription and More > General Product Information > Software Release Overview > Versioning Scheme for IGEL OS 11 to IGEL OS 12.01). Always try to use the latest firmware, see IGEL download server.
In certain cases, some of the settings described later on in this article may not be visible even though you have selected the correct firmware version for the profile in the UMS. In this case, update the UMS to the latest version.
Citrix
Option 1: Unified Communications (Best Choice)
Microsoft Teams Optimization | Path: Sessions > Citrix > Citrix Global > Unified Communications > VDI Solutions > Microsoft Teams optimization (enabled by default)
For server-side requirements for Microsoft Teams optimization, see Microsoft Teams installation. To troubleshoot Microsoft Teams optimization in Citrix, see: |
Zoom VDI Media Plugin | Path: Sessions > Citrix > Citrix Global > Unified Communications > VDI Solutions > Zoom VDI Media Plugin
For more information about Zoom Media Plugin, including server-side requirements, see Getting started with VDI. |
Cisco Webex Meetings VDI / Cisco Webex VDI | Path: Sessions > Citrix > Citrix Global > Unified Communications > Cisco > Cisco Webex Meetings VDI or Cisco Webex VDI
For more information about Cisco Webex products for VDI, including supported environments, see: |
Cisco JVDI Client | Path: Sessions > Citrix > Citrix Global > Unified Communications > Cisco > Cisco JVDI client
For more information about Cisco JVDI client, see Deployment and Installation Guide for Cisco Jabber Softphone for VDI Release 14.0. |
Skype for Business | Path: Sessions > Citrix > Citrix Global > Unified Communications > Skype for Business > HDX RealTime Media Engine (enabled by default)
IMPORTANT: Skype for Business Online will be retired by Microsoft on July 31, 2021. After this, it will no longer be available, and Microsoft Teams must be used instead. |
Option 2: HDX RealTime Webcam Redirection (Should Only Be Used If Optimization Packs under Option 1 Are Not Applicable)
For other VDI programs which require the use of a webcam (e.g. the browser), HDX RealTime Webcam redirection can be used. This option enables the compression of audio and video on the client side, which is redirected to an HDX virtual webcam on the server side. It also allows for the resolution of the webcam to be defined manually.
Only One Option at a Time for a Particular Device
HDX RealTime Webcam redirection and HDX RealTime Media Engine (Skype for Business) should not be enabled at the same time.
If you use HDX or an application-specific optimization pack (e.g. Zoom VDI Media plugin), Native USB Redirection / Fabulatech USB Redirection should be disabled.
Settings on the Server Side | Settings on the Client Side |
---|---|
The following policy settings must be enabled:
For details, see https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/multimedia/webcam-compression.html. |
|
Dependencies
HDX RealTime Webcam Redirection is supported for 32-bit applications on the server side (limitation of Citrix Receiver/Workspace App for Linux). Deploy a 32-bit browser to verify the webcam redirection online, e.g. www.webcamtests.com. See also https://support.citrix.com/article/CTX223199.
Webcam redirection for 64-bit apps is supported as of CWA 2203; for the configuration, see https://virtualbrat.com/2023/02/23/citrix-hdx-webcam-redirection-for-64-bit-applications-how-to-guide/. Before that, it was not in general availability phase, see https://docs.citrix.com/en-us/citrix-workspace-app-for-linux/configure-xenapp.html#webcams.Webcam redirection generally works with or without HDX RealTime Media Engine (RTME). However, to avoid conflicts and for the better performance of webcam redirection, disabling RTME (enabled by default) is highly recommended.
Webcam usage is limited to one application. For instance, when Skype is running with a webcam and GoToMeeting is started, you have to exit Skype to use the webcam with GoToMeeting.
HDX RealTime Webcam Redirection is NOT supported for Microsoft Teams. Use Microsoft Teams optimization instead, see above.
Does Webcam Audio Work but Video Doesn't?
->Try to increase the graphics memory in the BIOS to 512 MB.
For more detailed information about HDX RealTime Webcam, see:
VMware Horizon
Option 1 (Best Choice)
Microsoft Teams Optimization | Path: Sessions > Horizon Client > Horizon Client Global > Unified Communications > VDI Solutions > Microsoft Teams optimization (enabled by default)
For more information about Microsoft Teams, see Microsoft Teams Optimization with VMware Horizon and Configuring Media Optimization for Microsoft Teams. |
Zoom VDI Media Plugin | Path: Sessions > Horizon Client > Horizon Client Global > Unified Communications > VDI Solutions > Zoom VDI Media Plugin
Zoom Media Plugin will NOT function if you enable HTML5 multimedia redirection (Sessions > Horizon Client > Horizon Client Global > Unified Communications > VDI Solutions, enabled by default). For more information about Zoom VDI Media Plugin, including server-side requirements, see Getting started with VDI. |
Cisco Webex Meetings VDI / Cisco Webex VDI | Path: Sessions > Horizon Client > Horizon Client Global > Unified Communications > Cisco > Cisco Webex Meetings VDI or Cisco Webex VDI
For more information about Cisco Webex products for VDI, including supported environments, see: |
Cisco JVDI Client | Path: Sessions > Horizon Client > Horizon Client Global> Unified Communications > Cisco > Cisco JVDI client
For more information about Cisco JVDI client, see Deployment and Installation Guide for Cisco Jabber Softphone for VDI Release 14.0. |
Skype for Business | Path: Sessions > Horizon Client > Horizon Client Global > Unified Communications > Skype for Business > Virtualization Pack Skype for Business (enabled by default) IMPORTANT: Skype for Business Online will be retired by Microsoft on July 31, 2021. After this, it will no longer be available, and Microsoft Teams must be used instead. |
Option 2: Real-Time Audio-Video (RTAV)
Real-time Audio-Video (RTAV) is the optimization pack for audio and video calls inside VMware Horizon sessions. RTAV compresses audio and video on the client side and sends it to the Horizon server, where a VMware Virtual Webcam instance is created.
Like for Citrix sessions, USB redirection should be disabled if RTAV is to be used.
->Enable Sessions > Horizon Client > Horizon Client Global > Multimedia > Real Time Audio Video (RTAV).
RTAV is only available when connecting via PCoIP or VMware Blast.
Note that only one webcam will be redirected (limitation of Horizon client for Linux). If multiple webcams are available on the client, the preferred webcam can be defined in the IGEL Setup under System > Registry > vmware.view.rtav-webcam-id. For details, see Select a Preferred Webcam or Microphone on a Linux Client System.
For more information about RTAV, see Configuring Real-Time Audio-Video.
Microsoft Teams
Microsoft Teams can be used with RTAV in "Fallback Mode". This configuration is not an optimal solution as the data makes multiple hops between the Horizon client, server, and Microsoft Teams server. For more information, see Configuring Microsoft Teams with Real-Time Audio-Video.
Microsoft Teams media optimization (single-hop or "Optimized Mode") in Horizon sessions is currently only supported with the Horizon client for Windows 10 in conjunction with Horizon 8 (2006). For more information, see Microsoft Teams Optimization with VMware Horizon.
RDP
There is currently no optimization available for webcam redirection in RDP sessions. It may be possible to redirect webcams via USB redirection, e.g. Native USB Redirection. However, each webcam has to be individually tested for if it functions with this method. It often depends on the webcam itself and its Windows driver whether they can cope with the higher latencies that occur with USB redirections compared to the real USB bus.
In some situations, webcams may not be redirected correctly due to network latency, bandwidth limitations, or the lack of compatible drivers on the server.
Unoptimized Webcam Support
Note that because USB redirection is not designed for redirecting video devices, the bandwidth usage and server CPU load may increase significantly.
For this reason, it is recommended to use webcams that output directly H.264 or H.265 streams, and not MJPEG, in order to reduce the data volume.
Native USB Redirection
Enable Sessions > RDP > RDP Global > Native USB Redirection > Enable native USB redirection.
Set the Default rule to Deny.
Under Device Rules, add the specific Vendor ID and Product ID of the device to be redirected.
Getting USB Device Information
To find out the Class ID, Subclass ID, Vendor ID and Product ID of the connected USB device, you can use the System Information tool. For further information, see Using System Information Function.
System Information example:
Alternatively, you can use the command
lsusb
(orlsusb | grep -i [search term]
) in the terminal.Example for
lsusb
:
On RDS servers, the following may be helpful:
->Disable the setting Do not allow supported Plug and Play device redirection under Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Device and Resource Redirection.
For Microphone (e.g. Headset)
->Enable Sessions > RDP > RDP Global > Mapping > Audio > Audio recording.
Custom Partition as a Local Alternative
You can also use Custom Partitions for Microsoft Teams or Zoom, e.g. in order to save backend resources, which may be a good choice in slow RDP backends. The Custom Partition is locally installed but is easy to access in the remote session.
For details, see Microsoft Teams as a Custom Partition, Zoom as a Custom Partition.
Contact the IGEL Support Team to get support for the deployment of Custom Partitions.
For how to open up the webcam in Windows 10, see Open the Camera in Windows 10.
For a video overview on using webcams and other USB devices in remote sessions, see:
English
German