Product Documentation

Webcams with XenApp and XenDesktop

Feb 04, 2016

This article contains information about using webcams with XenApp and XenDesktop and explains the HDX RealTime Webcam Video Compression and HDX Plug-n-Play Generic USB Redirection features. In addition to the two approaches discussed in this article, note that "optimized" solutions are available for certain leading Unified Communications applications. These optimized solutions shift the media processing workload to the user device, thereby maximizing server scalability. Optimized solutions exist for Microsoft Skype for Business. See Microsoft VDI Plug-in for Skype for Business.

Applications running within the XenApp or XenDesktop session can use Webcams either by HDX RealTime Webcam Video Compression or by using HDX Plug-n-Play technology. Users can choose between the two based on their specific requirements. Citrix recommends HDX RealTime Webcam Video Compression because it offers superior bandwidth efficiency.

HDX RealTime webcam video compression

With HDX RealTime Webcam Video Compression, the video data is captured on the user device; it is then compressed and sent to the XenApp/XenDesktop session. Installation of the device drivers for the webcam is not required on the Virtual Delivery Agent (VDA). Device drivers are required only on the client device. Citrix recommends that the latest drivers are obtained directly from the webcam manufacturer’s website (or use the driver CD that came with the webcam). Sometimes, default drivers are installed when the device is first plugged in, but these drivers might not offer the video color space that the client’s codec needs, which might lead to higher CPU consumption on the user device as a result of color space conversion.

HDX RealTime Webcam Video Compression allows less bandwidth consumption and is especially suited to deployments where the VDA and client reside across slow networks. HDX RealTime Webcam Video Compression uses upstream bandwidth in the range of 300-600 kbps.

For more information about the configuration of HDX RealTime Webcam Video Compression, see  Video Conferencing with HDX RealTime webcam video compression in the XenApp 6.5 documentation.

HDX Plug-n-Play generic USB redirection

With HDX Plug-n-Play Generic USB Redirection technology, the webcam is virtually detached from the client device and attached to the XenApp/XenDesktop session. This provides all the native functionalities of the webcam in the XenApp/XenDesktop session. HDX Plug-n-Play Generic USB Redirection requires the device drivers for the webcam to be available on both the client device as well as on the VDA.

Bandwidth usage for webcams using HDX Plug-n-Play Generic USB Redirection technology can vary based on the vendor and model of the device, but it is significantly higher compared to use over HDX RealTime Webcam Video Compression. HDX Plug-n-Play for webcams is recommended to be used only under LAN conditions where bandwidth and latency are not constraints.

For more information about HDX Plug-n-Play configuration, see USB and client drive considerations in the XenApp and XenDesktop documentation at docs.citrix.com.

Default Behavior

By default, webcams use HDX RealTime Webcam Video Compression technology. However, end users can override the default behavior and explicitly choose to use HDX Plug-n-Play Generic USB Redirection from the Desktop Viewer preferences tab of Citrix Receiver, if the administrator has enabled remoting of USB devices through policies.

Should I use webcam video compression or generic USB redirection?

HDX RealTime Webcam Video Compression is the default and preferred way of using webcams with XenApp and XenDesktop, except when an "optimized" solution is available, such as the HDX RealTime Optimization Pack for Microsoft Skype for Business. HDX RealTime Webcam Video Compression uses significantly less bandwidth compared to HDX Plug-n-Play Generic USB Redirection and works well over WAN connections.

Citrix recommends HDX Plug-n-Play only when there are application compatibility issues with HDX RealTime Webcam Video Compression or when advanced native functionalities of the webcam, such as auto-focus are required. For better performance, Citrix recommends the XenDesktop VDA has at least two virtual CPUs.

Configuring HDX RealTime Webcam Video Compression

HDX RealTime Webcam Video Compression is available on XenDesktop 5.0 and later versions with Online Plug-in for Windows version 12.0 and later version or Receiver for Linux 12.0 and later versions.

HDX RealTime Webcam Video Compression is enabled by default on the VDA and on the Windows client and no additional configurations are required. With Receiver for Linux, it must be explicitly enabled. For information about ation, see  Configure HDX RealTime webcam video compression in the Citrix Receiver for Linux documentation at docs.citrix.com.

Dependency on Windows Media Redirection

HDX RealTime Webcam Video Compression uses the same underlying technology as Windows Media Redirection. To make HDX RealTime Webcam Video Compression Enable functional, enable Windows Media Redirect. If Windows Media Redirection is disabled, HDX RealTime Webcam Video Compression does not work.

Application compatibility

HDX RealTime Webcam Video Compression is compatible with most 32-bit unified communications clients. The feature has been tested for compatibility with the following applications:

  • Adobe Connect
  • Citrix GoToMeeting with HDFaces
  • Google Hangout
  • Microsoft Office Communicator 2007
  • Microsoft Lync 2010 and Lync 2013
  • Microsoft Skype and Skype fior Business

Webcam compatibility

HDX RealTime Webcam Video Compression is not directly dependent on specific models of webcams. You can use any webcam that is DirectShow compatible with HDX RealTime Webcam Video Compression. You can us most Windows Driver Model (WDM) compatible webcams. However, webcam bandwidth consumption can vary from webcam to webcam. Different webcams offer different frame rates and have different levels of brightness and contrast. Citrix used the following webcams for initial feature validation:

  • Microsoft LifeCam VX models (2000, 3000, 5000, 7000)
  • Creative LIVE! CAM Optia Pro
  • Logitech QuickCam Messenger
  • Logitech C600
  • HP Deluxe Webcam

During production testing, the LifeCam vx-3000 or later and the Creative Optia Pro gave the best results in terms of bandwidth consumed and subjective video quality. Adjusting the contrast of the webcam can reduce upstream traffic significantly. This can be accomplished if the webcam ships with a system tray utility that runs on the user device.

Known issues

Warning

Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it. 

  • If Citrix GoToMeeting with HDFaces does not recognize the webcam of the user, edit the system registry.
    For 32-bit devices, access HKEY_CLASSES_ROOT\CLSID\{860BB310-5D01-11d0-BD3B-00A0C911CE86}\Instance\Citrix HDX Web Camera.

    For 64-bit devices, access HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{860BB310-5D01-11d0-BD3B-00A0C911CE86}\Instance\Citrix HDX Web Camera.
    Add a string value named DevicePath.

    Set REG_SZ as the data type and Citrix Client as the value [263277].

  • HDX RealTime Webcam Video Compression does not automatically reconnect if the session connection is interrupted mid-conference. The user must restart the video conference [233296].

  • On XenApp (RDS VDA), only one webcam can be used with HDX RealTime Webcam Video Compression at a time; if the client device has multiple webcams configured, only the first one successfully detected is used in the XenApp session. On XenDesktop (VDI), multiple webcams are supported, along with client-side webcam switching.

Advanced configuration

Warning

Editing the registry incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it. 

Resolution

To adjust the webcam video resolution, create two DWORD values named DefaultWidth and DefaultHeight under HKEY_CURRENT_USER\Software\Citrix\HdxRealTime. By default, the Citrix Receiver uses CIF resolution (352 x 288) to stream webcam video to the XenApp and XenDesktop hosts. The resolution directly affects the bandwidth consumed and the overall quality of the video.

Frame Rate

To adjust the preferred video frame rate, create a DWORD (32-bit) value named FramesPerSecond under HKEY_CURRENT_USER\Software\Citrix\HdxRealTime. Because it is possible to specify a value that the webcam does not support, the actual frame rate might be different. When this key is not present, a default value of 15 frames per second is selected. The actual frame rate used depends on the webcam.

Bandwidth

To tweak the bandwidth usage, create a DWORD (32-bit) value named TargetBitrate under HKEY_CURRENT_USER\Software\Citrix\HdxRealTime. Values are in bits per second, so if you want 300, set the value to 300000. When this key is not present, the default value is 350000. During testing, somewhere between 250000 and 300000 was found to be the minimum values for the default resolution that still produced acceptable video quality. If the resolution and frame rate are set to lower values, it might be possible to lower the bit rate and reduce bandwidth consumption. Lastly, setting the bit rate to zero has special meaning - zero indicates that the codec should operate in VBR mode. However, during production testing, the codec generated excessive video artifacts, so VBR mode is NOT recommended.