多媒体
HDX技术堆栈支持通过两种互补的方法来交付多媒体应用程序:
- 服务器端呈现多媒体交付
- 客户端呈现多媒体重定向
此策略可确保您能够在将服务器可扩展性增加至最大以降低每个用户的成本时交付全部多媒体格式,并提供优异的用户体验。
使用服务器呈现的多媒体交付时,音频和视频内容将通过应用程序解码并在XenApp或XenDesktop服务器上呈现。该内容随后被压缩并通过ICA协议交付到用户设备上的Citrix接收器。此方法提供的与各种应用程序和媒体格式的兼容率最高。由于视频处理属于计算密集型操作,因此,服务器呈现的多媒体交付将大大受益于板载硬件加速。例如,对举视频加速(DXVA)的支持将通过在单独的硬件中执行h解码来卸载CPU的负载。英特尔快速同步和NVIDIA NVENC技术提供硬件加速的h .编码。
由于大多数服务器不对视频压缩提供硬件加速,因此,如果所有视频处理都在服务器CPU上完成,服务器可扩展性将受到负面影响。要保持高服务器可扩展性,可以将多种多媒体格式重定向到用户设备以进行本地呈现。Windows媒体重定向针对许多种通常与 Windows Media Player 关联的媒体格式来卸载服务器的负载。
Flash重定向将Adobe Flash视频内容重定向到用户设备上本地运行的Flash Player。HTML5视频变得非常盛行,Citrix为这种类型的内容引入了重定向技术。此外,您还可以对多媒体内容应用常规访问重定向技术”主机到客户端重定向”和“本地应用程序访问”。
如果未配置重定向,同时使用这些技术时,HDX将执行服务器端呈现。如果配置了重定向,HDX将使用服务器提取和客户端呈现,或者客户端提取和客户端呈现。如果这些方法失败,HDX将根据需要回退到服务器端呈现,并且遵从“回退防护”策略。
示例场景
场景 1。(服务器提取和服务器呈现):
- 服务器从其来源提取媒体文件,进行解码,然后将内容提供给音频设备或显示设备。
- 服务器分别从显示设备或音频设备提取提供的图像或声音。
- 服务器有选择地对其进行压缩,然后将其传输到客户端。
此方法的CPU成本和带宽成本都非常高(如果提取的图像/声音未有效压缩),并且服务器可用性非常低。
Thinwire和音频虚拟通道采用此方法。此方法的优势是降低了客户端的硬件和软件要求。使用此方法时,解码在服务器上进行,并且适用于许多种设备和格式。
方案 2.(服务器提取和客户端呈现):
此方法依赖在解码之前截获媒体内容并将其提供给音频设备或显示设备的能力。压缩后的音频/视频内容改为发送到客户端,之后将在客户端上对其进行本地解码和呈现。此方法的优势是解码和呈现卸载到客户端设备,缩短了服务器上的CPU周期。
但是,此方法还额外引入了一些针对客户端的硬件和软件要求。客户端必须能够解码可能会接收到的每种格式。
方案 3.(客户端提取和客户端呈现):
此方法依赖在从其来源提取之前截获媒体内容的URL的能力。URL将被发送到客户端,并且媒体内容将在客户端本地提取,解码和呈现。此方法从概念上讲非常简单。其优势是缩短了服务器上的CPU周期并且节省了带宽,因为仅从服务器发送控制命令。但是,媒体内容并非始终可由客户端访问。
框架和平台
桌面操作系统(Windows、Mac OS X和Linux)提供允许更加简单,快速地部署多媒体应用程序的多媒体框架。下表列出了部分较为常见的多媒体框架。每种框架都将媒体处理划分为多个阶段,并使用基于管道的体系结构。
框架 | 平台 |
---|---|
DirectShow的 | Windows(98年及更高版本) |
媒体基础 | Windows Vista(及更高版本) |
Gstreamer | Linux |
Quicktime | Mac OS X |
媒体重定向技术的双跃点支持
媒体重定向 | 支持 |
---|---|
HDX Flash重定向 | 否 |
Windows媒体重定向 | 是 |
HTML5视频重定向 | 是 |
客户端重定向 | 否 |