在iOS iPhone应用程序中以60 fps下采样实时视频

时间:2013-03-02 18:29:28

标签: ios real-time avfoundation video-processing

我试图在iOS设备上对实时视频进行缩减采样(例如,每隔一个像素)一个条件:以60 fps的速度执行此操作。

分辨率可能会降低,视频屏幕的视图只能是一个小矩形(约200x200px)。然后应该在屏幕上预览结果。

我一直在使用优秀的2012 WWDC RosyWriter示例作为起点。 但是经过几个小时的搜索,我找不到一个教程,也找不到已经做过同样的人的github项目,并且可以解释如何做到这一点。我一遍又一遍地在StackOverflow中筛选出所有相关问题而没有任何成功。我正在寻找代码示例,良好答案或快速参考有关此主题的教程。

相关但尚未解决的问题:

1 个答案:

答案 0 :(得分:1)

查看SimpleVideoFilter中的GPUImage示例。

然后用这样的东西消除棕褐色滤镜只是为了预览:

videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
GPUImageView *filterView = (GPUImageView *)self.view;
[videoCamera addTarget:filterView];
[videoCamera startCameraCapture];

这是Brad在评论中建议的开始:

videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
GPUImageLanczosResamplingFilter* filter = [[GPUImageLanczosResamplingFilter alloc] init];
GPUImageView *filterView = (GPUImageView *)self.view;
[videoCamera addTarget:filter];
[filter forceProcessingAtSize:self.view.frame.size];
[filter addTarget:filterView];    
[videoCamera startCameraCapture];

过滤器的输出也将发送到GPUImageMovieWriter。 SimpleVideoFilter示例涵盖了它。