ism対応DirectShowフィルタの使い方(Windows版のみ)
Counter : 79563
はじめに
このページに書いてあることは、かなりクリティカルな部分を含んでいます。
最悪、ブルースクリーン発生や、Windowsのハングアップが起こりえることを
了承願います。
内容が理解できない場合、この作業を行わないことを「強く」お勧めします。
フィルタの登録方法(インストール)
以下、「ism_vga_n.ax」はあくまで例です。
ファイル名が違う場合はそれぞれ読み替えてください。
- zipを解凍して出てくる「ism_vga_n.ax」ファイルを、Cドライブ直下のどこかの
ディレクトリにコピーする。
(私からの推奨は「c:\filters」ディレクトリを新規作成し、その中に置く。
半角スペースや全角文字を含むディレクトリだと
うまく動かない可能性があるようです)
- 「管理者権限」でコマンドプロンプトを起動する。
(方法の一例は、ctrl+shiftを押しながら、「cmd.exe」を起動する。
右クリックで「管理者として実行」でも出来る)
- コマンドプロンプトで、コピーしたディレクトリに移動。
(具体的には、「cd /d c:\filters」を実行)
- 「revsvr32 ism_vga_n.ax」を実行。
- 上記画像のように「ism_vga_n.axのDllRegisterServerは成功しました。」
と表示されればOK。「OK」ボタンを押してウィンドウを閉じる。
- コマンドプロンプトを閉じて終了。(「exit」を実行もしくは×ボタンをクリック)
フィルタの解除方法(アンインストール)
- 「管理者権限」でコマンドプロンプトを起動する。
(インストール時と同じ手順です)
- 「revsvr32 /u ism_vga_n.ax」を実行。(「/u」オプションが追加されています)
- 「ism_vga_n.axのDllUnregisterServerは成功しました。」
と表示されればOK。「OK」ボタンを押してウィンドウを閉じる。
- 「del ism_vga_n.ax」を実行し、ファイルを削除する。
- コマンドプロンプトを閉じて終了。
フィルタの使い方
登録後は、カメラデバイスとしてDirectShowデバイス一覧に表示されると思います。
「ism_vga_n.ax」の場合、
「Virtual VGA Camera from ISM no sync」というように表示されます。
各種キャプチャソフトや、Messenger,Skype等のカメラを使うアプリケーション
(ただしDirectShow対応)で、このカメラを指定すれば使える、はずです。
「ism_vga_n.ax」の場合、
画像サイズは640x480で固定、フォーマットもRGB24で固定です。
ismIDも「ism_vga」で固定です。
この辺はプロパティで変更できるようにしたいところですが、
どのようにプログラムすれば可能なのかまだ理解しきれていません。
「ism_vga_n.ax」の場合、名前に「no sync」とあるとおり、同期は取っていません。
フレームレートは極力キャプチャプログラム側で指定されたフレーム
レートに合わせて出力します。(無指定時は30fpsになります)
そして、ismデータが更新されない場合でも、前回と同じ画像が出力されます。
余談ですが、同期を取るバージョンも作ったのですが、現状プログラムが
ハングアップするなどうまく動作しないことが多いので、まだ公開してい
ません。うまく対処する方法が見つかれば良いのですが・・・
作者のぼやき
インストールパッケージなどで、上記の一連の作業を自動化することが出来れば
初心者向けにも配布できると思うんですが、まだやり方が分からない状態です。
また、DirectShow対応のソフトにしか対応していない模様で、
昔のVFW(VideoForWindows)や、最新のMF(Media Foundation)のアプリからは参照
出来ない模様です。VFWは捨てるとしても、MFにはなんとか対応させたいですが、
こちらもやり方が分からない状態で詰まってます。
仮想的なUSBカメラを自前で作るしかないのかなぁ・・・
とりあえずその手について詳しい情報ありましたら、是非教えてくださいっ!(汗)
E-mail address : saibara@big.or.jp