問題タブ [graphedit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
directshow - DirectShowでMatroskaMuxerでSampleGrabberを使用する方法は?
MKVファイルを書くための簡単なグラフを作成しました。しかし、私はファイルライターを使いたくありません。SampleGabberを使用し、簡単なプログラムを使用してストリームを取得したいと思います。問題は、Matroska muxer以外からデータを取得することです!(どうすればよいですか?
(出典:narod.ru)
だから私の質問は、DirectShowでMatroskaMuxerでSampleGrabberを使用する方法ですか?
directshow - DirectShow Filter Graph Editor にリモート グラフが表示されない
DirectShow Filter Graph Editor からリモート グラフへの接続に問題があります。Direct Show Graph を作成するアプリケーションを実行すると、Windows XP マシンではグラフがリモート グラフのリストに表示されますが、Windows 7 (x64) マシンではリモート グラフのリストが空です。proppage.dll を登録し、directshowspy.dll も登録しましたが、まだ結果がありません。何か案は?
c++ - カスタム DirectShow フィルターの使用 (DLL、登録済み)
小さな変換フィルター (TransInPlaceFilter 基本クラスから派生) を作成し、完全に C++ でコード化された Directshow グラフで適切に機能するように管理しました。基本的に、MSDNで説明されている最初の 5 つの手順と、6 番目の手順の最後の部分 (アプリケーション内でフィルターを直接使用するため) に従いました。
多くの理由 (GraphEdit でフィルターを使用できるなど) により、そのフィルターを DLL にエクスポートして登録する必要があります。
「CreateInstance」メソッドの設定、CFactoryTemplate クラス、フィルター/ピンの説明 (AMOVIESETUP_FILTER、AMOVIESETUP_PIN、AMOVIESETUP_MEDIA)、関数の登録/登録解除、最後に DLLmain/entrypointの手順を実行しようとしています。
コードは正常にコンパイルされ、Regsvr32 を使用して問題なく登録されているように見える DLL を提供します。
しかし、その後、フィルターを使用できません:
- GraphEdit のリストに表示されますが、挿入しようとすると失敗します: 0x800401f9 ("Error in DLL")。
- C++ で作成しようとすると (
pCustomFilter.CoCreateInstance(CLSID_Custom)
正しい GUID を定義した後に を使用)、エラー 0x80040154 (REGDB_E_CLASSNOTREG) が発生します。
私はここでかなり混乱しています。DLL/登録コードで何かを見逃していませんか? 使用しているコードのほとんどを投稿しています。
どんな助けでも大歓迎です。
c++ - カスタム Directshow フィルターのプロパティ ページ
カスタム DirectShow 変換フィルターを作成して登録し、DLL にエクスポートすることができました。GraphEdit と C++ テスト プログラムの両方で正しく動作するようになりました。私の次の目標は、テスト アプリまたは GraphEdit のプロパティ ページから、フィルターのメイン パラメーターを制御するカスタム インターフェイスを作成することです。
これらの指示に従って、カスタム インターフェイスが C++ テスト プログラムから適切に動作するようになりました。ただし、プロパティ ページで問題が発生しています。GraphEdit で「要求されたプロパティ ページを表示できませんでした」というエラー メッセージが表示され続けます。
デバッグ中に、(CBasePropertyPage から派生したカスタム プロパティ ページ クラスで) 呼び出される唯一のメソッドがOnConnect()
and OnDisconnect()
- であることがわかりました。これら 2 つのメソッドの間で、いくつかの呼び出しが CBasePropertyPage メソッド (基本クラスの cprop.cpp ファイル) に対して行われ、次のようになるまですべてが正常に見えます。
STDMETHODIMP CBasePropertyPage::Activate(HWND hwndParent, LPCRECT pRect, BOOL fModal)
より正確には
m_hwnd = CreateDialogParam(g_hInst, MAKEINTRESOURCE(m_DialogId), hwndParent, DialogProc, (LPARAM) this);
私は常にm_hwnd
0 になるため、メソッドはエラーを返します。GetLastError()
この命令の直後に追加しようとしましたが、常に 0 が返され、エラーは発生しません。さらに、のすべてのパラメータはCreateDialogParam()
適切に初期化されているように見えます...
どんな助けでも大歓迎です!
編集:
今のところ、少なくとも実用的な例を得るために、 MSDN チュートリアルで説明されているものと同じリソース/テンプレートを使用しました。
---編集 2--- :
もう少しデバッグしながら、Dialog リソースからすべてのコントロール (ボタン、スクローラー) を削除してみました。その後...すべてが機能します。CreateDialogParam()
正しい値を返し、私のクラスOnActivate()
が呼び出されます。最終的に、GraphEdit に「フィルター プロパティ」ページが表示されますが、空です (既定のダイアログ ウィンドウを除く)。
しかし、MF コマンド ボタンなどのコントロールを使用するとすぐに、以前の問題が発生します。
DirectShow の基本クラスと私が使用しているコントロールとの間に何らかの非互換性はありますか? (もしそうなら、提供されたサンプルで何も言及されていないのはなぜですか?) プロパティ ページにコントロールを追加する簡単な方法はありますか?
(私は間違いなく、GUI と Win32 コントロールの専門家ではありません...)
objective-c - DirectShow、GraphEdit に相当する Mac OS X
Mac OS X は初めてで、Windows には精通しています。Windows には、DirectShow、多数の組み込みフィルター、COM プログラミング、および GraphEdit があり、コードで作成したグラフの非常に高速なプロトタイピングとスヌーピングを行うことができます。
カメラ、ウェブカメラ、マイク、カラー スペース、ファイル、分割、同期、レンダリング、ファイルの読み取り、ファイルの保存、および DirecShow で当然のことと思っている多くのことを Mac で操作しようとしています。ライブの申し込みをまとめるとき。Mac 側では、これまでのところ何も見つかりませんでした。どこを見ればいいのかわからないか、Mac のメディアの扱いやすさの評判と、そこに侵入してメディア操作の構成要素をいじり始める一貫したプログラム機能を結び付けるのに最も苦労しています。
gstreamer や QT 用のライブラリを使用するという弱い提案を見たことがありますが、これが Apple の進むべき道であるとは信じられません。そして、QuickTime のドキュメントに出くわしましたが、トランジション、スプライト、ブロードキャストなどを行うつもりはありません...
DirectShow で頭脳を訓練したということは、Apple が DirectShow のような機能を提供することについてどのように考えているかさえ知らないということです。つまり、適切なキーワードがわからず、どこを見ればいいのかもわかりません。本?いくつか買った。これで、あなたの妹の結婚式のビデオを編集できるコードを書くことができるかもしれません (このトピックについてうまく進められない場合、次はあなたにとってどのような価値があるかを尋ねることになるかもしれません)。そして、それらをつなぎ合わせる方法...何もありません。提案?
wpf - 仮想カメラ(e2eVcamダイレクトショーフィルターを使用)がSkypeまたはLyncで正しく表示されないのはなぜですか?
私はe2eSoftのVcamSDKを使用して仮想カムを作成し、WPFアプリケーションでプログラムによってその上に画像オーバーレイを配置しています。
GraphEdit.exeを使用してグラフを表示すると、すべてが正常に機能しているようです。しかし、Lyncは私がプッシュしたビデオや画像を表示せず、SkypeはGraphEditから見たWebカメラストリームの半分しか表示しません。Lyncは、ビデオデバイスの[設定]タブにストリームを完全に表示できますが、ビデオ会話には表示できず、画面が空白になります。
コードビハインドにオーバーレイとして画像をプッシュしているだけで、これらの両方で機能するようには見えません。仮想ウェブカメラの解像度は1280x1024で、オーバーレイとしてプッシュしている画像も同じです。
これがGraphEditの私のグラフです。
私はこれらの主題についてあまり経験がないので、どこから始めればよいのかさえわかりません。どんな助けでも非常にありがたいです。ありがとう!
directshow - GraphEdit と GraphStudio で異なるフィルターが表示されるのはなぜですか
動画の処理に GraphEdit と GraphStudio の両方を使用しています。ただし、GraphEdit を介してのみ表示されるフィルターや、その逆のフィルターがいくつかあります。例: ffdshow は GraphStudio で使用できますが、GraphEdit では使用できません。MainConcept フィルターは、GrpahEdit で表示できますが、GraphStudio では使用できません。
誰もこの問題に遭遇したことがありますか?
アリザ
directshow - DirectShowDMOカラーコンバーター
graphedit(graphstudio、およびコード)でColorConverterDMOオブジェクトを接続する際に問題が発生しました。1台のマシンで動作し、grapheditで緑色に変わりますが、そのマシンでプログラムをデモする必要がありますが、接続されません。私はSDK、インストールを見てきました、そしてマシンは私のマシンを模倣するはずです。
また、自分のマシンでフィルターを再登録できることに気付きましたが、他のマシンでは失敗します。
犯人が何であるかについてのアイデアはありますか?
directshow - graphedit と ffdshow を使用して avi を mp4 に変換するにはどうすればよいですか?
私は、AVI ソース ファイルを Quicktime で再生できる mp4 ファイルに変換する必要がある directshow に基づくアプリケーションに取り組んでいます。
私の Web 調査によると、このタスクを実行する最も一般的な方法である 3ivx が商用化されているため (そして私の予算はかなり限られています)、ffdshow に基づくソリューションを使用することにしました。
オーディオ エンコーディングに LAME を使用し、多重化に GDCL MPEG 4 Multiplexor を使用して、graphedit で簡単なグラフを作成しましたが、Quicktime でムービーを再生しようとするたびに、「サンプルの説明」が間違っていることを示すエラーが表示されます。Windows Media Player での再生は機能していますが、音が出ません。
私の推測では、オーディオ エンコーディングを追加しようとするたびに、graphedit がエンコーディング ユニットの後にデコーダを自動的に追加するため、マルチプレクサに問題があると思われます (画像リンクを参照)。
http://imageshack.us/photo/my-images/39/graphjrgr.png/
ffdshow をより良い方法で統合する方法、代替の mp4 マルチプレクサーのヒント、または完全に異なるアプローチに関するアイデアを歓迎します!