GPUImageVideoCamera сохранить видео на ios 7
Я пытаюсь добиться квадратной записи видео, например, 300*300, поэтому я выбираю GPUImage, но он не работает на IOS 7 и выдает такие ошибки, как [UIView nextAvailableTextureIndex]: unrecognized selector sent to instance
ошибка начинается, когда мы строим четный пример кода при попытке сохранить GPUImageVideoCamera
иногда застревает на [movieWriter startRecording];
совместим ли GPUImage с ios 7 или мы внесли некоторые изменения?
вот код
- (void)viewDidLoad
{
[super viewDidLoad];
videoCamera = [[GPUImageVideoCamera alloc] initWithSessionPreset:AVCaptureSessionPreset640x480 cameraPosition:AVCaptureDevicePositionBack];
videoCamera.outputImageOrientation = UIInterfaceOrientationPortrait;
videoCamera.horizontallyMirrorFrontFacingCamera = NO;
videoCamera.horizontallyMirrorRearFacingCamera = NO;
filter = [[GPUImageSepiaFilter alloc] init];
initWithRotation:kGPUImageRotateRightFlipVertical];
[videoCamera addTarget:filter];
GPUImageView *filterView = (GPUImageView *)self.view;
[filter addTarget:filterView];
sharing
NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie.m4v"];
unlink([pathToMovie UTF8String]); // If a file already exists, AVAssetWriter won't let you record new frames, so delete the old movie
NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie];
movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(480.0, 640.0)];
[filter addTarget:movieWriter];
}
- (IBAction)stopRecording:(id)sender {
[filter removeTarget:movieWriter];
videoCamera.audioEncodingTarget = nil;
[movieWriter finishRecording];
}
- (IBAction)startRecording:(id)sender {
videoCamera.audioEncodingTarget = movieWriter;
[movieWriter startRecording];
[videoCamera startCameraCapture];
}
1 ответ
Я предполагаю, что вы изменили.xib или раскадровку и не установили класс вида, который показывает предварительный просмотр камеры, равным GPUImageView
,