关于使用GPUImage拍摄视频第一帧黑屏

解决一:

//该句允许声音的情况下,避免录制闪屏

[_camera addAudioInputsAndOutputs];

解决二:

在GPUImageMovieWriter.m里面中添加以下代码

static BOOL allowWriteAudio = NO;

- (void)startRecording{

...

allowWriteAudio = NO;

}

- (void)processAudioBuffer:(CMSampleBufferRef)audioBuffer{

if (!allowWriteAudio) {

return;

}

...

}

- (void)newFrameReadyAtTime:(CMTime)frameTime atIndex:(NSInteger)textureIndex;{

...

if (![assetWriterPixelBufferInput appendPixelBuffer:pixel_buffer withPresentationTime:frameTime])

    NSLog(@"Problem appending pixel buffer at time: %@",CFBridgingRelease(CMTimeCopyDescription(kCFAllocatorDefault, frameTime)));

allowWriteAudio = YES; //< add this

...

}


思考:黑屏的原因?

答:音频缓冲区是在视频缓冲区之前写入的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容