Microsoft Media Foundation(MF)は、Windows VistaのDirectShowの後継として導入されました。私はほとんど無視しましたが、DirectShowで実装するのが難しいいくつかの機能(WMV AC-1ファイルのデコードなど)があります。 Media Foundationもより近代的なAPIであるため、切り替えを行うのは理にかなっているようです。
ただし、オンラインの教育リソースと公式のドキュメントは非常に不足しているようです。このトピック(Microsoftが発行)を扱った本は1冊しかなく、通常の価格では入手できません。 (中古品の場合、人々は500ドル以上を請求します。)
私が見つけることができる限り、他の本はありません。マイクロソフトの他のテクニックは通常、複数の出版社による複数の書籍でカバーされています。
Media Foundationの公式ブログは2011年以降更新されていません。この2年間で活動を開始した2年間で書かれた技術記事は10件のみで、そのうち5件は実際の機能ではなくエラーログ/トレースに関するものです。
StackOverflowタグのms-media-foundationは328の質問でのみ使用され、そのうち142は未回答です。対照的に、DirectShowの質問は1641件あり、そのうち496件しか未回答です。
では、Microsoft Media Foundationはどうなったのでしょうか。新しいAPIがリリースされてDirectShowに置き換わるか、MicrosoftがMFを見捨てて、古くて錆びた(信頼できる)DirectShowに戻ることを支持するでしょうか。それとも、Microsoft以外のフレームワークが引き継いだのでしょうか?
まず、私は答えを知りません。そして、基本的なMedia Foundationのシナリオを機能させるために、あまりにも長い時間を費やしている人です。時にはそれは、プログラミングよりも長い間失われていた秘密の経典を探す探求のように感じられます。
私の疑いは、MicrosoftがMFをWindowsプラットフォームの標準メディアAPIにしたいと考えていることであり、おそらく最も適切な表示は Windows Universal App Samples で、「mfapi.h」のインスタンスが7つありますが、インスタンスはゼロです。 「dshow.h」の。また、比較的新しいWPF MediaCaptureおよびMediaElementコントロールはMedia Foundation APIにフックするため、すべての新しい作業でMicrosoftがDirectShowではなくMFを使用していると言っても安全だと思われます。
うわー、あなたが何を言っているのかわかります PolingerのMF本 !私はその本を手に入れました(これはまもなくその価格で販売されます)。それだけの価値がないことは間違いありません。何度も読み直しても、あまり役に立たなかった。これは、少数の特定のシナリオ(実際には、本の多くの章ではSDKサンプルを再印刷するだけです)にこだわっていて、それらの外側で何かを行う必要があるとすぐに、オンラインドキュメントとほとんど同じです。自分でです。
公式のMFブログに関しては、MSDNフォーラムにスレッドがあり、Microsoftのメンバーの1人がブログプラットフォームを切り替えたと回答しました(明らかに、それを示すメモを付けておけばいいでしょう)。どうやら、多くのMicrosoft MF開発者がまだブログを書いています。これが最も「アクティブ」なようです one 。
更新:Polingerの本の参照のために誰かが偶然ここに引き寄せられた場合、コンパニオンコードは here からダウンロードできることに注意してください(本に引用されている元のリンクは http:// goです) .Microsoft.com/FWLink /?Linkid = 229072 執筆時点では、前述のページにリダイレクトされます)。
私にとって、Media Foundationはマルチメディアプログラミングを実行するための非常に素晴らしいAPIです。
私が非難できるのは、Media FoundationのリリースはWindows 7には適用されないことです。現在、世界で最も人気のあるOSです。
Media Foundationには多くの競合他社(DirectShow、Ffmpeg、Gstreamerなど)があります。したがって、選択肢が増え、開発者が少なくなり、チュートリアルが少なくなります...
私はできる限りこのAPIを宣伝しようとしているので、Media Foundationでの私の仕事は次のとおりです: MFNode
私は多くのシナリオをカバーし、あなたは学ぶためにソースコードをチェックする必要があります。
見つけるだろう :
[〜#〜]編集[〜#〜]
MediaFoundationのコードはこちら: github mofo7777