AVFoundation实时叠加视频

时间:2015-04-17 14:10:37

标签: ios objective-c opengl-es avfoundation gpuimage

我以AVCaptureSession视频格式通过kCVPixelFormatType_420YpCbCr8BiPlanarFullRange捕获视频。我不能使用其他格式,我需要输出框架进行识别。当帧进入时,我使用AVAssetWriter来写入文件。现在我需要尽可能以最有效的方式为视频添加水印。我期待GPUImage图书馆。我编写测试项目,库中的变化很小,性能很好。 1280x720视频实时录制,叠加UIView没有滞后。在我没有视频叠加的实际项目中包含GPUImage后,我开始在视频录制方面遇到滞后。

之前的工作原理(手动):
Camera -> CMSampleBuffer -> Write to file

挖内后

GPUImage
Camera -> CMSampleBuffer -> Shader conversion to RGB -> not sure what also process going here -> Write to file

问题是当我使用简单GPUImage结构的Camera->MovieWriter时,我会遇到滞后。当我自己写作时,我没有看到任何滞后。我认为转换为RGB以及GPUImage所做的其他事情存在问题。

所以我的问题是:
我可以在没有RGB转换的情况下在帧上添加水印(在OpenGL中)吗?或GPUImage中的哪些部分需要更多时间?我可以在着色器中叠加luminanceTexturechrominanceTexture吗?

0 个答案:

没有答案