1

场景是这样的:我的 Windows 客户端应用程序以自定义方式(专有协议)从网络源获取 H264 编码的帧,没有容器。帧的格式是已知的。我需要解码帧并显示视频。要求在高清流媒体期间播放完美无缺,但在其他场景中可以选择低延迟。

目前,我使用 ffmpeg 的 libavcodec 对帧进行解码,然后使用 StretchBlt 手动将它们显示在屏幕上。我们正在考虑迁移到 Media Foundation,但我不清楚 - 是否有可能拥有不使用容器的源?如果是这样,我需要创建一个自定义的吗?

也欢迎使用 Media Foundation 的替代方案。我目前使用的方法的主要问题是性能不够好,尤其是对于高清视频。

4

1 回答 1

1

我没有看到您提到您特别需要或什么Media FoundationAPI,所以我建议DirectShow您可以使用以下方法:

  • 自定义源,请参阅推送源过滤器示例
  • H.264 解码器,配备 Windows 7(类似于 Media Foundation)或第三方(在几个之间选择)
  • 视频渲染器,例如 EVR(与 Media Foundation 共享)或更早版本
于 2011-12-07T15:31:26.040 回答