wlinshicong

Results 10 comments of wlinshicong

我现在用你的demo,边录制边输出。然后每一帧都用CIFilter加上了图片水印。 /** ======= 在这里可以利用 fiter 把 imageBuffer 处理后写入文件中 */ CVPixelBufferRef imageBuffer2 =[self coreImageHandle:imageBuffer1];//此处进行了水印处理 CIImage *inputImage2 = [CIImage imageWithCVPixelBuffer:imageBuffer2];//此处打断点看到图片是加了水印的了,但是录制后的视频帧数不稳定,还有就是完全看不到水印,请问怎么回事, if (self.assetWriterVideoInput.readyForMoreMediaData) { // if (![self.assetWriterVideoInput appendSampleBuffer:sampleBuffer]) { // // } //...

- (CVPixelBufferRef)coreImageHandle:(CVPixelBufferRef)pixelBuffer { CFAbsoluteTime elapsedTime, startTime = CFAbsoluteTimeGetCurrent(); CIImage *inputImage = [CIImage imageWithCVPixelBuffer:pixelBuffer]; //设置滤镜的输入图像 // [_coreImageFilter setValue:inputImage forKey:kCIInputImageKey]; CIImage *img = [CIImage imageWithCGImage:[UIImage imageNamed:@"123"].CGImage]; [_coreImageFilter setDefaults]; [_coreImageFilter setValue:inputImage forKey:@"inputBackgroundImage"]; [_coreImageFilter...

还有你的demo如果录制视频点击几次屏幕后会崩溃报错,就是报assetWriter的状态为2,不能再重复调用self.assetWriter finishWritingWithCompletionHandler,改了这个解决了- (void)stopWritingWithError:(NSError **)error { self.isWriting = NO; dispatch_async(self.dispatchQueue, ^{ if (self.assetWriter.status == AVAssetWriterStatusCompleted) { NSLog(@"状态已完成,不能继续完成"); return ; } [self.assetWriter finishWritingWithCompletionHandler:^{ if (self.assetWriter.status == AVAssetWriterStatusCompleted) { dispatch_async(dispatch_get_main_queue(), ^{ if ([self.delegate...

http://www.jianshu.com/p/a20995e1ab67你看下这个,作者说这样是可以的,以前没接触过,理解不深

至于你说的哪个水印加到层上,那就是我最开始的做法。1分钟的视频要转码20秒,所以这个方案不行

不能录制完再加水印,要等太久了,我们假如录制10分钟,不得等3分钟转码,所以必须改为边录制边加水印,

我发现你的好像都没有哪个cache缓存,你也是接收到一阵帧就保存一帧,我还一直以为你是把微信调优的方法实现了,这样子的话,还是会出现丢帧的

@linjiansheng 为什么要这么改,源码的bug吗