HTML5 multimedia redirection

HTML5 multimedia redirection extends the multimedia redirection features of HDX MediaStream to include HTML5 audio and video. Because of growth in online distribution of multimedia content, especially to mobile devices, the browser industry has developed more efficient ways to present audio and video.

Flash has been the standard, but it requires a plug-in, doesn’t work on all devices, and has higher battery usage in mobile devices. Companies like YouTube, NetFlix.com, and newer browsers versions of Mozilla, Google, and Microsoft are moving to HTML5 making it the new standard.

HTML5-based multimedia has many advantages over proprietary plug-ins, including:

  • Company-independent standards (W3C)
  • Simplified digital rights management (DRM) workflow
  • Better performance without the security issues raised by plug-ins

HTTP progressive downloads

HTTP progressive download is an HTTP-based pseudo-streaming method that supports HTML5. In a progressive download, the browser plays back a single file (encoded at a single quality) while it is being downloaded from an HTTP web server. The video is stored on the drive as it’s received and is played from the drive. If you rewatch the video, the browser can load the video from cache.

For an example of a progressive download, see the HTML5 video redirection test page. To inspect the video elements in the webpage and find the sources (mp4 container format) in HTML5 video tags, use the developer tools in your browser:

Comparing HTML5 and Flash

Feature HTML5 Flash
Requires a proprietary player No Yes
Runs on mobile devices Yes Some
Running speed on different platforms High Slow
Supported by iOS Yes No
Resource usage Less More
Load faster Yes No

Requirements

We support only redirection for progressive downloads in mp4 format. We don’t support WebM and Adaptive bitrate streaming technologies like DASH/HLS.

We support the following, and use policies to control them. For more information, see Multimedia policy settings.

  • Server side render
  • Server fetch client render
  • Client side fetching and rendering

Minimum versions of Citrix Workspace app and Citrix Receiver:

  • Citrix Workspace app 1808 for Windows
  • Citrix Receiver for Windows 4.5
  • Citrix Workspace app 1808 for Linux
  • Citrix Receiver for Linux 13.5
Minimum VDA browser version Windows OS version/build/SP
Internet Explorer 11.0 Windows 10 x86 (1607 RS1) and x64 (1607 RS1); Windows 7 x86 and x64; Windows Server 2016 RTM 14393 (1607); Windows Server 2012 R2
Firefox 47 Manually add the certificates to the Firefox certificate store or configure Firefox to search for certificates from a Windows trusted certificate store. For more information, see https://wiki.mozilla.org/CA:AddRootToFirefox Windows 10 x86 (1607 RS1) and x64 (1607 RS1); Windows 7 x86 and x64; Windows Server 2016 RTM 14393 (1607);Windows Server 2012 R2
Chrome 51 Windows 10 x86 (1607 RS1) and x64 (1607 RS1); Windows 7 x86 and x64; Windows 7 x86 and x64; Windows Server 2016 RTM 14393 (1607); Windows Server 2012 R2

Components of the HTML5 video redirection solution

  • HdxVideo.js - JavaScript hook intercepting video commands on the website. HdxVideo.js communicates with WebSocketService using Secure WebSockets (SSL/TLS).
  • WebSocket SSL Certificates
    • For the CA (root): Citrix XenApp/XenDesktop HDX In-Product CA (C = US; S = Florida; L = Fort Lauderdale; O = Citrix Systems, Inc.; OU = XenApp/XenDesktop Engineering; CN = Citrix XenApp/XenDesktop HDX In-Product CA) Location: Certificates (Local Computer) > Trusted Root Certification Authorities > Certificates.
    • For the end-entity (leaf): Citrix XenApp/XenDesktop HDX Service (C = US; S = Florida; L = Fort Lauderdale; O = Citrix Systems, Inc.; OU = XenApp/XenDesktop Engineering; CN = Citrix XenApp/XenDesktop HDX Service) Location: Certificates (Local Computer) > Personal > Certificates.
  • WebSocketService.exe - Runs on the local system and performs SSL termination and user session mapping. TLS Secure WebSocket listening on 127.0.0.1 port 9001.
  • WebSocketAgent.exe - Runs on the user session and renders the video as instructed from WebSocketService commands.

How do I enable HTML5 video redirection?

In this release, this feature is available for controlled webpages only. It requires the addition of the HdxVideo.js JavaScript (included in the Citrix Virtual Apps and Desktops Installation media) to the webpages where the HTML5 multimedia content is available. For example, videos on an internal training site.

Websites like youtube.com, which are based on Adaptive Bitrate technologies (for example, HTTP Live Streaming (HLS) and Dynamic Adaptive Streaming over HTTP (DASH)), are not supported.

For more information, see Multimedia policy settings.

Troubleshooting Tips

Errors might occur when the webpage tries to execute HdxVideo.js. If the JavaScript fails to load, the HTML5 redirection mechanism fails. Ensure that there are no errors related to HdxVideo.js by inspecting the console in the developers tool windows of your browser. For example:

Redirection image