我想通過在GPUImageMovie和GPUImageMovieWriter之間添加一個過濾器來處理視頻。但是,在添加自定義過濾器之前,我遇到了麻煩。如何使用GPUImage框架保存電影?
這是我的測試代碼。
NSURL *sampleURL = [[NSBundle mainBundle] URLForResource:@"Documents/test" withExtension:@"mov"];
movieFile = [[GPUImageMovie alloc] initWithURL:sampleURL];
NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/output.mov"];
unlink([pathToMovie UTF8String]);
NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie];
movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(1280.0, 720.0)];
[movieFile addTarget:movieWriter];
[movieWriter startRecording];
[movieFile startProcessing];
[movieWriter setCompletionBlock:^{
[movieFile removeTarget:movieWriter];
[movieWriter finishRecording];
}];
我喜歡這個
uncaught exception 'NSInvalidArgumentException', reason: '*** -[AVAssetReader initWithAsset:error:] invalid parameter not satisfying: asset != ((void*)0)'
一個錯誤信息,並有一個名爲output.mov下文件創建一個文件夾大小0
我能做些什麼來解決這個問題簡單的任務?
哦!對不起。 ['movieFile addTarget:movieWriter];'行已被註釋掉,但我沒有刪除它。錯誤消息'NSInvalidArgumentException'是當前更新代碼的錯誤結果。 pixellateFilter是我的下一個目標。但是,我無法啓動當前的簡單示例。 –