Microsoft DirectX 8.0

カットリストのタイムラインへの変換

ここでは、既存のカットリスト アプリケーションを Microsoft® DirectShow® 編集サービス (DES) に変換する方法について説明する。

カットリストは、DirectShow の以前のバージョンの機能であり、非線形編集のために制限付きサポートを提供した。Microsoft® DirectX® 8.0 では、カットリストはサポートされていない。DES での機能から機能の変換は、簡単に実装できる必要がある。これには、少なくとも次のような利点がある。

カットリストから移行すると、プロジェクトの永続性、複数のトラック、エフェクト、トランジション、ポスター フレームの合成などの機能を追加できる。

標準的なカットリスト アプリケーションは、次のようなステップを実行する。

  1. ビデオ ストリームおよびオーディオ ストリーム用に異なるカットリスト (IStandardCutList) を作成する。
  2. 各ソース ファイル用に、ビデオ ファイル クリップ、オーディオ ファイル クリップ、またはその両方 (IFileClip) を作成する。
  3. 各ファイル クリップから、1 つまたは複数のカット (IAMCutListElement) を作成し、カットリストに追加する。
  4. カットリスト グラフ ビルダ (ICutListGraphBuilder) を作成する。
  5. 各カットリストをカットリスト グラフ ビルダに追加する。
  6. オプションで、出力ファイル名を設定する。
  7. グラフをレンダリング、再生する。

次に示すのは、DES での同様のステップである。

  1. タイムライン (IAMTimeline) を作成する。
  2. 最終的なプロダクションで、各ビデオ ストリームおよびオーディオ ストリーム用に 1 つのグループ (IAMTimelineGroup) を作成する。
  3. 1 つまたは複数のトラック (IAMTimelineTrack) を各グループに追加する。
  4. ソース オブジェクト (IAMTimelineSrc) を作成し、トラックに追加する。
  5. レンダリング エンジン (IRenderEngine) を作成する。
  6. レンダリング エンジンにタイムラインを追加する。
  7. グラフをレンダリング、再生する。

次に示すのは、その主な違いである。

ファイル クリップ : DES では、ファイル クリップに相当するオブジェクトはない。ソース オブジェクトは、おおよそカットに相当する。カットでは、複数のソース オブジェクトが同じソース ファイルを参照できる。

メディア タイプ : カットリストでは、オーディオとビデオ用に 2 つの明確なファイル クリップ オブジェクトがあり、それぞれに独自のクラス識別子がある。DES では、グループのメディア タイプによってソース オブジェクトのメディア タイプが決定される。

ファイル出力 : DES には、ICutListGraphBuilder::SetOutputFileName メソッドに直接相当するものがない。DES ではファイル出力がいくらか複雑になっているが、フォーマットと圧縮タイプについては、格段に制御が向上している。詳細については、「ファイルへのプロジェクトの書き込み」を参照すること。

プロジェクトの変更 : カットリストでは新しいカットを追加できるが、カットの変更や削除はできない。DES では、ソース オブジェクトの追加、削除、再配置、または変更ができる。詳細については、「ビデオ編集プロジェクトの管理」を参照すること。