2016-09-06 22 views
0

我試圖實時解碼視頻(30 fps)並使用OpenGL進行顯示/修改。在iPod touch上,如果我解碼我用相機拍攝的視頻,解碼幀可能會花費1秒以上,而30 fps應該是最大0.03s。因此結果不是很好..iOS - AVAssetReader copyNextSampleBuffer可能非常慢

是否有可能通過AVAssetReader實現這一目標?例如,Instagram在視頻上實時應用濾鏡(我認爲GLSL着色器),甚至可以在視頻中導航。 Instagram在iPod touch上運行良好。

解碼的代碼可以在答案在這裏找到: Best way to access all movie frames in iOS

更具體位置:Hardware accelerated h.264 decoding to texture, overlay or similar in iOS

預先感謝您

回答

0

其實我的應用程序只是在CPU上做了太多的工作,我有另一個進程分析圖像。當我刪除它時,解碼速度非常快。

0

由於您提供的資料非常有限,我必須假定您的視頻序列以YUV格式進行壓縮,並且您設置了其他格式的AVAssetReader設置,如kCVPixelFormatType_32BGRA這迫使iOS使用硬件加速爲您轉換色彩空間,然後您感覺它緩慢。我建議不設置設置,只使用其原始像素格式。