1

我正在尝试在一个条件下对 iOS 设备上的实时视频(例如每秒像素)进行下采样:以 60 fps 的速度进行。

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

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

相关但仍未得到解答的问题:

4

1 回答 1

1

查看GPUImage中的SimpleVideoFilter示例。

然后用类似这样的方式消除棕褐色过滤器,以获得预览:

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

这是布拉德在评论中建议的开始:

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 示例涵盖了它。

于 2013-03-03T01:14:12.143 回答