多媒体
HDX技术栈通过两种互补的方式支持多媒体应用程序的交付:
- 服务器端呈现多媒体交付
- 客户端呈现多媒体重定向
这种策略确保您可以提供具有良好用户体验的全范围多媒体格式,同时最大限度地提高服务器可伸缩性,以降低每个用户的成本。
使用服务器呈现的多媒体交付,音频和视频内容由应用程序在Citrix Virtual Apps和desktop服务器上解码和呈现。然后,内容被压缩,并使用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。(服务器获取和服务器渲染):
- 服务器从源文件中获取媒体文件,进行解码,然后将内容呈现给音频设备或显示设备。
- 所述服务器分别从所述显示设备或音频设备提取所述图像或声音。
- 服务器可以选择压缩它,然后将它传输到客户机。
这种方法会产生很高的CPU成本和带宽成本(如果提取的图像/声音没有被有效压缩),并且服务器可伸缩性很低。
Thinwire和Audio虚拟通道处理这种方法。这种方法的优点是它减少了客户机的硬件和软件需求。使用这种方法,解码在服务器上进行,它适用于更广泛的设备和格式。
场景2。(服务器获取和客户端渲染):
这种方法依赖于能够在媒体内容被解码并呈现给音频或显示设备之前拦截它。压缩的音频/视频内容被发送到客户端,然后在本地解码并呈现。这种方法的优点是将数据卸载到客户端设备,节省服务器上的CPU周期。
然而,它也为客户端引入了一些额外的硬件和软件需求。客户端必须能够解码它可能接收到的每种格式。
场景3。(客户端获取和客户端渲染):
这种方法依赖于能够在从源文件中获取媒体内容URL之前拦截它。URL被发送到客户端,在客户端获取、解码并在本地呈现媒体内容。这种方法在概念上很简单。它的优点是,它节省了服务器上的CPU周期和带宽,因为服务器只发送控制命令。然而,客户端并不总是可以访问媒体内容。
框架和平台:
单会话操作系统(Windows、Mac OS X和Linux)提供了多媒体框架,可以更快地开发多媒体应用程序。该表列出了一些比较流行的多媒体框架。每个框架将媒体处理划分为几个阶段,并使用基于流水线的体系结构。
框架 | 平台 |
---|---|
DirectShow的 | Windows(98及以上版本) |
媒体基金会 | Windows (Vista及后续版本) |
Gstreamer | Linux |
Quicktime | Mac OS X |
使用媒体重定向技术的双跳支持
音频重定向 | 没有 |
浏览器内容重定向 | 没有 |
HDX摄像头重定向 | 是的 |
HTML5视频重定向 | 是的 |
Windows媒体重定向 | 是的 |