realtime -下行采样实时视频在iOS iPhone应用程序在60 fps



我正在尝试在iOS设备上下载实时视频(以每秒像素为例),只有一个条件:以60帧/秒的速度进行。

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

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

相关但仍未解决的问题:

  • iOS AVFoundation -将视频转换为图像在60 fps
  • 在Quartz Composer中实时重新排列视频上的像素
  • 在iOS上处理视频时跳过帧

看一下GPUImage中的SimpleVideoFilter示例。

然后用这样的东西消除深褐色滤镜,只是为了得到一个预览:

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示例包含了它。

最新更新