使用CIImage或CGImage作为直接输入videotoolbox

时间:2017-11-06 02:40:55

标签: ios opengl-es core-image cmsamplebufferref video-toolbox

我尝试制作一项功能,通过网络从相机和流中应用滤镜帧捕获。

由于在CMSampleBuffer或CVPixelBuffer(CPU端)中应用过滤器时性能不佳,我尝试将数据从CMSampleBuffer(从相机捕获原始)转换为CIImage(CPU端),然后使用一些内置的Core Image过滤器。当我转换回使用VideoToolbox进行编码的CVPixelByteBuffer(或CMSampleBuffer)时,它的速度太慢,无法实现平滑fps的实时目标(我的原因是将数据从GPU传输到CPU)。

那么,有没有办法使用CIImage或GL纹理(比如将纹理绘制到表面作为MediaCodec输入)作为VideoToobox的输入?或者更快地从C​​GImage / CIImage转换为CVSampleBuffer,还是使用着色语言? 我认为这是可能的,因为Messenger,Snapchat,Snow,......可以在像iPhone 5这样的旧设备中表现良好

谢谢大家。

0 个答案:

没有答案