2012-05-15 47 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存儲庫,詳細信息和示例項目,其中實時處理是用很多過濾器完成的。