2

我正在使用 Media Foundation 播放视频。在 Windows 7 上,一些用 Mpeg1/Mpeg2 PS 和 Windows Media Player 编码的视频可以播放它们,但 Media Foundation 不能(我尝试注册一个存根 MPEG1Source,但它仍然无法正常工作)。我注意到其中一些文件可以用 directshow 播放,但不能用 Media Foundation 播放(根本无法打开)。我猜“媒体播放器”不只使用媒体基金会?

是否可以使用 Media Foundation 播放这些文件?如果不是,媒体播放器如何工作?非常感谢。

PS我已经阅读了windows SDK并注册了一个“假”mpeg1解码,它显示了一个没有时间码的空白帧。如果 windows 媒体播放器可以解码,为什么我们需要一个假的 mpeg1 解码器?

本主题与 为 MPEG2 传输流构建图形的最佳方法有关

4

4 回答 4

2

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,具体取决于源内容。

于 2011-04-17T17:39:29.423 回答
0

我找到了一些关于这个问题的信息,并用假解码器设置了一个 MPEG1 源。我所经历的失败是因为 SDK 代码中的错误。关于MPEG1解码器,我想我必须在MF中使用DShow的解码器。仍然不知道 MediaPlayer 是如何工作的。

于 2011-04-02T07:06:25.497 回答
0

在您的 Microsoft SDK 安装目录中,转到Microsoft SDKs -> Windows v7.0 -> Samples -> multimedia -> mediafoundation -> Decoder包含示例 MPEG-1 解码器 MFT 的目录。您可能会发现它很有帮助。

于 2011-12-28T12:40:40.217 回答
0

Windows 8 中有新的 MPEG-2 视频解码器 MF 过滤器。 http://msdn.microsoft.com/en-us/library/windows/desktop/hh162909(v=vs.85).aspx

于 2012-12-04T07:53:51.080 回答