ios - 在基本项目中使用 GPUImage 实时视频过滤器会导致纯白屏幕

标签 ios gpuimage

我刚刚将 GPUImage 集成到一个全新的项目中,并按照 Github 中的说明添加了所需的库。页。我已经为GPUImageVideoCamera创建了一个strong属性,并在viewDidLoad中,我将其实例化如下:

self.videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];

编辑:项目中的完整代码:

@interface ViewController () <GPUImageVideoCameraDelegate>
{
    GPUImageVideoCamera *videoCamera;
}

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
}

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;

    GPUImagePixellatePositionFilter *customFilter = [[GPUImagePixellatePositionFilter alloc] init];
    GPUImageView *filteredVideoView = [[GPUImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, self.view.frame.size.height)];

    [videoCamera addTarget:customFilter];
    [customFilter addTarget:filteredVideoView];

    [videoCamera startCameraCapture];
}

@end

但是,我得到的只是一个白屏,没有任何错误或警告,并且想知道我做错了什么......谢谢!

最佳答案

我知道这是一个老问题,但我遇到了同样的问题并找到了解决方法。这看起来真的很愚蠢,但对我来说,我只是将 videoCamera 设为一个属性,它就开始工作了,即:

@interface ViewController ()

@property (nonatomic, strong) GPUImageVideoCamera *camera;

@end

-(void)viewDidLoad {
    [super viewDidLoad];
    self.camera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];

    //etc.
}

关于ios - 在基本项目中使用 GPUImage 实时视频过滤器会导致纯白屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23555785/

相关文章:

ios - UITextField 如何禁用粘贴?

iphone - CoreBluetooth 后台扫描设备

ios - 斯坦福计算器应用程序崩溃并出现错误 "unexpectedly found nil"

ios - ios 中的约束不会自动更新

ios - 在 EDK Marmalade 中使用 GPUImage

ios - 将静态库添加到 podspec

ios - GPUImage:2个分支链的同步

objective-c - 如何将 GPUImage 添加到 iOS 项目?

ios - "GPUImage.h"未找到

iphone - 在 UIView 上透明的 GPUImage 视频