2012-05-15 48 views
0

我可以从MPMoviePlayer中的缩略图生成CGImage。我想要做的是在图像上应用一个过滤器,并尽可能快地在设备上显示它(可能在UIImageView中)。将过滤器应用于MPMoviePlayer无延迟缩略图

这里需要注意的是,我需要将过滤器应用到视频的每一帧,以便用户在视频流中看到过滤的图像,而不会出现滞后现象。

此刻我得到缩略图,应用我的过滤器,并将我的UIImageView.image设置为此过滤图像。过滤器工作正常,图像显示,但应用程序真的滞后。有什么办法可以加快速度吗?

我也尝试过使用CAdisplaylink,因为这帮助我加速了多个UIImages在屏幕上一次飞行,但它在这个实例中没有做任何事情。任何帮助,将不胜感激。

谢谢。

回答

0

使用Brad Larsons GPUImage框架。总之......太棒了。

这是一个概述: GPUImage框架是BSD许可的iOS库,可让您将GPU加速过滤器和其他效果应用于图像,实时相机视频和电影。与Core Image(iOS 5.0的一部分)相比,GPUImage允许您编写自己的自定义过滤器,支持部署到iOS 4.0,并且具有更简单的界面。但是,它目前缺乏核心图像的某些更高级功能,例如面部检测。

对于像处理图像或实况视频帧这样的大规模并行操作,GPU具有一些比CPU更显着的性能优势。在iPhone 4上,简单的图像过滤器在GPU上的执行速度可能比基于CPU的过滤器快100倍。

这里的linkhttps://github.com/BradLarson/GPUImage包含页面到git存储库,详细信息和示例项目,其中实时处理是用很多过滤器完成的。