使用Media Foundation解码MPEG1 / 2视频

我正在使用Media Foundation播放视频。在Windows 7上,一些使用Mpeg1 / Mpeg2 PS和Windows Media Player编码的视频可以播放它们,但Media Foundation没有(我试图注册一个存根MPEG1Source,但它仍然不起作用)。我注意到其中一些文件可以使用directshow播放,但不能播放Media Foundation(根本无法打开)。我猜“媒体播放器”不仅仅使用Media Foundation? 是否可以使用Media Foundation播放这些文件?如果不是,媒体播放器如何工作?非常感谢。 附:我已经阅读了Windows SDK并且我注册了一个“假的”mpeg1解码,它显示了一个没有时间码的空白帧。为什么我们需要一个假的mpeg1解码器,如果Windows媒体播放器可以解码它? 这个主题是相对的 为MPEG2传输流构建图形的最佳方法     
已邀请:
Media Foundation没有对MPEG-1或MPEG-2的收件箱支持。请参阅:http://msdn.microsoft.com/en-us/library/dd757927(v = VS.85).aspx Windows Media Player使用各种代码路径,包括DShow,Media Foundation和Windows Media Format SDK,具体取决于源内容。     
我找到了一些关于这个问题的信息,并用假解码器设置了一个MPEG1源。我经历的失败是因为SDK代码中的错误。 关于MPEG1解码器,我想我必须在MF中使用DShow的解码器。 还不知道MediaPlayer是如何工作的。     
在Microsoft SDK安装目录中,转到
Microsoft SDKs -> Windows v7.0 -> Samples -> multimedia -> mediafoundation -> Decoder
,其中包含示例MPEG-1解码器MFT。你可能会发现它很有帮助。     
Windows 8上有新的MPEG-2视频解码器MF滤波器。 http://msdn.microsoft.com/en-us/library/windows/desktop/hh162909(v=vs.85).aspx     

要回复问题请先登录注册