Multimedia

Multimedia performance

The Citrix Workspace app includes a broad set of technologies that provide a high-definition user experience for today’s media-rich user environments. These technologies improve the user experience when connecting to hosted applications and desktops, as follows:

Note:

Citrix supports RTOP coexistence with Citrix Workspace app for Linux Version 1901 and later with GStreamer 0.1.

HDX MediaStream Windows Media Redirection

HDX MediaStream Windows Media Redirection overcomes the need for the high bandwidths required to provide multimedia capture and playback on virtual Windows desktops accessed from Linux user devices. Windows Media Redirection provides a mechanism for playing the media run-time files on the user device rather than on the server. As a result, reduces the bandwidth requirements for playing multimedia files.

Windows Media Redirection improves the performance of Windows Media Player and compatible players running on virtual Windows desktops. A wide range of file formats are supported, including:

  • Advanced Systems Format (ASF)
  • Motion Picture Experts Group (MPEG)
  • Audio-Video Interleaved (AVI)
  • MPEG Audio Layer-3 (MP3)
  • WAV sound files

Citrix Workspace app includes a text-based translation table, MediaStreamingConfig.tbl, for translating Windows-specific media format GUIDs into MIME types GStreamer can use. You can update the translation table to do the following:

  • Add previously unknown or unsupported media filters/file formats to the translation table
  • Block problematic GUIDs to force fall-back to server-side rendering.
  • Add more parameters to existing MIME strings to allow for troubleshooting of problematic formats by changing a stream’s GStreamer parameters
  • Manage and deploy custom configurations that depend on the media file types supported by GStreamer on a user device.

With client-side fetching, you can also allow the user device to stream media directly from the URLs of the following form rather than streaming the media through a Citrix server:

  • <http://>
  • <mms://>
  • <rtsp://>

The server is responsible for directing the user device to the media, and for sending control commands (including Play, Pause, Stop, Volume, Seek). But the server does not handle any media data. This feature requires advanced multimedia GStreamer libraries on the device.

To implement HDX MediaStream Windows Media Redirection:

  1. Install GStreamer 0.10, an open-source multimedia framework, on each user device that requires it. Typically, you install GStreamer before you install Citrix Workspace app to allow the installation process to configure Citrix Workspace app to use it.

    Most Linux distributions include GStreamer. Alternatively, you can download GStreamer from http://gstreamer.freedesktop.org.

  2. To enable client-side fetching, install the required GStreamer protocol source plugins for the file types that users play on the device. You can verify that a plug-in is installed and operational using the gst-launch utility. If gst-launch can play the URL, the required plug-in is operational. For example, run gst-launch-0.10 playbin2 uri=<http://example-source/file.wmv> and check that the video plays correctly.

  3. When installing Citrix Workspace app on the device, select the GStreamer option if you’re using the tarball script (this step is done automatically for the .deb and .rpm packages).

Note about the client-side fetching feature:

  • By default, this feature is enabled. You can disable it using the SpeedScreenMMACSFEnabled option in the Multimedia section of All-Regions.ini. With this option set to False, Windows Media Redirection is used for media processing.
  • By default, all MediaStream features use the GStreamer playbin2 protocol. You can revert to the earlier playbin protocol for all MediaStream features except Client-Side Fetching. The Client-Side Fetching feature continues to use playbin2, using the SpeedScreenMMAEnablePlaybin2 option in the Multimedia section of the All-Regions.ini file.
  • Citrix Workspace app does not recognize playlist files or stream configuration information files such as .asx or .nsc files. If possible, users must specify a standard URL that does not reference these file types. Use gst-launch to verify that a given URL is valid.

Note about GStreamer 1.0:

  • By default, GStreamer 0.10 is used for HDX MediaStream Windows Media redirection. GStreamer 1.0 is used only when GStreamer 0.10 is not available.
  • If you want to use GStreamer 1.0, use the following instructions:
  1. Find the install directory of the GStreamer plug-ins. Depending on your distribution, the OS architecture, and the way you install GStreamer, the installation location of the plug-ins varies. The typical installation path is /usr/lib/x86\_64-linux-gnu/gstreamer-1.0 or $HOME/ .local/share/gstreamer-1.0.
  2. Find the install directory of Citrix Workspace app for Linux. The default directory for privileged (root) user installations is /opt/Citrix/ICAClient. The default directory for non-privileged user installations is $HOME/ICAClient/platform (where the platform can be linuxx64, for example). For more information, see Install and set up.
  3. Install libgstflatstm1.0.so by making a symbolic link in the GStreamer plug-ins directory: ln -sf $ICACLIENT\_DIR/util/libgstflatstm1.0.so $GST\_PLUGINS\_PATH/libgstflatstm1.0.so. This step might require elevated permissions, with sudo, for example.
  4. Use gst_play1.0 as the player: ln -sf $ICACLIENT\_DIR/util/gst\_play1.0 $ICACLIENT\_DIR/util/gst\_play. This step might require elevated permissions, with sudo, for example.
  • If you want to use GStreamer 1.0 in HDX RealTime Webcam Video Compression, use gst_read1.0 as the reader: ln -sf $ICACLIENT\_DIR/util/gst\_read1.0 $ICACLIENT\_DIR/util/gst\_read.

Enabling GStreamer 1.x

In releases earlier to 1912, GStreamer 0.10 was the default version supported for multimedia redirection. Starting with the 1912 release, you can configure GStreamer 1.x as the default version.

Limitations:

  • When you play a video, the backward and forward options might not work as expected.
  • When you launch the Citrix Workspace app on ARMHF devices, GStreamer 1.x might not work as expected.

To install GStreamer 1.x

Install the GStreamer 1.x framework and the following plug-ins from https://gstreamer.freedesktop.org/documentation/installing/on-linux.html:

  • Gstreamer-plugins-base
  • Gstreamer-plugins-bad
  • Gstreamer-plugins-good
  • Gstreamer-plugins-ugly
  • Gstreamer-libav

To build binaries locally

On some Linux OS distributions, for example, SUSE and openSUSE, the system might not find the GStreamer packages in the default source list. In this case, download the source code and build all binaries locally:

  1. Download the source code from https://gstreamer.freedesktop.org/src/.
  2. Extract the contents.
  3. Navigate to the directory where the unzipped package is available.
  4. Run the following commands:

    $sudo ./configure
    $sudo make
    $sudo make install
    <!--NeedCopy-->
    

By default, the generated binaries are available at /usr/local/lib/gstreamer-1.0/.

For information about troubleshooting, see Knowledge Center article CTX224988.

To configure GStreamer 1.x

To configure GStreamer 1.x for use with Citrix Workspace app, apply the following configuration using the shell prompt:

  • $ln -sf $ICACLIENT_DIR/util/libgstflatstm1.0.so $GST_PLUGINS_PATH/libgstflatstm1.0.so.
  • $ln -sf $ICACLIENT_DIR/util/gst_play1.0 $ICACLIENT_DIR/util/gst_play

Where,

  • ICACLIENT_DIR - The installation path of Citrix Workspace app for Linux.
  • GST_PLUGINS_PATH - The plug-in path of GStreamer. For example, on a 64-bit Debian machine it is /usr/lib/x86_64-linux-gnu/gstreamer-1.0/.

Limitations:

  • In releases earlier to Version 2106, the webcam redirection might fail and the session might get disconnected when using GStreamer version 1.15.1 or later.

HDX MediaStream Flash Redirection

HDX MediaStream Flash Redirection enables Adobe Flash content to play locally on user devices. This feature provides users with high definition audio and video playback, without increasing bandwidth requirements.

  1. Verify that your user device meets the feature requirements. For more information, see System requirements.

  2. Add the following parameters to the [WFClient] section of wfclient.ini (for all connections made by a specific user). Or, add to the [Client Engine\Application Launching] section of All\_Regions.ini (for all users of your environment):

    • HDXFlashUseFlashRemoting=Ask: Never; Always

      Enables HDX MediaStream for Flash on the user device. By default, this value is set to Never. Also, users are presented with a dialog box asking them if they want to optimize Flash content when connecting to webpages containing that content.

    • HDXFlashEnableServerSideContentFetching=Disabled; Enabled

      Enables or disables server-side content fetching for Citrix Workspace app. By default this value is set to Disabled.

    • HDXFlashUseServerHttpCookie=Disabled; Enabled

      Enables or disables HTTP cookie redirection. By default, this value is set to Disabled.

    • HDXFlashEnableClientSideCaching=Disabled; Enabled

      Enables or disables client-side caching for web content fetched by Citrix Workspace app. By default, this value is set to Enabled.

    • HDXFlashClientCacheSize= [25-250]

      Defines the size of the client-side cache, in MB. This value can be any size between 25 MB and 250 MB. When the size limit is reached, existing content in the cache is deleted to allow storage of new content. By default, this value is set to 100.

    • HDXFlashServerSideContentCacheType=Persistent: Temporary; NoCaching

      Defines the type of caching used by Citrix Workspace app for content fetched using server-side content fetching. By default, this value is set to Persistent.

      Note: This parameter is required only if HDXFlashEnableServerSideContentFetching is set to Enabled.

  3. Flash redirection is disabled by default. In /config/module.ini change FlashV2=Off to FlashV2=On to enable the feature.

HDX RealTime webcam video compression

HDX RealTime provides a webcam video compression option to improve bandwidth efficiency during video conferencing. This option ensures users experience optimal performance when using applications such as GoToMeeting with HDFaces, Skype for Business.

  1. Verify that your user device meets the feature requirements.
  2. Verify that the Multimedia virtual channel is enabled. To enable it, open the $ICAROOT/config/module.ini file, and check that MultiMedia in the [ICA3.0] section is set to On.
  3. Enable audio input by clicking the Use my microphone and webcam on the Mic & Webcam page of the Preferences dialog.

Disable HDX RealTime webcam video compression

By default, optimum webcam performance is provided by HDX RealTime Webcam Video Compression. In some circumstances, however, you might require users to connect webcams using USB support. To do this connection, you must do the following:

  • Disable HDX RealTime Webcam Video Compression
  • Enable USB support for webcams
  1. Add the following parameter to the [WFClient] section of the appropriate .ini file:

    AllowAudioInput=False

    For more information, see default settings.

  2. Open the usb.conf file, typically available at $ICAROOT/usb.conf.

  3. Remove or comment out the following line:

    DENY: class=0e # UVC (default via HDX RealTime Webcam Video Compression)

  4. Save and close the file.

H.264

Citrix Workspace app supports the display of H.264 graphics, including HDX 3D Pro graphics, that the Citrix Virtual Apps and Desktops 7 serves. This support uses the deep compression codec feature, which is enabled by default. The feature provides better performance of rich and professional graphics applications on WAN networks compared with the existing JPEG codec.

Note:

In H.264, the Citrix Workspace app for Linux supports YUV 420 format only and it doesn’t support YUV 444 format.

Follow the instructions in this topic to disable the feature (and process graphics using the JPEG codec instead). You can also disable text tracking while still enabling deep compression codec support. This setting helps to reduce CPU costs while processing graphics that include complex images but relatively small amounts of text or non-critical text.

Important:

To configure this feature, do not use any lossless setting in the Citrix Virtual Apps and Desktops or Citrix DaaS Visual quality policy. If you do, H.264 encoding is disabled on the server and does not work in Citrix Workspace app.

To disable deep compression codec support:

In the wfclient.ini file, set H264Enabled to False. This setting also disables text tracking.

To disable text tracking only:

With deep compression codec support enabled, in the wfclient.ini file set TextTrackingEnabled to False.

Multimedia