QuartzComposerのエフェクトをQuickTimeムービーに適用するアプリに取り組んでいます。カメラではなく、入力用のQuickTimeムービーを除いて、フォトブースを考えてみてください。現在、QuickTimeムービーをQTMovie
オブジェクトとしてロードしてNSTimer
から、1秒間に30回起動します。ある時点でに切り替えますが、今のところは問題CVDisplayLink
ありません。NSTimer
火災が発生するたびNSTimer
に、アプリはQuickTimeムービーの1フレームをとして取得し、それをの画像入力のNSImage
1つに渡します。QCRenderer
これは機能しますが、非常に低速です。サポートされているすべての形式でムービーからフレームをプルしてみました[QTMovie frameImageAtTime:withAttributes:error:]
。それらはすべて本当に遅いか、まったく機能しません。
速度が遅くなるのは、画像データをメインメモリに移動してから、QCが処理できるように元に戻すことが原因であると考えられます。
残念ながら、QCのQuickTimeムービーパッチを使用することは、このプロジェクトでは問題外です。これは、ムービーの再生をそれが提供する以上に制御する必要があるためです。問題は、VRAMを離れずにQuickTimeムービー画像をQCRendererに移動するにはどうすればよいかということです。