Как сократить время применения фильтра к видео в iOS? - PullRequest
0 голосов
/ 03 декабря 2018

Запись видео с использованием AVFoundation, затем применение фильтров к записанному видео, фильтры также работают нормально.Но требуется 30-40 секунд, чтобы преобразовать видео с фильтрами.Можно ли сократить время наложения фильтра на видео?

Заранее спасибо.

dispatch_async(dispatch_get_main_queue(), ^{
AVURLAsset *asset = [AVURLAsset assetWithURL:videoURL];
AVMutableVideoComposition *videoComposition = [AVMutableVideoComposition videoCompositionWithAsset:asset applyingCIFiltersWithHandler:^(AVAsynchronousCIImageFilteringRequest * _Nonnull request) {
        [filter setDefaults];
        [filter setValue:request.sourceImage forKey:kCIInputImageKey];
        CIImage *outputImage = filter.outputImage;
        [request finishWithImage:outputImage context:nil];
    }];

 NSURL *outputFileURL = [NSURL fileURLWithPath:[self getDocumentsUrlForFilterMovie]];

    AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:asset presetName:AVAssetExportPreset960x540];
    exportSession.outputFileType = AVFileTypeQuickTimeMovie;
    exportSession.outputURL = outputFileURL;
    exportSession.videoComposition = videoComposition;
    exportSession.shouldOptimizeForNetworkUse = YES;

    [exportSession exportAsynchronouslyWithCompletionHandler:^{
        dispatch_async(dispatch_get_main_queue(), ^{
            switch (exportSession.status) {
                case AVAssetExportSessionStatusCompleted:

                    break;

                default:

                    break;
            }
        });
    }];
});
...