Ios 无法使用GPUImage编辑视频

Ios 无法使用GPUImage编辑视频,ios,objective-c,iphone,gpuimage,Ios,Objective C,Iphone,Gpuimage,我已经使用AVFoundation创建了视频,现在我想通过GPUImage框架对其进行编辑。我已经按照说明设置了所有设置。在看到他的“SimpleVideoFileFilter”示例后,我刚刚复制了他的代码,并将我的资源URL替换为视频。这是代码 movieFile = [[GPUImageMovie alloc] initWithURL:player.contentURL]; pixellateFilter = [[GPUImagePixellateFilter alloc] init];

我已经使用AVFoundation创建了视频,现在我想通过GPUImage框架对其进行编辑。
我已经按照说明设置了所有设置。在看到他的“SimpleVideoFileFilter”示例后,我刚刚复制了他的代码,并将我的资源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");
    });
}];

但是我得到了以下错误。




请帮助我解决这个问题。

不确定这是否是正确的答案,但我希望它朝着正确的方向发展

status
36055的值为0x8CD7-缺少附件。
摘自苹果讨论论坛-

据论坛介绍,

结果你不得不打电话:

glDrawBuffer(GL_NONE)
glReadBuffer(GLU无)

在源缓冲区和目标缓冲区上。i、 e两个缓冲区都必须 阅读并画完整

这就是为什么当我离开时,我在缓冲区上得到了一个似乎翻转的状态 检查过了

干杯。
YJ

通过阅读,我知道当视频没有音频时会发生这种错误
我也有同样的问题。我没有音频资源(视频)。所以面对这个错误

为了解决这个错误,我刚刚替换了

movieFile.audioEncodingTarget = movieWriter;


代码运行正常。

请将代码块和错误消息作为
代码块
而不是图像发布。您在图像中看到的代码不是我写的。您可以看到文件名GPUImageMovieWriter.m,它是
status
?@BlackFrog的值,不是我写的。。。。这是GPUImage.framework中的文件当我将指针放在
状态上时,它显示36055作为值。它对我有效。iOS11.1.2无法使用筛选器写入视频。其他版本的iOS没有这个问题。现在我创建无音频过滤视频的方式。并结合vdieo和原始视频的音频轨迹。
movieFile.audioEncodingTarget = movieWriter;
movieFile.audioEncodingTarget = nil;