无法使用GPUImage编辑video

我使用AVFoundation创build了video,现在我想通过GPUImage框架进行编辑。
我在这里提到了所有的设置。 看到他的“SimpleVideoFileFilter”的例子后,我刚刚复制他的代码,并replace我的video资产URL。 这是代码。

movieFile = [[GPUImageMovie alloc] initWithURL:player.contentURL]; pixellateFilter = [[GPUImagePixellateFilter alloc] init]; [movieFile addTarget:pixellateFilter]; NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie.m4v"]; unlink([pathToMovie UTF8String]); NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie]; movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(480.0, 640.0)]; [pixellateFilter addTarget:movieWriter]; movieWriter.shouldPassthroughAudio = YES; movieFile.audioEncodingTarget = movieWriter; [movieFile enableSynchronizedEncodingUsingMovieWriter:movieWriter]; [movieWriter startRecording]; [movieFile startProcessing]; NSLog(@"precess started"); [movieWriter setCompletionBlock:^{ [pixellateFilter removeTarget:movieWriter]; [movieWriter finishRecording]; dispatch_async(dispatch_get_main_queue(), ^{ NSLog(@"completed"); }); }]; 

但我得到以下错误。

GPUImage中的错误

请帮我解决这个问题。

通过阅读这个我知道这个错误发生在video没有audio时。
我有同样的问题。 我没有audio我的资产(video)。 所以面对这个错误。

为了解决这个错误,我只是取而代之

 movieFile.audioEncodingTarget = movieWriter; 

 movieFile.audioEncodingTarget = nil; 

和代码工作正常。

不知道这是否是正确的答案,但我希望它在正确的方向。

36055的 status值是0x8CD7缺less附件
摘自苹果论坛 – GL Framebuffer完整性和布告问题

 #define GL_FRAMEBUFFER_COMPLETE 0x8CD5 #define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 #define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER 0x8CDB #define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER 0x8CDC #define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD 

根据论坛,

原来你必须打电话给:

glDrawBuffer(GL_NONE)
glReadBuffer(GL_NONE)

在源和目标缓冲区。 即两个缓冲区必须被读​​取和绘制完成。

这就是为什么当我检查他们时,我在缓冲区中看到了翻转的状态。

干杯。
YJ