使用 Media Foundation 解码 MPEG1/2 视频

发布于 2024-10-27 17:00:59 字数 495 浏览 2 评论 0原文

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

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

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

这个话题是相对于 构建 MPEG2 传输流图的最佳方法

I am using Media Foundation to play videos. On windows 7 some videos encoded with Mpeg1/Mpeg2 PS and Windows Media Player can play them, but Media Foundation does not(I tried to register a stub MPEG1Source but it still does not work). I noticed some of these files could be played with directshow but not Media foundation(can not be open at all). I guess "media player" does not use Media Foundation only?

Is it possible to use Media Foundation to play these file? If it is not, how does Media player work? Thanks a lot.

P.S. I have read the windows SDK and I registered a "fake" mpeg1 decode and it shows a blank frame with no time code. Why we need a fake mpeg1 decoder if windows media player can decode it?

This topic is relative to
best way to build graph for MPEG2 transport stream

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

梦醒灬来后我 2024-11-03 17:00:59

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

Media Foundation does not have inbox support for MPEG-1 or MPEG-2. See: http://msdn.microsoft.com/en-us/library/dd757927(v=VS.85).aspx

Windows Media Player uses various code paths, including DShow, Media Foundation, and Windows Media Format SDK, depending on the source content.

离旧人 2024-11-03 17:00:59

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

I have found some information about this question and set up a MPEG1 source with the fake decoder. The failure I've been through is because bugs in SDK's code.
About the MPEG1 decoder, I guess I have to use DShow's decoder in MF.
Still have no idea about how MediaPlayer works.

累赘 2024-11-03 17:00:59

在您的 Microsoft SDK 安装目录中,转到 Microsoft SDKs -> Windows v7.0->样品->多媒体->媒体基金会 ->解码器,其中包含示例 MPEG-1 解码器 MFT。您可能会发现它很有帮助。

In your Microsoft SDK installation directory, go to Microsoft SDKs -> Windows v7.0 -> Samples -> multimedia -> mediafoundation -> Decoder which contains an example MPEG-1 Decoder MFT. You might find it helpful.

撑一把青伞 2024-11-03 17:00:59

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

There is new MPEG-2 Video Decoder MF filter at Windows 8.
http://msdn.microsoft.com/en-us/library/windows/desktop/hh162909(v=vs.85).aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文