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:
- HDX MediaStream Windows Media Redirection
- HDX MediaStream Flash Redirection
- HDX RealTime Webcam Video Compression
- H.264
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:
-
Install
GStreamer
0.10, an open-source multimedia framework, on each user device that requires it. Typically, you installGStreamer
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 downloadGStreamer
from http://gstreamer.freedesktop.org. -
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 thegst-launch
utility. Ifgst-launch
can play the URL, the required plug-in is operational. For example, rungst-launch-0.10 playbin2 uri=<http://example-source/file.wmv>
and check that the video plays correctly. -
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 earlierplaybin
protocol for all MediaStream features except Client-Side Fetching. The Client-Side Fetching feature continues to use playbin2, using theSpeedScreenMMAEnablePlaybin2
option in the Multimedia section of theAll-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. Usegst-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 whenGStreamer 0.10
is not available. - If you want to use
GStreamer 1.0
, use the following instructions:
- Find the install directory of the
GStreamer
plug-ins. Depending on your distribution, the OS architecture, and the way you installGStreamer
, 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
. - 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.
- 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. - 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:
- Download the source code from https://gstreamer.freedesktop.org/src/.
- Extract the contents.
- Navigate to the directory where the unzipped package is available.
-
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.
-
Verify that your user device meets the feature requirements. For more information, see System requirements.
-
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 ofAll\_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.
-
-
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.
- Verify that your user device meets the feature requirements.
- Verify that the
Multimedia
virtual channel is enabled. To enable it, open the$ICAROOT/config/module.ini
file, and check thatMultiMedia
in the [ICA3.0] section is set toOn
. - 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
-
Add the following parameter to the [WFClient] section of the appropriate .ini file:
AllowAudioInput=False
For more information, see default settings.
-
Open the
usb.conf
file, typically available at$ICAROOT/usb.conf
. -
Remove or comment out the following line:
DENY: class=0e # UVC (default via HDX RealTime Webcam Video Compression)
-
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.