iOS 合并帶有透明通道的視頻-
所以在合并雪花,燈光,爆破。。。 這裡就需要有透明通道的視頻。
這裡我用的是GPUImage 這個工具,可以講雪花無縫隙的結合起來,說到這裡,大家最好會使用一點ps,在圖片濾鏡處理的時候,可以通過ps來看看參數和效果
通過ps實驗,發現濾色可以做到這一點。GPUImageScreenBlendFilter 可以結局這個事情。
詳細的GPUImage的標頭檔點擊這裡----http://blog.csdn.net/think_ma/article/details/43093331
不說了code _movieFile = [[GPUImageMovie alloc] initWithURL:url];
_movieFile.runBenchmark = YES; _movieFile.playAtActualSpeed = NO; _movieFile2 = [[GPUImageMovie alloc] initWithURL:url2]; _movieFile2.runBenchmark = YES; _movieFile2.playAtActualSpeed = NO; _filter = [[GPUImageScreenBlendFilter alloc] init]; // filter = [[GPUImageUnsharpMaskFilter alloc] init]; [_movieFile addTarget:self.filter]; [_movieFile2 addTarget:self.filter]; // Only rotate the video for display, leave orientation the same for recording // In addition to displaying to the screen, write out a processed version of the movie to disk NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@Documents/last.mov]; unlink([pathToMovie UTF8String]); // If a file already exists, AVAssetWriter won't let you record new frames, so delete the old movie NSLog(@file = %@,pathToMovie); NSURL *movieURL = [NSURL fileURLWithPath:pathToMovie]; self.movieWriter = [[GPUImageMovieWriter alloc] initWithMovieURL:movieURL size:CGSizeMake(640.0, 360.0)]; [self.filter addTarget:self.movieWriter]; // Configure this for video from the movie file, where we want to preserve all video frames and audio samples self.movieWriter.shouldPassthroughAudio = YES; //movieFile.audioEncodingTarget = self.movieWriter; [_movieFile enableSynchronizedEncodingUsingMovieWriter:self.movieWriter]; [self.movieWriter startRecording]; [_movieFile startProcessing]; [_movieFile2 startProcessing]; __block mlkiMovie * sself = self; [self.movieWriter setCompletionBlock:^{ [sself.filter removeTarget:sself.movieWriter]; [sself.movieFile endProcessing]; [sself.movieFile2 endProcessing]; [sself.movieWriter finishRecording]; NSLog(@ok); }];
GPUImageScreenBlendFilter 相當於ps的濾鏡。