Запись видео с использованием 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;
}
});
}];
});