This article provides information on troubleshooting HDX MediaStream on Linux.
HDX MediaStream includes a variety of Citrix technologies for video and audio playback. The Citrix Receiver for Linux includes the following HDX MediaStream technologies:
HDX MediaStream Windows Media Redirection (formerly SpeedScreen Multimedia Acceleration).
Server rendered multimedia delivery.
Version 11.100 of the Citrix Receiver for Linux introduced new audio and video codec technologies to enhance HDX MediaStream server rendered multimedia delivery.
This technology streams compatible media files from the server to the client where they are rendered. This delivers smooth playback of audio and video files, reduces bandwidth usage without compromising video quality, and reduces the load on the server (as the client CPU is used to render the video).
Enhanced server rendered audio - The former “High”, “Medium”, and “Low” quality audio settings have been replaced with “High Definition”, “Optimized-for-Speech”, and “Low Bandwidth”. These use modern compression techniques to provide significant quality improvements when playing server-side audio on XenApp 6 and XenDesktop 4. This allows any audio format to be played on the server in any media player, and streamed to the client in high definition, provided the server has the necessary media player and codecs.
Enhanced server rendered video - XenDesktop 4 supports high frame-rate video and progressive display, which provides smooth server rendered video playback at up to 30 frames per second. This also enables playback of formats such as Flash, Silverlight, QuickTime, and Real Video where Windows Media Redirection does not support those. Server rendered video requires more server CPU than Windows Media Redirection. High bit rate videos (including HD formats) require less client CPU when the video is rendered from server-side. Videos with lower bitrates, however, are likely to require less client CPU if using Windows Media Redirection.
Windows Media Redirection allows high quality audio and video playback within an ICA session using the GStreamer framework, provided that all the relevant codecs are installed on the client and server. You can install GStreamer using the package manager of most popular Linux distributions. You can also install it from the command line using apt on Debian systems or yum on Red Hat systems. See GStreamer website for more information.
This feature is enabled by default when using the Debian and RPM packages. When using the tar.gz package, to enable this feature during installation, you must press Y when asked if you want to integrate the client with the GStreamer plug-in.
To enable or disable Windows Media Redirection after installation, modify module.ini and set MultiMedia to On or Off in the [ICA 3.0] section.
To enable or disable only audio or video streaming, edit wfclient.ini (in ~/.ICAClient/) and set the SpeedScreenMMAVideoEnabled or SpeedScreenMMAAudioEnabled parameters to On or Off respectively.
By default, Windows Media Redirection is enabled at the server farm level for both XenApp and XenDesktop.
Citrix recommends using one of the following media players:
Windows Media Player 11
Media Player Classic
Earlier versions of these products might function correctly if Windows Media Redirection is enabled. However, they are not recommended.
The Windows Media Redirection dose not support the following players:
QuickTime
iTunes
Winamp
VLC Media Player
Windows Media Player 7.1
Note: Server rendered multimedia delivery, supports the preceding players.
The Windows Media Redirection supports the following connections:
WAN (DSL)
LAN
When using Windows Media Redirection on a WAN connection, it might be necessary to adjust the bandwidth threshold for SmartRendering as described in CTX124777 - How to Configure the SmartRendering Bandwidth Threshold for HDX MediaStream Windows Media Redirection.
The Windows Media Redirection does not support the following connections:
Modem, 56KB
Satellite
Containers are wrappers which contain audio data, video data, or both. This data can be encoded using any number of codecs. The following container formats are supported, though some files with these extensions might not play because of a lack of codecs.
The following video containers are supported:
AVI - Audio Video Interleave
MPEG - Motion Pictures Expert Group
MP4 - MPEG 4 Video
ASF - Microsoft Advanced Streaming Format
TS - Transport Stream
MKV - Matroska Video
DIVX - DIVX Video
OGG - OGG Video
FLV - Flash Video
The following audio containers are supported:
WAV - PCM Audio
MP3 - MPEG 1 Audio Layer 3
AAC - Advanced Audio Coding
WMA - Windows Media Audio
AC3 - AC3 Audio
APE - Monkey’s Audio
AIFF - Apple Audio Interchange
M4A - MPEG 4 Audio
MKA - Matroska Audio
OGG - OGG Audio
GStreamer supports an extensive range of audio and video codecs. Provided that the XenApp or XenDesktop server supports the container format, it must function correctly with Windows Media Redirection. However, if you have a problem with a particular file, provide Citrix Technical Support with a sample for further investigation.
The following tables list all video and audio codecs which Citrix has tested and if they are supported by Windows Media Redirection:
Media Type (Encoding Format) |
Media Player 11 |
Media Player Classic |
DIVX Video (3/4/5/6/7) |
YES |
YES |
XVID Video |
YES |
YES |
Microsoft Video 1 |
YES |
YES |
MPEG-1 Video |
YES |
YES |
MPEG-2 Video |
YES |
YES |
MPEG-4 Video (H.264) (Note 1) |
YES |
YES |
MS MPEG-4 V1 |
YES |
YES |
MS MPEG-4 V2 |
YES |
YES |
MS MPEG-4 V3 |
YES |
YES |
WMV 7 |
YES |
YES |
WMV 8 |
YES |
YES |
WMV 9 |
YES |
YES |
Indeo Video 3.2 |
YES |
YES |
Indeo Video 4.5 |
YES |
YES |
Indeo Video 5.1 |
YES |
YES |
Flash Video (Note 2) |
YES |
YES |
Silverlight |
NO (server-rendered) |
NO (server-rendered) |
3GP/3GP2 |
NO (server-rendered) |
NO (server-rendered) |
DVD/VOB |
NO (server-rendered) |
NO (server-rendered) |
DV |
NO (server-rendered) |
NO (server-rendered) |
Techsmith |
NO (server-rendered) |
NO (server-rendered) |
Quicktime |
NO (server-rendered) |
NO (server-rendered) |
Real Video |
NO (server-rendered) |
NO (server-rendered) |
Dirac |
NO (server-rendered) |
NO (server-rendered) |
Notes:
Citrix does not currently recommend using H.264 video because it does not stream in its native format. The server currently transcodes H.264 videos on-the-fly into Raw YUV format and streams them to the client using GStreamer. This results in reduced quality, higher bandwidth, and a higher load on the server.
Flash video works only in a standalone player. Content embedded in web pages are not currently supported by Windows Media Redirection. Flash embedded in web pages, however, can be rendered server side.
Media Type (Encoding Format) |
Media Player 11 |
Media Player Classic |
PCM WAV |
YES |
YES |
MP1 |
YES |
YES |
MP2 |
YES |
YES |
MP3 |
YES |
YES |
M4A (AAC LC) |
NO |
YES |
MKA |
NO |
YES |
OGG |
NO |
YES |
AAC |
YES |
YES |
FAAC |
YES |
YES |
WMA 7/8/9 |
YES |
YES |
AC3 |
NO |
YES |
APE (Lossless) |
YES |
YES |
AIFF |
YES |
YES |
MusePack |
NO |
YES |
WavPack |
NO |
YES |
IMA Adaptive PCM |
NO |
NO |
Real Audio |
NO |
NO |
FLAC (Lossless) |
NO |
NO |
MIDI |
NO |
NO |
If you are having trouble playing a particular format with Windows Media Redirection, verify the following:
Verify if the file plays on your Citrix server. If it does not, install the appropriate codec on the server to allow playback through one of the supported media players.
Verify if the file plays locally through GStreamer on your client device. A utility called gst-launch is included with GStreamer that can be used to test media files.
For example, run gst-launch-0.10 -v playbin uri=file:///tmp/example_file.aviIf and if the file does not play locally using this command, it is likely that you do not have the appropriate codec installed on the client device. If the file plays locally, then set SpeedScreenMMAVerbose=On in wfclient.ini. If you then launch the client from the command line (./wfcmgr), additional debug information is displayed in the standard output (in the terminal) that might help to identify the problem.
The following known issues related to HDX MediaStream have been observed when using Version 11.100 of the Citrix Receiver for Linux:
Videos embedded in web pages intermittently cause the Receiver for Linux to exception.
Files encoded with the DIVX 5.1.1 codec freezes after about 15 seconds of playback.
When playing MPEG 1 or MPEG 2 files, you might see a black screen after seeking.
Some DIVX/XVID files have audio/video synchronization problems after seeking.
All DIVX/XVID/MPEG4/WMV files display gray blotches after seeking.
AC3 files do not play in Windows Media Player but do play in Media Player Classic.
16:9 videos get stretched to 4:3 and 4:3 to 16:9 in full-screen mode.
Multimedia published content does not start correctly, but can be fixed by seeking.
The last second of audio, video, or both is often cut off.
HDX MediaStream does not currently work when connecting to Citrix XenApp 5.0 servers.
Occasionally, media files do not play on the first attempt, because the codec is not fully supported on the client. If this occurs, click the Play button again and the media file might play correctly.
Citrix recommends that you always use the latest version of GStreamer on the client device. Windows Media Redirection requires at least version 0.10.15. You must also install the GStreamer codec plug-ins to play various types of media.
Citrix recommends you use the latest version of DirectX and Media Player on the server.
You must install GStreamer before you install the Receiver.
The Citrix Receiver for Linux requires 32-bit GStreamer codecs for Windows Media Redirection to work correctly. To use Windows Media Redirection on 64-bit operating systems, you must install the appropriate 32-bit GStreamer codecs for your operating system before installing the Citrix Receiver for Linux.
Server rendered audio requires the installation of the Speex and Vorbis libraries on your system. Most current systems have these installed by default. You can verify this by running the following commands:
ldd <ICAROOT>/SPEEX.DLL
ldd <ICAROOT>/VORBIS.DLL
<ICAROOT> is the path to the ICAClient installation directory. For example, /usr/lib/ICAClient. Verify the output to see if all dependencies are met.
The required versions are as follows:
Speex
libspeex.so.1
Vorbis
libvorbis.so.0
libvorbisenc.so.2
libogg.so.0
You can install these libraries, if they are not already present, through the package manager on most popular Linux distributions.
Server rendered video is managed on the server, and requires no additional client configuration. See the relevant server Administrator’s Guide for details on how to configure the frame rate, bandwidth limits, and compression technologies.
If you only want to use server rendered video, you can disable Windows Media Redirection on the client (see the Windows Media Redirection section for details).
Note: Playing high definition videos uses a significant amount of server CPU. High definition videos also use a significant amount of bandwidth (1 to12 megabits per second, depending on the resolution and bit rate of the video). If the video is choppy, or the audio goes out of sync, this might be because the server does not have sufficient resources to render the video correctly, or there is not enough bandwidth available. It might also be because the client device does not have enough CPU to display the video.