GraphEdit とは?
GraphEdit とは、フィルタグラフの構築や制御を視覚的に行うためのツールである。フィルタのピン同士をドラッグ&ドロップで接続、切断、フィルタやピンのプロパティが確認できる。プレイヤーを作成するときに、実際にどのようにフィルタを繋いでいいのかを確認する手段としても使える。独自フィルタを作成するときに、それを用いたフィルタグラフを作成するツールとして使える。
Windows SDK を既定でインストールすると、C:\Program Files\Microsoft SDKs\Windows\v6.0\Bin\graphedt.exe に実行ファイルがある(v6.0の場合)。スタートメニューには登録されていないので、適当にショートカットを作っておくと良いだろう。
GraphEditを使ってみる
フィルタを置く、削除する
GraphEdit を起動すると上図のような画面が現れる。ウインドウ内の領域にフィルタグラフを作成できる。
CTRL+Fキーを押すとフィルタリストが出てくる。
File Source(async) を選択して、[Insert Filter] ボタンを押下すると、ファイル選択ダイアログが開く。ファイルを選択して [OK] ボタンを押下すると、フィルタが置かれる。ここでは、C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Blue hills.jpg を選択する。
さらに Video Renderer フィルタを追加する。これは画面に画像を表示するためのフィルタである。
フィルタを繋ぐ
GraphEdit に表示されているフィルタをよく見ると、小さな四角 □ がある。これがフィルタのピン (Pin) である。フィルタ左側にあるのが入力ピン、フィルタ右側にあるのが出力ピンである。
フィルタをつなぐには、出力ピンから入力ピンに向かってドラッグ&ドロップする。フィルタはデータの流れる順序が正しくないと動作しない。この場合は、File Source (async) から、Video Renderer に向かってドラッグする。
上図のようになれば成功だ。接続直後に、Color Space Converter フィルタが自動的に追加されているのが確認できる。DirectShow には「インテリジェント接続」という機能があり、不足しているフィルタをある程度自動的に補ってくれる機能がある。 例えば入力画像が YUV 形式の場合で、下流に RGB 形式しか扱えないフィルタを繋ぎたい場合、変換が必要ですが Color Space Converter フィルタによって変化される。
フィルタのプロパティページを呼び出す
フィルタの四角の中で右クリックすると、[Filter Properties...]というメニューが現れる。
フィルタがどのようなデータを受け渡ししているのか、フィルタの独自の設定などを確認することができる。
Comments
comments powered by Disqus