2015-11-05 92 views
16

微软媒体基金会(MF)是在Windows Vista中作为DirectShow的继任者推出的。我大多忽略它,但它有一些很难在DirectShow中实现的功能(如解码WMV AC-1文件)。媒体基金会也是一个更现代化的API,因此做出转换似乎是合乎逻辑的。Microsoft Media Foundation的状态如何?

然而,在线教学资源和官方文档似乎大大缺乏。只有1本书涉及该主题(由微软出版),它不再适用于正常价格。 (人们收取500美元,或更多的二手版本。)

据我所知,没有其他书籍。虽然来自微软的其他技术通常由多个发布者在多本书中报道。

自2011年以来,官方媒体基金会博客尚未更新。在活动的两年中,只写了10篇技术文章,其中5篇涉及错误日志记录/跟踪而不是实际功能。

StackOverflow标记ms-media-foundation仅用于328个问题,其中142个未答复。相比之下,有1641个DirectShow问题,其中只有496个没有答案。

那么微软媒体基金会发生了什么?新的API会不会取代并取代DirectShow,甚至会让微软舍弃MF,转而回归陈旧和生锈的(值得信赖的)DirectShow。或者是否有另一个非微软框架已经接管?

+0

切换到MF的唯一真正动机是Microsoft继续在较新的OS版本中删除对DirectShow的传统支持。否则MF毫无意义:更大的开销,复杂的,我们已经看到不推荐的部分,新版本不包括以前的操作系统。 DirectShow具有其灵活性和可扩展性,可用的工具和代码以及教程 - 仍然是自然而然的选择。 –

+0

媒体基金会的一个优势是它们包含了开箱即用的h264编码器和解码器。这对我写作商业软件的人来说似乎是一大优势。 正如Roman所说,Media Foundation的某些功能仅在Windows 8+上可用,这是一个主要问题,因为这会让Windows 7(截至2016年10月已安装的操作系统基数的48%)黯然失色。 – SteveS

+0

关于Media Foundation中的H.264编解码器,[MSDN上的这篇文章](https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/b093d14a-7c72-4e56-9ca9-83e4ce861217/ do-mediafoundations-h264-encoding-require-royalty?forum = mediafoundationdevelopment)提到了一些授权方面。 –

回答

15

首先,我不知道答案,是一个花了太长时间试图让基本Media Foundation方案工作的人;有时这种感觉更像是寻找一些长期失密的秘密经文而不是编程。

我怀疑Microsoft确实希望使MF成为Windows平台的标准媒体API,并且最好的迹象是Windows Universal App Samples,其中有7个“mfapi.h”实例,但是“dshow.h”为零实例。此外,相对较新的WPF MediaCapture和MediaElement控件也会挂钩到媒体基础API中,因此似乎可以肯定地说,微软正在使用MF来代替DirectShow。

哇我明白你的意思了关于Polinger's MF book!我有这本书(我现在很快就会以这个价格出售),并且可以向你保证它绝对不值得。尽管重新阅读了很多次,但我从未真正发现过很多帮助。这与在线文档非常相似,因为它坚持少量的特定场景(实际上本书中的许多章节只是重新打印SDK示例),只要您需要在您之外做某些事情是你自己的。

关于官方的MF博客,MSDN论坛上有一条线索抱怨着事情,微软的哪一个人回应说他们已经改变了博客平台(如果他们可以放一张便条那)。显然,许多微软的开发者仍然在写博客。这似乎是最“活跃”的one

更新:如果有人因为Polinger图书参考笔记而在此处画图,可以从here(原书中引用的链接是http://go.microsoft.com/FWLink/?Linkid=229072,它在撰写本文时重定向到上述页面)。

+0

波林格书的价格显示了绝望的人如何获得信息。感谢您的新博客链接。它不是特别活跃,但至少我有更多的样品可以使用。为MF找到文档是如此令人沮丧。我有这样的想法,它可以解决我有很多问题。 (WMV解码,视频翻转,颜色转换)。但样品(或任何远程相关的东西,我通常很擅长自己搞清楚)只是不存在...... :( –

+2

@RoyT。MF在4个不同的场景..这是专家领土...在一个侧面说明我确实在https://github.com/sipsorcery/mediafoundationsamples上建立了一个存储库来存放我自己的MF探索(大多数样本都是粗略的作品,而不是教学内容);如果您的特定用例与其中一个他们可能会帮助的样品可能不会, – sipwiz

+0

谢谢!这些样品会有很大的帮助,我们说话时将它们转发给同事! –

2

对我来说,媒体基金会是一个非常好的API来做多媒体编程。

我可以指责的是,媒体基金会的发布不适用于目前世界上最流行的操作系统Windows 7。

媒体基金会有很多竞争对手(DirectShow,Ffmpeg,Gstreamer等)。所以,更多的选择,少developpers,少教程等等...

我尝试推动这个API,因为我可以,所以这里是我的媒体基金会的工作:MFNode

我涵盖了很多的场景,你必须检查源代码才能学习。

你会发现:

  • 音频/视频播放器(win32)中
  • 定制媒体会话
  • 序源
  • 音频/视频拍摄
  • 屏幕捕获
  • Kinect的V1捕获
  • 波形音频混合器
  • HTTP流(Winsock的)
  • JPEG编码(Gdiplus)
  • DXVA2 TECHNOLOGIE
  • CUDA解码
  • DIRECTX9渲染器和着色
  • COM TECHNOLOGIE
  • 不同种类mediafoundation源,接收器和变换( mpeg2,flv,a52,vp6 ...)
  • mp3 to wave transcoder
-1

我怀疑MediaFoundation没有被使用的一个原因是它限制了你只能以WMV格式编码,并且也限制了你的解码能力(你可以解码更多的不仅仅是WMV,而且甚至是来自Win 3.1天的旧VFW允许你选择一个你选择的压缩机)

甚至更​​老更旧的VFW(视频窗口)比它们最新最简单,并允许多个压缩机 - 所以我想知道如果MediaFoundation会永远更新以允许更多的压缩器和解压缩器(或编码器和解码器)比他们提供的非常有限的选择。虽然接口的MediaFoundation API看起来仍然很低,并且需要大量的锅炉板代码才能获得基本的功能 - 对于WMV制作非常有用,因为它们为您提供了大量工具 - 但是,有点难用于完成基本任务(最好是下载API的包装,这让我感到惊讶,并不存在很多......这些API并不像你想像的那么受欢迎)。

相关问题