我正在寻找开发能够处理视频的iPhone / iPad应用程序的提示(为了简单起见,我们只考虑存储在设备上的本地文件)并实时播放。例如,您可以选择任何电影并选择“旧电影”过滤器,并希望它像旧灯泡电视一样。
为了使这个想法成真,我需要实现两个关键特征:
1)从电影文件中抓取帧和音频流并访问单独的帧(我对BGRA中的原始像素缓冲区或至少YUV颜色空间感兴趣)。
2)以某种方式显示已处理的帧。我知道可以将处理过的帧渲染到OpenGL纹理,但我希望有更强大的组件和播放控件。是否有任何类型的媒体播放器支持播放自定义图像和音频缓冲区?
处理功能完成且速度快(少于一帧的持续时间)。
我不是要求现成的解决方案,但欢迎任何提示!
答案
抓帧 。 看起来获取视频和音频帧的唯一方法是使用AVAssetReader类。虽然不建议用于实时抓取,但它可以完成这项任务。在我对iPad2的测试中,抓取单帧需要大约7-8毫秒。寻找视频非常棘手。也许有人可以指出更有效的解决方案?
视频播放。我用自定义视图和GLES完成了这个操作,以渲染一个矩形纹理,里面有一个视频帧。据我所知,这是绘制位图的最快方法。
问题
答案 0 :(得分:3)
This is how you would load a video from the camera roll..
This is a way to start processing video. Brad Larson did a great job..
答案 1 :(得分:0)
您可以使用AVPlayer + AVPlayerItem,它为您提供了在显示图像上应用滤镜的机会。