Citrix Virtual Apps and Desktops

HDX video conferencing and webcam video compression

Warning:

Editing the registry incorrectly can cause serious problems that might 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.

Webcams can be used by applications running within the virtual session by using HDX webcam video compression or HDX plug-n-play generic USB redirection. Use Citrix Workspace app > Preferences > Devices to switch between modes. Citrix recommends you always use HDX webcam video compression if possible. HDX generic USB redirection is recommended only when there are application compatibility issues with HDX video compression or when you require advanced native functionalities of the webcam. For better performance, Citrix recommends the Virtual Delivery Agent to have at least two virtual CPUs.

To prevent users from switching from HDX webcam video compression, disable USB device redirection by using the policy settings under ICA policy settings > USB Devices policy settings. Citrix Workspace app users can override the default behavior by choosing the Desktop Viewer Mic & Webcam setting Don’t use my microphone or webcam.

HDX webcam video compression

HDX webcam video compression is also called Optimized webcam mode. This type of webcam video compression sends the H.264 video directly to the video conferencing application running in the virtual session. To optimize VDA resources, HDX webcam compression doesn’t encode, transcode, and decode webcam video. This feature is enabled by default.

To disable direct video streaming from the server to the video conferencing app, set the following registry key to 0 on the VDA.

HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\HdxRealTime

Name: OfferH264ToApp

Type: REG_DWORD

Data: 0

If you disable the default functionality for streaming video resources, HDX webcam video compression uses the multimedia framework technology that is part of the client operating system to intercept video from capture devices, transcode, and compress it. Manufacturers of capture devices supply the drivers that plug into the OS kernel streaming architecture.

The client handles communication with the webcam. The client then sends the video only to the server that can display it properly. The server doesn’t deal directly with the webcam, but its integration gives you the same experience in your desktop. Workspace app compresses the video to save bandwidth and provide better resiliency on WAN scenarios.

Webcam compression

HDX webcam video compression requires that the following policy settings be enabled (all are enabled by default).

  • Multimedia conferencing
  • Windows Media Redirection

If a webcam supports hardware encoding, HDX video compression uses the hardware encoding by default. Hardware encoding might consume more bandwidth than software encoding. To force software compression, add the following value to the registry key on the client:

HKEY_CURRENT_USER\Software\Citrix\HdxRealTime

Name: DeepCompress_ForceSWEncode

Type: REG_DWORD

Data: 1

HDX webcam video compression requirements

HDX webcam video compression supports the following versions of Citrix Workspace app:

Platform Processor
Citrix Workspace app for Windows Citrix Workspace app for Windows supports webcam video compression for 32-bit and 64-bit apps on XenApp and XenDesktop 7.17 and later. On earlier versions, Citrix Workspace app for Windows supports only 32-bit apps.
Citrix Workspace app for Mac Citrix Workspace app for Mac 2006 or later supports webcam video compression for 64-bit apps on XenApp and XenDesktop 7.17 and later. On earlier versions, Citrix Workspace app for Mac supports only 32-bit apps.
Citrix Workspace app for Linux Citrix Workspace app for Linux supports only 32-bit apps on the virtual desktop.
Citrix Workspace app for Chrome Because some ARM Chromebooks don’t support H.264 encoding, only 32-bit apps can use the optimized HDX webcam video compression.

Media foundation-based video applications support HDX webcam video compression on Windows 8.x or higher and Windows Server 2012 R2 and higher. For more information, see Knowledge Center article CTX132764.

Other user device requirements:

  • Appropriate hardware to produce sound.
  • DirectShow-compatible webcam (use the webcam default settings). Webcams that are hardware encoding capable reduce client-side CPU usage.
  • For HDX webcam video compression, install webcam drivers on the client, obtained from the camera manufacturer, if possible. Installation of the device drivers isn’t required on the server.

Different webcams offer different frame rates and have different levels of brightness and contrast. Adjusting the contrast of the webcam can reduce upstream traffic significantly. Citrix uses 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, C920
  • HP Deluxe Webcam

To adjust the preferred video frame rate, edit the following registry key on the client:

HKEY_CURRENT_USER\Software\Citrix\HDXRealTime

Name: FramesPerSecond

Type: REG_DWORD

Data: 15

If the webcam doesn’t support the specified frame rate, the application uses 15 FPS by default.

High-definition webcam streaming

The video conferencing application on the server selects the webcam format and resolution based on the supported format types. When a session starts, the client sends the webcam information to the server. Choose a webcam from the application. When the webcam and the video conferencing application support high-definition rendering, the application uses high-definition resolution. We support webcam resolutions up to 1920x1080.

This feature requires the Citrix Workspace app for Windows, minimum version 1808 or Citrix Receiver for Windows, minimum version 4.10.

You can use a registry key to disable and enable the feature.

HKEY_LOCAL_MACHINE\Software\Citrix\HDXRealTime

Name: Enable_HighDefWebcam

Type: REG_DWORD

Data:

0 = Disable the high-definition webcam streaming

1 = Enable the high-definition webcam streaming

If the media type negotiation fails, HDX falls back to the default resolution of 352x288 CIF. You can use registry keys on the client to configure the default resolution. Ensure that the camera supports the specified resolution:

HKEY_CURRENT_USER\Software\Citrix\HDXRealTime

Name: DefaultWidth

Type: REG_DWORD

Data (decimal): desired width (for example 1280)

Name: DefaultHeight

Type: REG_DWORD

Data (decimal): desired height (for example 720)

HDX webcam video compression uses significantly less bandwidth compared to plug-n-play generic USB redirection and works well over WAN connections. To adjust the bandwidth, set the following registry key on the client:

HKEY_CURRENT_USER\Software\Citrix\HDXRealTime

Name: TargetBitrate

Type: REG_DWORD

Data: 350000

Enter a value in bits per second. If you don’t specify the bandwidth, the video conferencing applications use 350000 bps by default.

HDX plug-n-play generic USB redirection

HDX plug-n-play generic USB redirection (isochronous) is also called Generic webcam mode. The benefit of HDX plug-n-play generic USB redirection is that you don’t have to install drivers on your thin client/endpoint. The USB stack is virtualized such that anything you plug into the local client is sent to the remote VM. The remote desktop acts as if you plugged it in natively. The Windows desktop handles all the interaction with the hardware and runs through the plug-n-play logic to find the correct drivers. Most webcams work if the drivers exist on the server and can work over ICA. Generic webcam mode uses significantly more bandwidth (many Megabits per second) because you are sending uncompressed video down with USB protocol over the network.

HDX video conferencing and webcam video compression