問題タブ [ms-media-foundation]

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.

0 投票する
1 に答える
3110 参照

.net - Windows Media Player 10+ を使用しない WPF でのメディア サポート?

Windows Media Player 10 または 11 なしで Windows Media Foundation を展開することは可能でしょうか?

これが文脈です。企業のエンタープライズ設定で実行されている WPF アプリケーションがあります。WPF では、リッチ メディアをサポートするために Windows Media Foundation が必要です。Windows Media Foundation は、Windows Media Player 10 および 11 を介して配布されます。WMP 10/11 の企業向けリリース スケジュールは、私には待ちきれません。しかし、プレーヤー インフラストラクチャ全体が必要なわけではなく、メディア基盤だけが必要なので、そのコンポーネントだけを展開する方法があるかどうか疑問に思っています。

0 投票する
2 に答える
1768 参照

directshow - DirectShowフィルターをMediaFoundationMFTに移行する簡単な方法

私はいくつかのカスタムDirectShowフィルターを持っています(エンコード/デコンディング/ Mux / Demux用)。

そして、MediaFoundationでMFTとして使用したいと思います。

私は何人かの人々が言うのを聞いた:

「Microsoftは、すべてのDirectShowフィルターがMFTに移行するためにいくつかのコードを追加するだけでよいと主張しています」

実際には、私は迅速な方法があるとは思えません。メソッド、DShowとMediaFoundationの間のAPIが異なるためです。

しかし、誰かが私にこの情報を教えてくれたので、私は尋ねたいと思います:

「これは本当ですか?そしてどうすれば迅速な移行を行うことができますか?」

前もって感謝します。

0 投票する
2 に答える
4321 参照

c# - C# を使用した Microsoft Media Foundation Transform (MFT)?

Win7 用の Microsoft MFT を C# で記述できるかどうか知っている人はいますか? もしそうなら、これで私を助ける本やウェブサイトはありますか.

0 投票する
0 に答える
674 参照

.net - マネージド コード用の Media Foundation TypeLibrary?

マネージド コードで COM としてインポートされるメディア ファンデーション TypeLibrary を生成する方法を知っている人はいますか? C#.Net アプリケーションにインポートできるメディア ファンデーションに関連する dll または tlb ファイルが見つかりませんでした。

0 投票する
3 に答える
8538 参照

c++ - Windows メディア ファンデーションの使用

わかりました、私の新しい仕事は高パフォーマンスのビデオです (Google ストリートビューと映画を考えてみてください) - 大変な作業はすべて組み込みのキャプチャと画像処理ですが、

私は、コンテンツを表示するための新しい MS ビデオ サービス = Windows Media Foundation を見ていました。

誰かが実際にこれを使用していますか?

  • このトピックに関する本はありません。
  • 唯一のドキュメントは、9 か月前の単一のエントリを持つ開発者チームのブログです。
  • com 制御メッセージをスパイして MS API を学習する必要はなくなったと思いました。
  • 同じ古い ActiveX コントロールの別のラッパーですか?
0 投票する
2 に答える
2911 参照

c++ - IMFSourceResolver::CreateObjectFromByteStream の使用

IMFSourceResolver::CreateObjectFromByteStream メソッドを使用して、DRM で保護された WMA ファイルの IMFMediaSource インスタンスを作成しようとしています。Windows SDK の ProtectedPlayback サンプルを遊び場として採用しています。私が達成したい最終目標は、私が作成する IMFByteStream のカスタム実装によって再生プロセスが供給されるようにすることです。

しかし、単純な IMFByteStream の実装も、MFCreateFile 関数によって返された実装も機能しません。CreateObjectFromByteStream に渡されると、それぞれが MF_E_UNSUPPORTED_BYTESTREAM_TYPE の HRESULT を返します。

DRM で保護された WMA ファイルを使用して、サンプル プロジェクトをデフォルトの状態 (ファイルで CreateObjectFromUrl を使用) でテストしたところ、正常に動作しました。ファイルは破損しておらず、ライセンスは有効です。このコードを CreateObjectFromByteStream( MFCreateFile() ) に置き換えてもうまくいかない理由がわかりません。カスタム バイト ストリームの使用や、リゾルバーがバイト ストリーム インスタンスに期待することについて説明しているドキュメントはほとんど見つかりませんでした。

誰かがこのようなことを経験したり、私が間違っていることを考えたりした場合は、いくつかの指針をいただければ幸いです。

私が使用しているコードは次のとおりです。

基本的にはサンプルと同じなので全部は載せず、この部分だけ変えています。

ありがとう、

スティーブ

0 投票する
2 に答える
1488 参照

directshow - DirectShow の外で DirectShow フィルターを使用していますか?

現在、Windows Media Foundation を扱っています。ただし、Microsoft H.264 デコーダーに問題があり、カスタム フォーマット用のデコーダーが欠落しているため、CLSID を使用して直接 DirectShow デコーダーをインスタンス化し、その周りに IMFTransform を公開するプロキシを構築することが可能かどうかを知りたいです。 Media Foundation のデコーダーを取得します。だからここに私の質問があります:

Directshow フィルター (できればデコーダー) を直接インスタンス化し、それらをデコードに使用して (つまり、いくつかの圧縮フレームを配置し、非圧縮フレームを取得して) MFT を作成できますか?

CLSID を使用してフィルター自体をインスタンス化する方法を知っています。ただし、実際のデコード機能の使用方法はわかりません。

どんなアイデアでも、ヒントでも、リンクでも何でも構いません。ありがとう、

J.

0 投票する
2 に答える
5800 参照

.net - アンマネージ コードからの System.AccessViolationException?

私は、マネージ コードによって消費されるメディア ファンデーション フレームワークを介して C++/CLI でいくつかの基本的なオーディオ プレーヤー機能を実装するこのライブラリを作成しています。オーディオの再生、停止、一時停止などは問題なくできます。Media Foundation に慣れていない人のために説明すると、メディア セッションは、通知用に処理できるイベントを投稿します。これは、セッション オブジェクトで IMFAsyncCallback オブジェクトを使用して BeginGetEvent を呼び出すことによって行われます。IMFAsyncCallback は、イベントを処理するために実装する必要があるメソッド Invoke(IMFAsyncResult) を定義します。イベントが発生すると、invoke メソッドは、イベント情報を照会できる IMFAsyncResult オブジェクトを使用して作業スレッド上のセッション オブジェクトによって呼び出されます。この結果オブジェクトは、イベント スレッドによって作成および所有されます。

私の Invoke の実装では、渡された IMFAsyncResult オブジェクトを使用して何か (QueryInterface の呼び出しなどを含む) を実行しようとすると、System.AccessViolationException が発生します。IMFAsyncCallback を実装したオブジェクトは、CRT ヒープに割り当てられた基本的な C++ クラス (管理されていない) であり、イベントは CRT ヒープに割り当てられたセッション オブジェクトが所有するスレッドに投稿されます。

  1. この例外の原因は何ですか?

  2. 従来の C++ で実装されたコードから .NET マネージ例外がスローされるのはなぜですか? 混合モードのアセンブリを使用すると、まさにそれが起こりますか?

0 投票する
2 に答える
8288 参照

ms-media-foundation - Microsoft Media Foundation - h264 サンプルのデコード

Microsoft Media Foundation のサンプル (MFCaptureToFile) を使用して、Web カメラから H264 フレームをキャプチャし、ファイルに書き込みました。

IMFTransform を使用して、キャプチャしたフレームをデコードし、下線付きの画像 (YUV、BMP など) を取得しようとしています。

ただし、ProcessInput メソッドは MF_E_NOTACCEPTING を返さず、ProcessOutput メソッドは常に MF_E_TRANSFORM_NEED_MORE_INPUT を返します。

私は基本的にすべてのフレームを読み取り、その上で ProcessInput を呼び出します。

何か案は?誰かが MFCaptureToFile サンプルを変更して、その方法を教えてもらえますか? 私はすべての処理を CCapture::OnReadSample の下で行っています。

どんな助けでも大歓迎です!

そうです