如何以编程方式将QuickTime影片管道输入Quartz Composer输入?

时间:2011-11-03 08:54:40

标签: objective-c macos quicktime qtkit quartz-composer

我正在开发一款将Quartz Composer效果应用于QuickTime电影的应用。想想Photo Booth,除了输入QuickTime电影,而不是相机。目前,我正在加载一部快速电影作为QTMovie对象,然后每秒发射30次NSTimer。在某些时候,我会切换到CVDisplayLink,但NSTimer现在还可以。每次NSTimer触发时,应用程序都会将快照时间电影的一帧抓取为NSImage并将其传递给QCRenderer的图像输入之一。这有效,但非常慢。我尝试以[QTMovie frameImageAtTime:withAttributes:error:]支持的所有格式从电影中提取帧。他们要么都很慢,要么根本不工作。

我假设缓慢是由于将图像数据移动到主存储器,然后将其移回QC以对其进行处理而造成的。

不幸的是,使用QC的QuickTime电影补丁对于这个项目是不可能的,因为我需要更多的电影播放控制。所以问题是,如何在不离开VRAM的情况下将QuickTime影片图像移动到我的QCRenderer中?

1 个答案:

答案 0 :(得分:1)

查看开源的v002 Movie Player QCPlugin。无论如何,你还有更多的控制措施吗?