私はC#DirectShow.Netアプリケーションを持っています。他のコンピュータでリリースモードで実行しているかどうかをテストしたいと思います。私のプログラムがwindows sdkとそれが提供するフィルタを組み込んでいない他のマシン上でも動作するようにするにはどうすればいいですか?他のコンピュータでDirectShow.netアプリケーションを実行する方法
dirctshow dllなどを含める必要がありますが、フィルタ自体については何ができますか?
更新: 私はそれを実行する仮想マシンを持っていますが、さらにどのように特定のDirectXフィルタがコンピュータ上にあるかどうかを確認することができますし、それがisntならば、dllをつかんでコードからコンピュータに登録しますか?
編集: 私はDLLを登録した後、自分のプログラムを実行します。それは実行されません、私はグラフスタジオをつかむと私はgraphstudioに私のプログラムのグラフを添付し、フィルタのいずれも接続されていないと私はそれらを手動で接続しようとすると、彼らは接続を拒否する。
EDIT2:
Can you post more details about the scenario you are having problems with?
私はVirtualboxのVMに私の窓に7 32ビットマシンで動作します私のアプリケーションを実行しています。バーチャルボックスはストリーミング目的で私のUSBデバイスにアクセスすることを許可しないので、私はそれに依存するコードをコメントアウトしました。私がそれを実行すると、フィルターは接続されません。私はいくつかのテストを行い、ソースなしでグラフを作り直そうとしましたが、実際に問題が発生する可能性があるので、一緒に接続することはありません。現時点で
OS version?
は、私が使用している32ビットXPのVirtualBox VM
which filters you are using?
を実行しています
Source -> Smart tee (capture) -> GMFBridgeSinkFilter
Smart tee (preview) -> AVI Decompressor -> Video REnderer
GMFBridgeSource -> ffdshow video encoder -> avi mux -> File writer
(ワット)riterいくつかの奇妙な理由で、小文字にする必要があります。 devのマシンは(ワット)riterを持っており、(W)riter
Which filters do you have there that you are not using?
あなたは、私がコードに入れ、に接続するわけではないOSまたはフィルタに標準装備されている意味しますか?
You could also try with the original GraphEdit instead of GraphStudio, and you could debug your application remotely and see where it is failing exactly.
Grapheditは完全なウィンドウズsdkにのみ付属しています。ここで
IMHO、最良の方法は、仮想マシンを使用することです。あなたが期待したパフォーマンスを得ることはできないかもしれませんが、異なる設定とOSバージョンを試すことができます。 – HiperiX
SDKはフィルタをインストールしますか?それが私にとってのニュースです。実際にこれを試しましたか? –
は何を試しましたか?私は7つの異なるウィンドウsdkのバージョンで私の開発マシンと私はdirectshowフィルタを組み込んだアプリケーションを作成しました。アプリケーションを自分の仮想マシンに移動し、対応するDLL(directshowlib、gmfbridge、ffdshowなど)を登録した後に、アプリケーションを移動します。私はアプリケーションを実行しますが、実行されません。私はプログラムを表示するためにgraphstudioをダウンロードし、フィルタのどれも接続されておらず、グラフスタジオでも接続されません。 – Grant