Summary
Guidelines to optimize delivery of multimedia in HDX sessions.

  • Creating and publishing multimedia content
  • Setting a fallback for external/3rd party published content

If you control the multimedia source (internal trainings, briefings, etc.) then create and publish you content wisely:


Best – Deliver MP4 videos using MMR
I could simply recommend using MMR, but I’ll go the extra mile and tell you what my tests have found to be the most efficient format to publish: MP4.
Geek fact: MP4 uses the h.264 codec for video

Considerations:

  • Publish a link to play the video with Windows Media Player or enforce its use via Default Programs, etc.
  • Make sure the Endpoint PCs, iPads and Linux play the video natively (you might need to add codec packs to some devices)
  • Enable the feature in iPads
  • Encode in a reasonable resolution (video size) and frame rate. 640×480-30fps or 720p-24fps are big enough while maintain a manageable bitrate (about 1.5Mbps/4Mbps respectively)

Pros:

  • Video quality is superb (see next bullet)
  • Playback is offloaded to the endpoint
  • User can maximize to full screen without increasing resource consumption
  • Little dependencies on the endpoint, No plug-ins needed, little CPU usage
  • Client side content fetching available (disabled by default)
  • Transcoding available in XenDesktop 7 to adjust a video for WAN scenarios
  • MMR available also in XenApp 6.x, XenDesktop 5.x and earlier versions

Cons:

  • Not recommended for use cases where the user will constantly scroll forward and backward
  • Not good for extremely short videos (a couple of seconds for example)
  • MMR feature not supported yet in Mac clients

Good – Deliver Flash content and leverage HDX Flash
If your medium of choice is Web content, Citrix HDX can optimize Flash content.
Considerations:
  • Make sure Internet Explorer is the browser used in the virtual desktop
  • Flash plugin versions should be consistent both on the virtual infrastructure and the Windows and Linux endpoints
  • Don’t rush to upgrade to a newer version of Flash before verifying Citrix reports having tested it

Pros:

  • Video quality is superb (see next bullet)
  • 100% offload to the endpoint. Near zero CPU in the virtual infrastructure
  • Works for interactive content, not just videos. Example: http://www.sumopaint.com/app/
  • User can maximize to full screen without increasing resource consumption
  • Client side content fetching saves on infrastructure bandwidth (Server side fetching is available for tighter content control)
  • Blacklist and whitelist available for selective use

Cons:

  • Only works if Internet Explorer is used
  • Only works in Windows and Linux endpoints
  • Very depended on the flash plugin versions used
  • The content might cause this optimization to fail

Fallback – Server Rendered HDX deep compression
Not always you are able to control the content, but here is what you can do:
Considerations:
  • This is only applicable to XenDesktop 7 or future compatible versions
  • Citrix receiver version should be current (min: PC: 3.4, Mac: 11.8.0, iOS: 5.8, Linux 13.0)
  • On WAN access, disable Desktop Composition redirection (this feature applies only to Windows endpoints connecting to Desktop OS, all others don’t have it)
  • DON’T revert to legacy graphics, stomach it, this is going to use more resources (mainly CPU) on your virtual infrastructure, but if the users need access to the content, they deserve a decent user experience
  • Lower the Frames per Second (fps). Without getting too much into this, try it yourself, what is the minimum you need to be able to watch (and enjoy the experience) that training video? What fps is needed for other workflows? This will usually be around 16fps. The default in XenDesktop is 30 but can be changed via policy in the Delivery Controller

Pros:

  • Works for everything
  • No dependencies (other than the versions listed above)
  • Bandwidth usage for video is more than redirected playback but much less than legacy server rendered

Cons:

  • Likely to use more CPU on the virtual infrastructure.
  • If the user Maximized the content playback, the resource consumption increases.

The numbers
The table below shows several metrics for the 3 cases listed above. In all cases a 640×480 30fps video was used.
The video can be found at: http://www.citrix.com/tv/#videos/9219 where it can be downloaded in MP4 format as well.

Delivery
method

unconstrained
bandwidth usage [Mbps]

Infrastructure
CPU consumption

Frames
per second if bandwidth capped to 1Mbps

MMR of MP4

1.6

Low (high if transcoding
needed)

30 (transcoded video)

Flash delivery in IE

0 (client uses bandwidth to fetch
the video)

zero

18

Server Rendered

2.7

high

18

Note: using a higher resolution video (like 720p) increases the resources needed.


Definitions and Lexicon
Codec – software capable of encoding or decoding a video or audio. Short for “compressor-decompressor”
Delivery Controller – previously know as DDC
EP/Endpoint – Physical endpoint device used to access the HDX session
HDX – The Citrix suite of protocols used in to connect a user to a remote desktop or application
MMR – Multimedia redirection. Also known as RAVE
MP4 – Digital multimedia format most commonly used to store video and audio (http://en.wikipedia.org/wiki/MPEG-4_Part_14)
VM – Virtual Machine