【问题标题】:Media Foundation external codec supportMedia Foundation 外部编解码器支持
【发布时间】:2017-12-30 07:12:18
【问题描述】:

我使用 Media Foundation API 编写了一个程序,该程序采用 AVI 文件并将其视频样本解码为未压缩的 RGB 帧。

最近,我发现一个包含音频和视频轨道的 AVI 文件,但 Windows Media Player 没有播放视频轨道(正在播放音频)。

我试图用另一个播放器(Gom Player)打开文件,它建议我下载额外的编解码器包:LEAD MJPG/MCMP Video Codec。安装后,WMP 开始解码和播放视频轨道。但在那之后,我再次无法使用 MF API 解码文件。

我的猜测是 Media Foundation 仅限于 Windows 发布的内容。对吗?

另外,是否有一种方法可以告诉 Media Foundation 使用外部安装的编解码器进行解码?

【问题讨论】:

    标签: windows winapi video decoding ms-media-foundation


    【解决方案1】:

    Media Foundation API 提供可扩展性,但 Media Foundation 可接受的编解码器需要提供相应的格式:它们应该可用并注册为 Media Foundation 转换。这种情况很少见,因为 Media Foundation 总体上并不流行,而且大多数可下载的编解码器都有 DirectShow API 接口,或 Video For Windows API 接口,但不是 Media Foundation 的接口。

    如果您有合适的编解码器,Media Foundation 会选择它。

    Windows Media Player 尝试通过 Media Foundation 播放,或者在失败时回退到 DirectShow。这就解释了为什么可下载的编解码器可以修复 Windows Media Player 而不是 Media Foundation。

    【讨论】:

    • 是否有示例代码或示例演示如何使用 DirectShow API 解码媒体文件?
    • Windows SDK 7.1 中有 DirectShow 示例。其中一些也被描述为hereHow To Play a File 可能是一个很好的介绍。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多