Как записать три секунды неподвижного изображения с анимацией фильтра, отфильтрованной с помощью GPUImage

У меня есть неподвижное изображение с фильтром GPUImage, некоторые параметры которого анимируются, давая статическому изображению динамический вид. Теперь я хочу записать динамическую анимацию до 3-х секундного файла m4v.

Вот как я пытался,

- (IBAction)onBtnSaveAnim:(id)sender {
//save animation for 3 seconds
NSString *pathToMovie = [NSTemporaryDirectory() stringByAppendingPathComponent:ExportMovieFile];
unlink([pathToMovie UTF8String]);
NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie];
GPUImageMovieWriter *movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(720, 1280)];
self.movieWriter = movieWriter;
movieWriter.shouldPassthroughAudio = YES;
[self.stillImageFilter addTarget:movieWriter];
self.stillImageSource.audioEncodingTarget = movieWriter;

[movieWriter startRecording];

[GCDQueue executeInMainQueue:^{
    [self.stillImageFilter removeTarget:movieWriter];
    [movieWriter finishRecording];

    [[KKAssetManager si] syncSaveVideoURL:[NSURL fileURLWithPath:pathToMovie]];

}afterDelaySecs:3];}

Это не сработало, как ожидалось, так как я мог исправить код?

0 ответов

Другие вопросы по тегам