本部分介绍 Sun Ray Software 提供的视频加速功能。可用的功能取决于使用的 Windows 桌面和 Sun Ray Client。
视频加速改善在客户端设备上播放视频的用户体验。另外,通过使用压缩的视频流和客户端呈现,视频加速还减少了提供多媒体内容时的服务器 CPU 周期和网络带宽。
当满足以下要求时,可以在 Windows 桌面会话上使用视频加速。
表 18.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 和 VC-1 视频 | Windows Media Player 10、11 或 12 | 无 | 无 |
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 无法在本地对 MPEG-2 和 H.264 进行解码。 |
对于 Windows 7 和 Windows Server 2008,所有视频播放器都可以从 Sun Ray Software 提供的试探性视频检测和加速算法中获益。
系统根据使用的 Sun Ray Client 提供视频加速以达到最大分辨率大小,如下表所示。
下表中列出的最大分辨率大小是指能够在局域网上提供可靠用户体验的最大视频大小。Sun Ray Client 上提供的最终帧速率是由视频内容、编码比特率、网络条件、上游软件性能和管道效率综合决定的。
表 18.3. Sun Ray 2 Client 上的视频加速
Windows 桌面 | 视频类型 | 配置文件 | 最大分辨率 |
---|---|---|---|
Windows 7、2008、XP 和 2003 | Adobe Flash 内容 | 不适用 | 1024x768 |
Windows 7 和 2008 | MPEG-2 和 VC-1 | 不适用 | 352x288 |
Windows XP 和 2003 | MPEG-2 | 主配置文件主级别 | 720x480 |
H.264 |
| 352x288 | |
VC-1 | 简单配置文件低、中级别 | 352x288 | |
主配置文件低、中、高级别 | 320x240 | ||
高级配置文件 0、1、2、3 级别 | 352x288 |
表 18.4. Sun Ray 3 和 3i Client 上的视频加速
Windows 桌面 | 视频类型 | 配置文件 | 最大分辨率 |
---|---|---|---|
Windows 7、2008、XP 和 2003 | Adobe Flash 内容 | 不适用 | 1024x768 |
Windows 7 和 2008 | MPEG-2 和 VC-1 | 不适用 | 352x288 |
Windows XP 和 2003 | MPEG-2 | 主配置文件主级别 | 720x480 |
H.264 |
| 720x480 | |
VC-1 |
| 720x480 |
表 18.5. Sun Ray 3 Plus Client 上的视频加速
Windows 桌面 | 视频 Codec | 配置文件 | 最大分辨率 |
---|---|---|---|
Windows 7、2008、XP 和 2003 | Adobe Flash 内容 | 不适用 | 1280x720 |
Windows 7 和 2008 | MPEG-2 和 VC-1 | 不适用 | 352x288 |
Windows XP 和 2003 | MPEG-2 | 主配置文件主级别 | 1280x720 |
H.264 |
| 1280x720 | |
VC-1 |
| 1280x720 |
下面是在 Windows XP 和 Windows Server 2003 上使用视频加速时的一些其他事项和限制:
由于从运行播放器的主机远程对视频进行解码,Windows Media Player 中的某些视频播放功能可能不起作用。这包括逐帧播放、变速播放、重复播放模式、"Playlist"(播放列表)选项、皮肤模式、多次向前或向后移动滑块和在播放视频期间退出 Windows Media Player。
Xinerama 会话(在多个监视器上使用一个屏幕)不支持多媒体重定向。有关 Xinerama 的更多信息,请参见第 18.14 节 “多监视器支持”。
使用 Windows Media Player 播放视频时,无法使用 Windows 任务栏中的音量控制器。
在从运行 Oracle Linux 的 Sun Ray 服务器连接的 Windows 会话中播放视频时,Windows Media Player 中的 "Mute"(静音)按钮和音量滑块不起作用。
Windows 会话目录环境不支持多媒体重定向。
第三方视频解码器可与多媒体重定向组件安装到同一 Windows 系统上,但在流化处理视频时,多媒体重定向组件不会使用这些解码器。
创建 15 fps 的视频内容可能会获得更好的整体效果。
使用 Windows Media Player 更改音量大小也会更改其他应用程序的音量大小。Windows 连接器不提供针对应用程序的音量设置。
在 Windows Media Player 中暂停视频会将其他应用程序静音。当恢复视频时,Windows Media Player 和其他应用程序的音量大小将重置为 Window Media Player 的当前音量设置。在视频播放期间使用 Sun Ray Client 上音量按钮对音量大小所做的调整会被忽略。
下面是在所有 Windows 桌面上使用视频加速时的一些重要事项和限制:
不支持在 Internet Explorer 9 中使用 Adobe Flash Player 11 播放无窗口的 Adobe Flash 内容。
不支持在执行复制操作的过程中播放视频。
不支持从连接到 Sun Ray Client 的 USB 闪存盘播放视频。
不支持使用 Windows Media Player 或 Internet Explorer 同时播放多个视频。
Adobe Flash 内容的播放性能可能无法与独立的桌面环境相比,因为存在各种网络延迟和有损视频压缩问题。
在 Windows 7 和 Windows Server 2008 上播放 Adobe Flash 期间,音频和视频可能会变得不同步。
Xinerama 会话(在多个监视器上使用一个屏幕)不支持 Adobe Flash 加速。有关使用 Xinerama 的更多信息,请参见第 18.14 节 “多监视器支持”。
仅多显示端配置的主显示端支持 Adobe Flash 加速和多媒体重定向。
如果对客户端进行漫游办公时您正在播放视频,那么音频和视频可能会变得不同步或者可能会发生运行时错误。解决方法是重新启动 Windows Media Player 或 Internet Explorer 并重新播放视频。这是 MS-RDP 客户端当前存在的问题。有关 Windows Media Player 错误消息的示例,请参见第 18.5.5.7 节 “会话重新连接期间的 Windows Media Player 错误”。
当使用 64 位版本的 Windows 7 和 Windows Server 2008 时,任务栏弹出式菜单将显示在所有 Adobe Flash 播放区域之后,播放区域会覆盖菜单区域。如果发生这种情况,您需要移动播放区域才能访问弹出式菜单。
在 Windows Server 2003 上使用 Adobe Flash Player 11 时,可能发生 Adobe Flash 播放问题。尝试改用 Adobe Flash Player 10.x。
提供类似媒体加速的第三方软件可能会与 Flash 加速组件冲突,导致其不可用。在这种情况下,要使 Flash 加速可以正常工作,您需要在 Windows 系统上卸载第三方软件并删除/重新安装 Windows 连接器组件。
本部分提供有关视频加速功能的故障排除信息。
如果使用视频加速并且启用了日志记录功能,将在以下文件中记录视频加速状态消息和性能统计信息:
/var/dt/Xerrors
(Oracle Solaris 10)
/var/log/gdm/$DISPLAY.log
(Oracle Linux)
默认情况下会禁用视频加速日志记录功能。
在 Sun Ray 服务器上成为超级用户。
启用视频加速日志记录功能:
# 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 | grepuserid
# ps -aef | grep Xnewt | grep ":display
"
其中 display
是通过 utsession 命令列出的会话显示屏幕编号。
视频加速状态消息可标识用于在客户端上显示视频内容的呈现机制。视频加速状态消息具有以下格式:
Displaydisplay-id
Video port Idvideo-port-id
stream Idstream-id
status-message
下面是一个状态消息示例:
Display :3.0 Video port Id 91 stream Id 3 Compressed: H.264
您可以使用 Video port Id
和 stream Id
值查找视频流的相应性能统计信息,第 18.5.5.3 节 “视频加速性能统计信息”中有相关说明。
在多显示端配置中,Display
指示正在哪个显示端上播放视频。例如,Display :3.1
和 Display :3.2
。另外,每个显示端的视频端口 ID 都位于不同的范围内。
表 18.6 “视频加速状态消息”提供了视频加速状态消息列表。
表 18.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: | 压缩的视频流尝试连接到因硬件问题或固件过期而不支持解码的客户端。 |
Compressed: | 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 | 运行视频流的会话已发生漫游办公。 |
如果发生了 Adobe Flash 加速(由视频加速图标表示),但是日志文件中没有状态消息,则表明 Adobe Flash 内容在 Sun Ray 服务器上解压缩并通过 X11 API 显示。
除了记录视频加速的常规状态消息,系统还会按大约一秒的间隔记录每个视频流的性能统计信息。性能统计信息可能会导致日志文件的大小快速增加,视频每运行一秒大约增加 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。
视频加速处于活动状态时,会在 Windows 桌面的任务栏中显示视频加速任务栏图标。在启用了多媒体重定向的 Windows XP 和 Windows Server 2003 上以及启用了 Adobe Flash 加速的所有 Windows 平台上,都会显示该图标。将鼠标悬停在图标上会显示加速类型、媒体类型和大小,如下面的屏幕抓图所示。
检查以下问题:
确保已在 Windows 系统上安装了 Adobe Flash 加速 Windows 组件。有关详细信息,请参见第 3.2.7 节 “如何在 Windows 系统上安装 Windows 连接器组件”。
确保 Internet Explorer 启用了 "Third party browser extensions"(第三方浏览器扩展)选项,该选项位于 "Tools"(工具)-> "Internet Options"(Internet 选项)的 "Advanced"(高级)选项卡中。
如果视频加速播放图标工具提示显示 Audio:NONE 而非 Audio:PCM,则表明 Windows Media Player 的音频设备配置不正确。
删除以下 Windows 注册表项以恢复 Windows Media Player 的默认音频设备:
HKEY_CURRENT_USER/Software/Microsoft/MediaPlayer/Preferences/DefaultAudioDevice
在修改注册表项之前,务必在 Windows 系统上备份注册表。
如果在播放支持的媒体格式剪辑时,Windows 连接器会话重新启动或发生漫游办公,则可能会显示 Windows Media Player 错误警报框,如图 18.5 “会话重新连接期间的 Windows Media Player 错误”所示。
重新启动 Windows Media Player 并重新播放视频。
默认情况下,当使用 uttsc 命令时,就会启用多媒体重定向。禁用多媒体重定向功能时,将对视频和音频使用标准 RDP 协议。
要禁用多媒体重定向,请在发出 uttsc 命令时使用 -M off
选项。
% uttsc -M off other_uttsc_options