ffdshow Tryoutの導入と設定

ffdshow tryoutsは、DirectShowとVFWコーデック以外にも音声フィルターや映像フィルターなども備えており、DirectShowやVFW対応のメディアプレイヤでffdshowを利用することができます。

ここでは、H264のデコード(映像)とAACのデコード(音声)のために使用します。
※映像のエンコードで使用したx264cliではデコードすることはできません。
※音声のエンコードで使用したNeroAACにはエンコード用とデコード用のプログラムがありますが、これはフォーマット変換用としてCLIで使用できるのでみです。
専用コーデック(エンコーダおよびデコーダ)を導入している場合はそちらを使用し、ffdshowの設定では無効にしています。

【ソフトウェア情報】
公式サイト http://sourceforge.net/projects/ffdshow-tryout/
ダウンロードサイト http://sourceforge.net/projects/ffdshow-tryout/files/
バージョン rev3814 Apr 11 2011 clsid版
備考 日本語対応
インストーラ方式

【導入】
①ダウンロードした「ffdshow_rev3814_20110411_clsid.exe」を実行します。
※UACのポップアップ画面が表示された場合は「許可」をクリックしてください。

②セットアップに使用する言語の選択
日本語になってることを確認して「OK」をクリック


③セットアップ
そのまま「次へ」をクリック


④インストール先の指定
パスを確認してそのまま「次へ」をクリック


⑤コンポーネントの選択
すべてにチェックを入れて「次へ」をクリック
※不要であることが明確なものはチェックをはずしてください。


⑥プログラムグループの指定
そのまま「次へ」をクリック


※これ以降の設定は、導入後でも変更が可能です。
⑦追加タスクの選択(Huffyuvを無効)
右側のスクロールバーを操作して、Huffyuvは専用コーデックを導入してあるのでチェックを外しました。


⑧追加タスクの選択(フィルターを有効)optional
以下の4つのフィルターを有効にする
・AC3をパススルー
・DTSをパススルー
・ボリュームノーマライズ
・字幕
※PCにAVアンプを接続してビデオを視聴する場合は、AC3-DTSおよびDTSをAVアンプ側でデコード処理するためにパススルーに設定します。
※字幕にチェックを入れるとソフトウェアコーディングの字幕が表示されます。Haali Media SplitterでVSFilterをautoloadingを"YES"にしていると、字幕が重複して表示されますのでどちらか一方で字幕を表示すればOKです。


⑨追加タスクの選択(互換プログラムのみで使用を有効)optional
以下の2箇所にチェックを入れ「次へ」をクリック
・ffdshowを確認された互換プログラムのみで用いる
・未知のアプリケーションがffdshowをロード使用とする場合はダイアログを表示する
※ffdshowを使用するアプリケーションを制御するための設定です。


⑩スピーカーの設定
PCの構成にあわせて選択します。よければ「次へ」をクリック


⑪VirtualDubプラグインインストール先の指定
確認してそのまま「次へ」をクリック
※⑤番のコンポーネントの選択でVirtualDubを選択していないのであればここは飛ばしてください。


⑫インストール準備の完了
これまでに設定した内容を右のスクロールバーを操作して確認し、よければ「インストール」をクリック


⑬ffdshow セットアップウィザードの完了
メッセージを確認して、「完了」をクリック


以上で導入は終了です。


【設定】
導入のなかで設定作業も行いましたので特に必要はありません。
導入時に設定した内容や気になる箇所の確認程度でよいと思います。

ffdshowが使用されるとタスクトレイにビデオデコードとオーディオデコードのアイコンが表示されます。(デフォルト設定の場合)


DXVAの使用
DXVAにはDXVA1とDXVA2がありますが、DXVA2はVistaとWindows 7でのみ使用できます。
これは、DirectX Video Accelerationの略で再生支援機能を使用するためのAPIです。
ffdshowも最近ではH264とVC-1でDXVAを使用できるようになっています。
スタートメニュに追加されたffdshowの中にある「DXVAビデオデコーダの設定」でその設定をすることができます。

DXVAビデオデコーダの設定
H264とVC1を有効にした場合


動画再生時のタスクトレイのffdshowアイコンの表示(左からビデオデコーダ、オーディオデコーダ、Haali Media Splitterの順)
左の画像がDXVA使用時、右の画像がDXVA未使用時です。
DXVA2 h264でデコードされているのがわかります。
DXVA使用時DXVA未使用時

再生時のCPUパフォーマンス
左の画像がDXVA使用時、右の画像が未使用時(マルチスレッド対応デコード)です。
DXVA使用時DXVA未使用時

どちらも大差はありませんでしたが、DXVA未使用にしてマルチスレッド対応のffmpeg-mtを使用したほうが均等に割り振られるためかグラフに凹凸が少ないように思います。