You could ask MPMoviePlayerController or AVAssetImageGenerator to generate a thumbnail at the time you specify.
iPhone Read UIimage (frames) from video with AVFoundation
AVAssetImageGenerator provides images rotated
If you'd like videos instead of just frames, you could trim a section out of the video and apply an effect to that. This takes the URL of your video and trims it to the specified time.
AVURLAsset *videoAsset = [AVURLAsset URLAssetWithURL:videoURL options:nil];
AVAssetExportSession *exportSession = [[AVAssetExportSession alloc] initWithAsset:videoAsset presetName:AVAssetExportPresetHighestQuality];
exportSession.outputURL = [NSURL fileURLWithPath:outputURL];
exportSession.outputFileType = AVFileTypeQuickTimeMovie;
CMTimeRange timeRange = CMTimeRangeMake(CMTimeMake(startMilliseconds, 1000), CMTimeMake(endMilliseconds - startMilliseconds, 1000));
exportSession.timeRange = timeRange;
[exportSession exportAsynchronouslyWithCompletionHandler:^{
switch (exportSession.status) {
case AVAssetExportSessionStatusCompleted:
///
// Call something to apply the effect
///
break;
case AVAssetExportSessionStatusFailed:
NSLog(@"Failed:%@", exportSession.error);
break;
case AVAssetExportSessionStatusCancelled:
NSLog(@"Canceled:%@", exportSession.error);
break;
default:
break;
}
}];
Upon completion, you'd then apply your effect and if you went with the video clip route, combine them, and encode them.
How to combine video clips with different orientation using AVFoundation