17.5. 视频加速

17.5.1. 视频加速要求
17.5.2. 视频已加速
17.5.3. 音频已加速
17.5.4. 其他说明
17.5.5. 如何在 Windows Server 2008 R2 上启用视频重定向
17.5.6. 视频加速故障排除

本部分介绍 Sun Ray Software 提供的视频加速功能。可用的功能取决于使用的 Windows 桌面和桌面客户端。

视频加速改善在客户端设备上播放视频的用户体验。另外,通过使用压缩的视频流和客户端解码和呈现,视频加速还减少了提供多媒体内容时使用的服务器 CPU 周期和网络带宽。

17.5.1. 视频加速要求

当满足以下要求时,可以在 Windows 桌面会话上使用视频加速。

表 17.2. 视频加速要求

Windows 桌面

视频类型

所需的应用程序

所需的 Windows 连接器组件

其他要求

Windows 7、2008、XP 和 2003

Adobe Flash 内容

32 位 Internet Explorer 8 和 9

Adobe Flash Player

Adobe Flash 加速组件

Windows 7 和 2008

MPEG-2、H.264 和 VC-1 视频

Windows Media Player 12

(使用 RDP 7 视频重定向虚拟通道扩展)

必须在 Windows Server 2008 R2 上启用远程桌面服务器角色中的音频和视频播放。请参见第 17.5.5 节 “如何在 Windows Server 2008 R2 上启用视频重定向”

当使用 Oracle Virtual Desktop Client 时,需要 3.2 或更高的发行版。

Windows XP 和 2003

MPEG-2、H.264 和 VC-1 视频

Windows Media Player 10、11 或 12

多媒体重定向组件

适用于 MPEG-2 和 H.264 视频的音频/视频多路分解器(例如 MatroskaSplitter)。这是必需的,因为 Windows XP 和 Windows Server 2003 R2 无法在本地对 MPEG-2 和 H.264 进行解码。


注意

对于 Windows 7 和 Windows Server 2008 R2,Sun Ray Software 提供了另外一种试探性视频检测和加速算法,其他视频播放器可以从中获益。可以使用 uttsc 命令的 -B on 选项启用此附加功能。启用此功能不会影响视频加速功能。

17.5.2. 视频已加速

系统根据使用的 Sun Ray Client 提供视频加速以达到最大分辨率大小,如下表所示。

注意

下表中列出的最大分辨率大小是指能够在局域网上提供可靠用户体验的最大视频大小。Sun Ray Client 上提供的最终帧速率是由视频内容、编码比特率、网络条件、上游软件性能和管道效率综合决定的。

表 17.3. Sun Ray 2 Client 上的视频加速

Windows 桌面

视频类型

配置文件

最大分辨率

Windows 7、2008、XP 和 2003

Adobe Flash 内容

不适用

1024x768

Windows 7、2008、XP 和 2003

MPEG-2

主配置文件主级别

720x480

H.264

  • 基线配置文件 2.0 级别

  • 扩展配置文件减数据分区

  • 主配置文件减 CABAC 熵编码

352x288

VC-1

简单配置文件低、中级别

352x288

主配置文件低、中、高级别

320x240

高级配置文件 0、1、2、3 级别

352x288


表 17.4. Sun Ray 3 和 3i Client 上的视频加速

Windows 桌面

视频类型

配置文件

最大分辨率

Windows 7、2008、XP 和 2003

Adobe Flash 内容

不适用

1024x768

Windows 7、2008、XP 和 2003

MPEG-2

主配置文件主级别

720x480

H.264

  • 基线配置文件 2.0 级别

  • 扩展配置文件减数据分区

  • 主配置文件减 CABAC 熵编码

720x480

VC-1

  • 简单配置文件低、中级别

  • 主配置文件低、中、高级别

  • 高级配置文件 0、1 和 2 级别

720x480


表 17.5. Sun Ray 3 Plus Client 上的视频加速

Windows 桌面

视频 Codec

配置文件

最大分辨率

Windows 7、2008、XP 和 2003

Adobe Flash 内容

不适用

1280x720

Windows 7、2008、XP 和 2003

MPEG-2

主配置文件主级别

1280x720

H.264

  • 基线配置文件 2.0 级别

  • 扩展配置文件减数据分区

  • 主配置文件减 CABAC 熵编码

1280x720

VC-1

  • 简单配置文件低、中级别

  • 主配置文件低、中、高级别

  • 高级配置文件 0、1 和 2 级别

1280x720


17.5.3. 音频已加速

在使用视频加速时会对以下音频格式进行解码以提高音频性能:

  • AAC

  • MPEG

  • WMA

17.5.4. 其他说明

使用视频加速时还有一些其他注意事项和限制。

Windows XP 和 Windows Server 2003 R2 桌面上的视频

  • 由于从运行播放器的主机远程对视频进行解码,Windows Media Player 中的某些视频播放功能可能不起作用。这包括逐帧播放、变速播放、重复播放模式、"Playlist"(播放列表)选项、皮肤模式、多次向前或向后移动滑块和在播放视频期间退出 Windows Media Player。

  • 在从运行 Oracle Linux 的 Sun Ray 服务器连接的 Windows 会话中播放视频时,Windows Media Player 中的 "Mute"(静音)按钮和音量滑块不起作用。

  • Windows 会话目录环境不支持多媒体重定向。

  • 第三方视频解码器可与多媒体重定向组件安装到同一 Windows 系统上,但在流化处理视频时,多媒体重定向组件不会使用这些解码器。

  • 创建 15 fps 的视频内容可能会获得更好的整体效果。

  • 在 Windows Media Player 中暂停视频会将其他应用程序静音。当恢复视频时,Windows Media Player 和其他应用程序的音量大小将重置为 Window Media Player 的当前音量设置。在视频播放期间使用 Sun Ray Client 上音量按钮对音量大小所做的调整会被忽略。

  • 如果对 Windows XP 或 Windows Server 2003 R2 会话进行漫游办公时您正在播放视频,那么音频和视频可能会变得不同步或者可能会发生运行时错误。解决方法是重新启动 Windows Media Player 并重新播放视频。这是 MS-RDP 客户端当前存在的问题。有关 Windows Media Player 错误消息的示例,请参见第 17.5.6.7 节 “会话重新连接期间的 Windows Media Player 错误”

  • 使用 Windows Media Player 更改音量大小也会更改其他应用程序的音量大小。Windows 连接器不提供针对应用程序的音量设置。

Windows 7 和 Windows Server 2008 R2 桌面上的视频

  • Windows Media Player 中的 "Mute"(静音)按钮和音量滑块在播放视频时不起作用。

  • 如果对当前正在播放视频的 Windows 7 和 Windows Server 2008 R2 会话进行漫游办公,则会发生错误。这在重置 Sun Ray Client 之后也可能会发生。有关详细信息,请参见第 17.5.6.7 节 “会话重新连接期间的 Windows Media Player 错误”

  • 在某些情况下,Windows 7 和 Windows Server 2008 R2 会以错误的顺序传输 H.264 视频数据包,这会导致视频闪烁。如果发生此情况,请在当前位置附近单击 Windows Media Player 滑块以解决此问题。

  • 对于高分辨率视频流,视频开始播放所花费的时间可能比预计时间要长。如果更改 Windows Media Player 滑块的位置,则恢复视频剪辑的播放时可能会出现延迟。下面的解决方法可以解决这些问题。在 Windows Media Player 中,从 "Tools"(工具)菜单中选择 Options(选项),在 "Performance"(性能)选项卡中单击 Buffer(缓冲区),然后在 seconds of content(内容的秒数)字段中输入 1

所有 Windows 桌面上的视频

  • Xinerama 会话(在多个监视器上使用一个屏幕)不支持视频加速。有关 Xinerama 的更多信息,请参见第 17.14 节 “多监视器支持”

  • 仅多显示端配置的主显示端支持视频加速。

  • 使用 Windows Media Player 播放视频时,无法使用 Windows 任务栏中的音量控制器。

  • 不支持在执行复制操作的过程中播放视频。

  • 不支持从连接到 Sun Ray Client 的 USB 闪存盘播放视频。

  • 不支持使用 Windows Media Player 同时播放多个视频。

所有 Windows 桌面上的 Adobe Flash 内容

  • 不支持在 Internet Explorer 9 中使用 Adobe Flash Player 11 播放无窗口的 Adobe Flash 内容。

  • Adobe Flash 内容的播放性能可能无法与独立的桌面环境相比,因为存在各种网络延迟和有损视频压缩问题。

  • 在 Windows 7 和 Windows Server 2008 R2 上播放 Adobe Flash 期间,音频和视频可能会变得不同步。

  • Xinerama 会话(在多个监视器上使用一个屏幕)不支持 Adobe Flash 加速。有关使用 Xinerama 的更多信息,请参见第 17.14 节 “多监视器支持”

  • 仅多显示端配置的主显示端支持 Adobe Flash 加速。

  • 当使用 64 位版本的 Windows 7 和 Windows Server 2008 R2 时,任务栏弹出式菜单将显示在所有 Adobe Flash 播放区域之后,播放区域会覆盖菜单区域。如果发生这种情况,您需要移动播放区域才能访问弹出式菜单。

  • 在 Windows Server 2003 R2 上使用 Adobe Flash Player 11 时,可能发生 Adobe Flash 播放问题。尝试改用 Adobe Flash Player 10.x。

  • 提供类似媒体加速的第三方软件可能会与 Flash 加速组件冲突,导致其不可用。在这种情况下,要使 Flash 加速可以正常工作,您需要在 Windows 系统上卸载第三方软件并删除/重新安装 Windows 连接器组件。

  • 不支持使用 Internet Explorer 同时播放多个视频。

  • Adobe Flash 设置对话框的部分或所有控制元素可能不会响应鼠标或键盘事件,包括关闭对话框的按钮。要解决此问题,请在浏览器中重新加载整个网页。

17.5.5. 如何在 Windows Server 2008 R2 上启用视频重定向

为了使 Sun Ray Software 视频加速在 Windows Server 2008 R2 系统中生效,Windows Server 2008 R2 系统必须安装远程桌面服务器角色并启用音频和视频播放。有关如何安装远程桌面服务器角色的详细说明,请参阅 Installing and Configuring Remote Desktop Session Host(“安装和配置远程桌面会话主机”)。安装期间,在 "Configure Client Experience"(配置客户端体验)页面中选择 Audio and video playback(音频和视频播放)选项,如图 17.3 “在 Windows Server 2008 R2 上启用视频重定向”中所示。

图 17.3. 在 Windows Server 2008 R2 上启用视频重定向

展示用于在 Windows Server 2008 R2 上启用视频重定向的 "Configure Client Experience"(配置客户端体验)页面的屏幕抓图。

17.5.6. 视频加速故障排除

本部分提供有关视频加速功能的故障排除信息。

17.5.6.1. 如何启用视频加速日志记录功能

如果使用视频加速并且启用了日志记录功能,将在以下文件中记录视频加速状态消息和性能统计信息:

  • /var/dt/Xerrors (Oracle Solaris 10)

  • /var/log/gdm/$DISPLAY.log(Oracle Linux 和 Oracle Solaris 11)

默认情况下会禁用视频加速日志记录功能。

步骤
  1. 在 Sun Ray 服务器上成为超级用户。

  2. 启用视频加速日志记录功能:

    # kill -USR2 Xnewt-pid
    注意

    要禁用消息,请使用相同的命令。

    Xnewt-pid 值是单个 Sun Ray 会话的 Xnewt 进程 ID。

    您可以使用以下命令查找 Xnewt 进程 ID:

    对于 Oracle Solaris:

    # ps -aef | grep Xnewt | grep userid

    对于 Oracle Linux:

    # /opt/SUNWut/sbin/utsession -p | grep userid
    # ps -aef | grep Xnewt | grep ":display"

    其中 display 是通过 utsession 命令列出的会话显示屏幕编号。

17.5.6.2. 视频加速状态消息

视频加速状态消息可标识用于在客户端上显示视频内容的呈现机制。视频加速状态消息具有以下格式:

Display display-id Video port Id video-port-id stream Id stream-id status-message

下面是一个状态消息示例:

Display :3.0 Video port Id 91 stream Id 3 Compressed: H.264

您可以使用 Video port Idstream Id 值查找视频流的相应性能统计信息,第 17.5.6.3 节 “视频加速性能统计信息”中有相关说明。

在多显示端配置中,Display 指示正在哪个显示端上播放视频。例如,Display :3.1Display :3.2。另外,每个显示端的视频端口 ID 都位于不同的范围内。

表 17.6 “视频加速状态消息”提供了视频加速状态消息列表。

表 17.6. 视频加速状态消息

消息

说明

Compressed: MPEG-1 Audio

Compressed: MPEG-1/2 Video

Compressed: VC-1

Compressed: WMA

Compressed: H.264

Compressed: AAC

启动压缩的视频流(多媒体重定向)。

Compressed: JPEG-D

启动压缩的视频流(Adobe Flash 加速)。在 Windows 7 和 2008 上呈现效果得到改善时也会提供此消息。

Compressed: codec hotdesked firmware does not support compressed video

压缩的视频流尝试连接到因硬件问题或固件过期而不支持解码的客户端。

Compressed: codec error.Replaying headers.

Sun Ray Client 出现了错误,加速功能正在重新发送视频标头缓冲区。

YUV:YV12

YUV:I420

启动 XVideo 流。注:XVideo 协议不需要启动/停止,因此应用程序可以发送多个流,不会出现新的调试消息。

YUV: YV12 low bandwidth on

YUV: YV12 low bandwidth ended

XVideo 流正在使用低带宽逻辑,或者带宽已增大,因此它将继续使用正常逻辑。

YUV: YV12 hotdesked or swapped codec hotdesked or swapped

运行视频流的会话已发生漫游办公。


如果发生了 Adobe Flash 加速(由视频加速图标表示),但是日志文件中没有状态消息,则表明 Adobe Flash 内容在 Sun Ray 服务器上解压缩并通过 X11 API 显示。

17.5.6.3. 视频加速性能统计信息

除了记录视频加速的常规状态消息,系统还会按大约一秒的间隔记录每个视频流的性能统计信息。性能统计信息可能会导致日志文件的大小快速增加,视频每运行一秒大约增加 100 字节(较大的视频增加的更多)。

下面是性能统计信息的示例输出:

XvEnc +delta scrn prt strm codec WxH @ X:Y avg fps frames dropped lost overflow ms tpf dtu idle
XvEnc +1.054 :3.0 91 3 JPEG-D(h) 640x390 @ 24:302 26 fps 0 drop 0 lost 0 oflow 18 
tpf 145 idle 
XvEnc +1.099 :3.0 91 3 JPEG-D(h) 640x390 @ 24:302 28 fps 0 drop 0 lost 0 oflow 3 
tpf 238 idle 
XvEnc +1.007 :3.0 91 3 JPEG-D(h) 640x390 @ 24:302 31 fps 0 drop 0 lost 0 oflow 3 
tpf 202 idle 
XvEnc +1.005 :3.0 91 3 JPEG-D(h) 640x390 @ 24:302 28 fps 2 (d) drop 0 lost 0 oflow 21 
tpf 209 idle 
XvEnc +1.038 :3.0 91 3 JPEG-D(h) 640x390 @ 24:302 27 fps 5 (d) drop 0 lost 0 oflow 38 
tpf 151 idle 
XvEnc +1.068 :3.0 91 3 MPEG-1/2 Video(se) 352x240 @ 46:96 25 fps 0 drop 0 lost 0 oflow -1 
tpf 174 idle 
XvEnc +1.009 :3.0 91 3 MPEG-1/2 Video(se) 352x240 @ 54:232 30 fps 0 drop 0 lost 0 oflow -1 
tpf 156 idle 
XvEnc +1.001 :3.0 91 3 MPEG-1/2 Video(se) 352x240 @ 54:232 30 fps 0 drop 0 lost 0 oflow -1 
tpf 110 idle 
XvEnc +1.117 :3.0 91 3 H.264(se) 320x240 @ 70:232 14 (22 d) fps 8 (r) drop 0 lost 0 oflow -1 
tpf 10 idle 
XvEnc +1.003 :3.0 91 3 H.264(se) 320x240 @ 70:232 15 (31 d) fps 16 (r) drop 0 lost 0 oflow -1 
tpf 0 idle 
XvEnc +1.103 :3.0 91 3 H.264(se) 320x240 @ 70:232 16 (30 d) fps 14 (r) drop 0 lost 0 oflow -1 
tpf 0 idle 
XvEnc +1.102 :3.0 91 3 H.264(se) 320x240 @ 70:232 17 (36 d) fps 19 (r) drop 0 lost 0 oflow -1 
tpf 0 idle 
XvEnc +1.010 :3.0 91 3 VC-1(se) 321x240 @ 70:232 15 fps 0 drop 0 lost 0 oflow -1 tpf 115 idle 
XvEnc +1.000 :3.0 91 3 VC-1(se) 321x240 @ 70:232 15 fps 0 drop 0 lost 0 oflow -1 tpf 143 idle 
XvEnc +1.000 :3.0 91 3 VC-1(se) 321x240 @ 70:232 15 fps 0 drop 0 lost 0 oflow -1 tpf 125 idle 

输出中的列标题如下:

  • XvEnc-加速视频路径的名称。

  • +delta-距前一视频性能条目的增量时间(以秒为单位)。缓冲视频时,第一个条目中的此值可能较高 (+3)。

  • scrn-播放视频的屏幕。

  • prt-视频使用的视频端口 ID。可使用此值查找相应的状态消息。

  • strm-视频的流 ID。可使用此值查找相应的状态消息。

  • codec-视频的 codec 以及它使用软件解码还是硬件解码。值包括 (s)(无扩展固件的软件解码)、(h)(带扩展固件的硬件解码)和 (se)(带扩展固件的软件解码)。

  • WxH-视频输出大小的宽度和高度。

  • X:Y-视频窗口左上角在屏幕上的 X 和 Y 坐标。

  • avg fps-视频流上一个测量秒的每秒平均帧数。示例包括:

    • 21 fps = 呈现了 21 fps

    • 17 (26 d) fps = 解码了 26 fps,但是仅 17 呈现到屏幕

  • frames dropped-由 Oracle 支持人员使用。

  • frames lost-由 Oracle 支持人员使用。

  • overflow-由 Oracle 支持人员使用。

  • ms tpf-由 Oracle 支持人员使用。

  • dtu idle-Sun Ray Client CPU 的平均空闲时间量。此值的范围为 0-254。

17.5.6.4. 如何检验视频加速是否处于活动状态

视频加速处于活动状态时,会在 Windows 桌面的任务栏中显示视频加速任务栏图标。在启用了多媒体重定向的 Windows XP 和 Windows Server 2003 R2 上以及启用了 Adobe Flash 加速的所有 Windows 平台上,都会显示该图标。将鼠标悬停在图标上会显示加速类型、媒体类型和大小,如下面的屏幕抓图所示。

图 17.4. 验证视频加速是否处于活动状态(多媒体重定向)

显示视频加速任务栏图标的屏幕抓图,该图标表明视频加速(多媒体重定向)处于活动状态。

图 17.5. 验证视频加速是否处于活动状态(Adobe Flash 加速)

显示视频加速任务栏图标的屏幕抓图,该图标表明视频加速(Adobe Flash 加速)处于活动状态。

17.5.6.5. Adobe Flash 加速未运行(不显示图标)

检查以下问题:

  • 确保已在 Windows 系统上安装了 Adobe Flash 加速 Windows 组件。有关详细信息,请参见第 3.2.7 节 “如何在 Windows 系统上安装 Windows 连接器组件”

  • 确保 Internet Explorer 启用了 "Third party browser extensions"(第三方浏览器扩展)选项,该选项位于 Tools(工具)> Internet Options(Internet 选项)的 "Advanced"(高级)选项卡中。

17.5.6.6. 播放 VC-1 电影时音频/视频不同步

如果视频加速播放图标工具提示显示 Audio:NONE 而非 Audio:PCM,则表明 Windows Media Player 的音频设备配置不正确。

解决方法

删除以下 Windows 注册表项以恢复 Windows Media Player 的默认音频设备:

HKEY_CURRENT_USER/Software/Microsoft/MediaPlayer/Preferences/DefaultAudioDevice
小心

在修改注册表项之前,务必在 Windows 系统上备份注册表。

17.5.6.7. 会话重新连接期间的 Windows Media Player 错误

如果在播放支持的媒体格式剪辑时,Windows 连接器会话重新启动或发生漫游办公,则可能会显示 Windows Media Player 错误警报框,如图 17.6 “会话重新连接期间的 Windows Media Player 错误”所示。

图 17.6. 会话重新连接期间的 Windows Media Player 错误

显示 Windows Media Player 错误屏幕的屏幕抓图,该错误屏幕显示错误消息 "A run-time error occurred"(出现运行时错误)。

解决方法

重新启动 Windows Media Player 并重新播放视频。

17.5.6.8. 如何禁用多媒体重定向

默认情况下,当使用 uttsc 命令时,就会启用 Windows XP 和 Windows Server 2003 R2 的多媒体重定向。禁用多媒体重定向功能时,将对视频和音频使用标准 RDP 协议。

  • 要禁用多媒体重定向,请在发出 uttsc 命令时使用 -M off 选项。

    % uttsc -M off other_uttsc_options
    

17.5.6.9. 如何禁用 Adobe Flash 加速

默认情况下,使用 uttsc 命令时会启用 Adobe Flash 加速。禁用 Adobe Flash 加速功能时,将对 Adobe Flash 内容使用标准 RDP 协议。

  • 要禁用 Adobe Flash 加速,请在发出 uttsc 命令时使用 -F off 选项。

    % uttsc -F off other_uttsc_options