【发布时间】:2012-08-23 00:02:24
【问题描述】:
我需要实时处理来自远程视频的视频帧,并将处理后的帧呈现在屏幕上。
我曾尝试使用 AVAssetReader,但由于 AVURLAsset 正在访问远程 URL,调用 AVAssetReader:initWithAsset 会导致崩溃。
AVCaptureSession 看起来不错,但它适用于相机而不是视频文件(更不用说远程文件了)。
因此,我现在正在探索:在 AVPlayerLayer 中显示远程视频,然后使用 GL ES 访问显示的内容。
问题:
如何将 AVPlayerLayer(或一般的 CALayer)转换为 CAEAGLLayer 并使用
CVOpenGLESTextureCacheCreateTextureFromImage()读取像素?或者还有其他更好的方法吗?
注意:性能是一个重要的考虑因素,否则一个简单的屏幕捕获技术就足够了。
【问题讨论】:
标签: iphone ios opengl-es-2.0 avfoundation video-processing