Windows Media Client-Side Content Fetching

Windows Media Client-Side Content Fetching

book

Article ID: CTX137469

calendar_today

Updated On:

Description

HDX includes three features designed to improve the delivery of Windows Media content:

  • Windows Media client-side content fetching

  • Windows Media redirection

  • Real-time Windows Media multimedia transcoding

Windows Media client-side content fetching

Windows Media client-side content fetching enables a client device to stream multimedia files directly from the source provider on the Internet or Intranet, rather than through the host server. Benefits include:
  • Improved network utilization and server scalability. The host does not perform any processing on the media; media files are streamed directly to the client for processing.

  • The client device requires only the ability to play a file from a URL; it does not need an advanced multimedia framework such as Microsoft DirectShow or Media Foundation.

  • Multicasting is allowed on networks that support it, enabling a single Windows Media source transmission to serve multiple users.

Windows Media client-side fetching requires the following:
  • The application uses Microsoft DirectShow or Media Foundation framework in a manner that Windows Media client-side content fetching can intercept.

  • The client device has access to the source provider on the Internet or Intranet.

  • Any prior attempt to play the requested URL in the current session using Windows Media client-side content fetching did not fail. (Failed URLs are added to a blacklist for the duration of the session; the list resets when the user logs out.)

  • The media content uses one of the following URL protocols:

    • HyperText Transfer Protocol – http://, https://

    • Microsoft Media Server – mms://, mmsu://, mmst://

    • Real Time Streaming Protocol – rtsp://, rtspu://, rtspt://

Due to operating system restrictions, Microsoft Media Server and Real Time Streaming Protocol are not supported for iOS clients.

Two Policy settings control this feature: Windows Media Client-Side Content Fetching and Windows Media Redirection. By default, both are set to Allowed. If Windows Media client-side content fetching fails, content is fetched by the host and redirected to the client using Windows Media redirection; if Windows Media redirection fails, content is rendered on the host. Windows Media client-side content fetching provides the best user experience in most cases. If you find it necessary to turn off this feature, add the Windows Media Client-Side Content Fetching setting to a policy and set its value to Prohibited. For detailed instructions on configuring policies for XenDesktop, see Citrix eDocs. If you turn off Windows Media redirection, Windows Media client-side content fetching is also turned off.

Windows Media redirection

Windows Media redirection controls and optimizes the way servers deliver streaming audio and video to users. By playing the media run-time files on the client device rather than the server, Windows Media redirection 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. Refer to the Citrix Receiver documentation in eDocs for any information specific to Windows Media redirection on your client platform.

Media delivery automatically falls back to using Windows Media redirection if the requirements for Windows Media client-side content fetching are not met. This is transparent to users, but you can use the XenDesktop Collector to perform a Citrix Diagnosis Facility (CDF) trace from HostMMTransport.dll to determine which method is being used.

Windows Media redirection intercepts the media pipeline at the host server, captures the media data in its native compressed format, and redirects the content to the client device. The client device then recreates the media pipeline to decompress and render the media data received from the host server. Windows Media redirection works well on client devices running a Windows operating system, since they have the multimedia framework required to rebuild the media pipeline as it existed on the host server; Linux clients use similar open-source media frameworks to rebuild the media pipeline.
 
The policy setting Windows Media Redirection controls this feature and is Allowed by default. In most cases, this setting increases the quality of audio and video rendered from the server to a level that is comparable to content played locally on a client device. In the rare cases when Media playing using Windows Media redirection appears worse than media rendered using basic ICA compression and regular audio, you can turn off this feature by adding the Windows Media Redirection setting to a policy and setting its value to Prohibited.

Real-time Windows Media multimedia transcoding

Real-time multimedia transcoding enables audio and video media streaming to mobile devices, and enhances the user experience by improving how Windows Media content is delivered over a WAN:
  • Transcoding converts the media content into a format that can be rendered locally on the client hardware, eliminating the need to fall back to server-side rendering.

  • Transcoding can compress media data to reduce file size, or convert the data to a format supported on the target device. For example, transcoding enables video formats that are not compatible with iOS, such as .wmv, to be converted and played on iOS clients.

  • Transrating lowers the bitrate of the media to match the available bandwidth to the client device, providing smooth playback with synchronized audio and video – even for users playing HD videos on WANs or low bandwidth Wi-Fi connections. Examples include decreasing the media’s resolution or frame rate to achieve a lower bit rate.

  • If configured, offloading the transcoding to the GPU improves server scalability.

  • Policies help administrators predict and manage multimedia content network consumption, maintaining multimedia Quality of Service (QoS).

Three policy settings control the real-time multimedia transcoding feature:
  • Windows Media redirection

  • Optimization for Windows Media multimedia redirection Over WAN

  • Use GPU for optimizing Windows Media multimedia redirection Over WAN

By default, Windows Media Redirection and Optimization for Windows Media multimedia redirection Over WAN are Allowed so real-time multimedia transcoding automatically deploys as needed. GPU transcoding is Prohibited by default; to configure GPU transcoding, add the Use GPU for optimizing Windows Media multimedia redirection Over WAN setting to a policy and set its value to Allowed. To configure GPU transcoding, Optimization for Windows Media multimedia redirection Over WAN and Windows Media Redirection must also be in the policy and set to Allowed; if either of these policy settings is Prohibited, GPU transcoding is also.

Transcoding occurs on the Virtual Delivery Agent (VDA). To improve server scalability, if the VDA has a supported Graphics Processing Unit (GPU) for hardware acceleration and the Use GPU for optimizing Windows Media multimedia redirection Over WAN is Allowed, transcoding is done in the GPU; otherwise, transcoding falls back to the CPU. The media stream is then transrated to achieve the target transmission bitrate and redirected to the client device, where it is recompressed and rendered. 

In most cases, real-time multimedia transcoding provides the best user experience. If you find it necessary to turn off real-time multimedia transcoding, add the Optimization for Windows Media multimedia redirection Over WAN setting to a policy and set its value to Prohibited. If you prohibit Windows Media redirection, real-time multimedia transcoding (including GPU transcoding) is also prohibited.

Manage network consumption by multimedia content

Use the policy setting Limit Video Quality to maintain multimedia QoS by limiting the maximum video quality for an HDX connection to the specified value. The default value of this policy setting is Not Configured. Streaming multiple videos simultaneously on the same server consumes large amounts of resources and may affect server scalability.

Environment

The above mentioned sample code is provided to you as is with no representations, warranties or conditions of any kind. You may use, modify and distribute it at your own risk. CITRIX DISCLAIMS ALL WARRANTIES WHATSOEVER, EXPRESS, IMPLIED, WRITTEN, ORAL OR STATUTORY, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT. Without limiting the generality of the foregoing, you acknowledge and agree that (a) the sample code may exhibit errors, design flaws or other problems, possibly resulting in loss of data or damage to property; (b) it may not be possible to make the sample code fully functional; and (c) Citrix may, without notice or liability to you, cease to make available the current version and/or any future versions of the sample code. In no event should the code be used to support ultra-hazardous activities, including but not limited to life support or blasting activities. NEITHER CITRIX NOR ITS AFFILIATES OR AGENTS WILL BE LIABLE, UNDER BREACH OF CONTRACT OR ANY OTHER THEORY OF LIABILITY, FOR ANY DAMAGES WHATSOEVER ARISING FROM USE OF THE SAMPLE CODE, INCLUDING WITHOUT LIMITATION DIRECT, SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR OTHER DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Although the copyright in the code belongs to Citrix, any distribution of the sample code should include only your own standard copyright attribution, and not that of Citrix. You agree to indemnify and defend Citrix against any and all claims arising from your use, modification or distribution of the sample code.

Issue/Introduction

This article contains information about Windows Media Client-Side Content Fetching.