知識ベース

コアビデオ

Core Videoは、macOSで採用されているビデオ処理モデルです。ビデオソースからのフレームの圧縮解除プロセスを、画像のレンダリングと合成のためのその他のQuartzテクノロジーにリンクします。 QuickTime XとQuickTime 7はどちらもCore Videoに依存しています。

概要

Core Videoは、処理パイプライン内でバッファリングモデルと再生同期ソリューションの両方を提供します。ビデオソースは、Quartz 2Dの視覚的コンテキスト内で画像としてレンダリングされる圧縮解除されたデータストリームを提供します。コアビデオは、このビデオソースとその表示コンテキストの間のリンクと考えることができます。レンダリングされた画像は、Quartz Compositorで最終シーンに合成される前に、Core Imageによってさらに処理されます。合成プロセスの一部として、Core Videoはフレームバッファを維持し、レンダリングされた合成フレームのプールを再生可能な状態に保ちます。スムーズな再生を確保するために、Core Videoは高優先度のスレッドを使用してフレームバッファーを維持します。このディスプレイリンクは、ビデオ再生を呼び出すアプリケーションとは独立して実行され、さまざまなディスプレイリフレッシュレートとレイテンシを補正します。

QuickTime 7はCore Videoを採用したため、Quartzのレンダリング機能を実装したQuickTimeの最初のバージョンでした。 QuickTimeの以前のバージョンでは、レンダリングにQuickDrawを使用していました。通常、Core VideoはQuickTimeと対話しますが、任意のビデオソースと対話できます。

最終再生はOpenGLサーフェスで構成されているため、Core VideoはQuartz GL、Core Image、およびQuartz Extremeによって提供されるグラフィックプロセッサ(GPU)レンダリングと合成の恩恵を受けます。

歴史

Core VideoはMac OS X v10.4のリリースで導入されましたが、Mac OS XでのQuickTime 7のインストールに含まれています。そのため、Core Videoは、QuickTime 7がインストールされたMac OS X 10.3.9でも利用できます。

Mac OS X 10.4では、Core VideoはQuartzCoreフレームワークの一部として実装されています。 Mac OS X 10.5以降では、独自のフレームワークに存在します。