通过iPhone上的着色器处理视频时捕获视频

adr*_*aan 6 iphone opengl-es objective-c avfoundation

我正在尝试开发一个处理/过滤和录制视频的iPhone应用程序.

我有两个示例应用程序,它们具有我需要的方面,并且正在尝试将它们组合在一起.

  1. 来自WWDC10示例代码包的AVCamDemo(需要Apple Developer ID)
    这涉及捕获/录制视频.

  2. 此处引用的Brad Larson的ColorTracking示例应用程序
    使用OpenGL ES处理视频的实时处理

我试图将两者结合起来时陷入困境.

我一直在尝试做的是通过OpenGL ES 使用AVCaptureVideoOutputAVCaptureVideoDataOutputSampleBufferProtocol处理/过滤视频帧(如在-2-中),同时以某种方式用于AVCaptureMovieFileOutput记录处理过的视频(如-1-).

这种方法可行吗?如果是这样,我怎么需要在AVSession?内建立连接?

或者我是否需要使用AVCaptureVideoDataOutputSampleBufferProtocol处理/过滤视频然后将各个帧重新组合成电影 - 而不使用AVCaptureMovieFileOutput保存电影文件?

任何有关实现这一目标的最佳方法的建议都非常感谢!