我正在尝试对 iOS 设备上的实时视频进行下采样(例如,每隔一个像素),条件是:以 60 fps 进行。
分辨率可能会降低,视频屏幕的 View 只能是一个小矩形(大约200x200px)。然后应在屏幕上预览结果。
我一直使用出色的 2012 WWDC RosyWriter 示例作为起点。 但是经过几个小时的搜索,我什至找不到一个教程,也找不到已经做过同样的事情并且可以解释如何做到这一点的人的 github 项目。我把StackOverflow里面的所有相关问题都翻来覆去的筛选了一遍,都没有成功。我正在寻找有关此主题的代码示例、好的答案或快速引用教程。
相关但仍未回答的问题:
最佳答案
看看 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 示例涵盖了它。
关于ios - 在 iOS iPhone 应用程序中以 60 fps 下采样实时视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15177876/