多媒体

HDX™ 技术堆栈通过两种互补的方法支持多媒体应用程序的交付:

  • 服务器端渲染多媒体交付
  • 客户端渲染多媒体重定向

此策略可确保您能够交付各种多媒体格式,提供出色的用户体验,同时最大限度地提高服务器可扩展性,以降低每用户成本。

通过服务器渲染的多媒体交付,音频和视频内容由应用程序在 Citrix Virtual Apps and Desktops 服务器上解码和渲染。然后,内容使用 ICA 协议压缩并交付到用户设备上的 Citrix Workspace 应用程序。此方法提供了与各种应用程序和媒体格式的最高兼容性。由于视频处理是计算密集型的,服务器渲染的多媒体交付极大地受益于板载硬件加速。例如,对 DirectX 视频加速 (DXVA) 的支持通过在单独的硬件中执行 H.264 解码来分担 CPU 负载。Intel Quick Sync、AMD RapidFire 和 NVIDIA NVENC 技术提供硬件加速的 H.264 编码。

由于大多数服务器不提供任何用于视频压缩的硬件加速,如果所有视频处理都在服务器 CPU 上完成,服务器可扩展性会受到负面影响。您可以通过将许多多媒体格式重定向到用户设备进行本地渲染来保持高服务器可扩展性。

  • Windows Media 重定向可为通常与 Windows Media Player 关联的各种媒体格式分担服务器负载。
  • HTML5 视频已变得流行,Citrix® 引入了一种针对此类内容的重定向技术。我们建议对使用 HTML5、HLS、DASH 或 WebRTC 的网站使用浏览器内容重定向。
  • 您可以将通用的联系人重定向技术主机到客户端重定向和本地应用程序访问应用于多媒体内容。

综合这些技术,如果您未配置重定向,HDX 将执行服务器端渲染。 如果您配置了重定向,HDX 将使用服务器获取和客户端渲染或客户端获取和客户端渲染。如果这些方法失败,HDX 将根据需要回退到服务器端渲染,并受回退预防策略的约束。

示例使用场景

示例场景

场景 1.(服务器获取和服务器渲染):

  1. 服务器从其源获取媒体文件,解码,然后将内容呈现给音频设备或显示设备。
  2. 服务器分别从显示设备或音频设备中提取呈现的图像或声音。
  3. 服务器可以选择性地对其进行压缩,然后将其传输到客户端。

这种方法会导致高 CPU 成本、高带宽成本(如果提取的图像/声音未有效压缩)以及服务器可伸缩性低。

Thinwire 和音频虚拟通道处理此方法。这种方法的优点是它降低了客户端的硬件和软件要求。使用此方法,解码在服务器上进行,并且适用于更广泛的设备和格式。

场景 2.(服务器获取和客户端渲染):

这种方法依赖于能够在媒体内容解码并呈现给音频或显示设备之前对其进行拦截。压缩的音频/视频内容会发送到客户端,并在客户端进行本地解码和呈现。这种方法的优点是,处理工作被卸载到客户端设备,从而节省了服务器上的 CPU 周期。

但是,它也为客户端引入了一些额外的硬件和软件要求。客户端必须能够解码其可能接收的每种格式。

场景 3.(客户端获取和客户端渲染):

这种方法依赖于能够在媒体内容 URL 从源获取之前对其进行拦截。URL 会发送到客户端,媒体内容在客户端进行获取、解码和本地呈现。这种方法概念上很简单。它的优点是既节省了服务器上的 CPU 周期,又节省了带宽,因为服务器只发送控制命令。但是,媒体内容并非总是客户端可访问的。

框架和平台:

单会话操作系统(Windows、Mac OS X 和 Linux)提供多媒体框架,可加快多媒体应用程序的开发。此表列出了一些更流行的多媒体框架。每个框架将媒体处理分为多个阶段,并使用基于管道的体系结构。

Framework Platform
DirectShow Windows (98 and later)
Media Foundation Windows (Vista and later)
Gstreamer Linux
Quicktime Mac OS X

借助媒体重定向技术实现双跳支持

  音频重定向
  浏览器内容重定向
  HDX 网络摄像头重定向
  HTML5 视频重定向
  Windows Media 重定向
多媒体