Moonlight 可以直接在 GPU 上播放视频了

  • Abel Avram
  • 张龙

2011 年 4 月 2 日

话题:.NET语言 & 开发

近日,Moonlight 得到了增强,可以支持 GPU 加速的视频播放。Silverlight 5 也将紧跟其后,同时还会增加一些特性。

近日,Miguel de Icaza 宣布 Moonlight(Silverlight 的 Unix 移植版)上可以实现GPU 加速的视频渲染。Mono 团队于上个月发布了Moonlight 4 Preview 1,该版本对渲染进行了大幅度的改进,比如 GPU 加速的图形、3D 变换、通过 YUYV 或 YUV420 像素格式进行V4L2视频捕获,同时还引入了微软随 Windows Media Pack 一同发布的 H.264 和 AAC codecs。但这些增强都仅仅为可视化的组件树提供了基于 GPU 的渲染,与这些不同的是,此次增强将可以更平滑地在 GPU 上播放 HD 视频。

de Icaza 说到,相比最初用于视频的渲染管道来说,Moonlight 所引入的新的渲染管道得到了极大的简化。之前的做法是将 H.264 流转换为YUV格式,然后再转换为RGB,之后重新调整帧的尺寸,最后再传递给显卡;新的管道会将视频解码为 YUV 格式,然后传递给 GPU,由 GPU 完成其余的工作——转换为 RGB 并调整帧的尺寸——这都是在渲染之前通过硬件完成的。

de Icaza 说由 Moonlight 在 GPU 上所渲染的 1080p HD 视频质量是“相当完美的”。其源代码位于GitHub上,不久之后就会加到nightly build中。

微软表示Silverlight 也将进行类似的改进,并打算集成到年中发布的 Silverlight 5 Beta 版中,最终版则计划于今年下半年发布。虽然 Silverlight 提供 GPU 加速视频的时间要晚于 Moonlight,但其插件会提供更多的特性:TrickPlay——可以使用不同的速度快进、重复播放及回放、远程控制支持及 DRM 管理。此外,微软还会在各种显卡上测试 Silverlight 以确保视频能够平滑播放。

查看英文原文:Moonlight Playbacks Video Directly on GPU

.NET语言 & 开发