gpt4 book ai didi

c++ - 将 DirectShow 与 Direct2D 结合使用

转载 作者:行者123 更新时间:2023-12-03 06:53:34 25 4
gpt4 key购买 nike

我有一个仅限 Windows 的 Direct2D 应用程序,我想为过场动画实现一个视频播放系统。这些文件是 mp4,但如果需要,可以更改格式。

似乎 DirectShow 是在 Windows 上呈现视频/音频的推荐方式。

现在如何让 DirectShow 将视频帧渲染到我的 Direct2D 渲染目标?

VMR-9 过滤器看起来是最佳途径,但我似乎找不到将它集成到我的应用程序中的优雅方式

最佳答案

Windows 中没有 Direct2D/DirectShow 互操作层。为了适应这两种技术,您必须以一种相当低效的方式在 API 之间复制数据(这仍然需要一些时间来开发适应性)。

对于 H.264/HEVC MP4 视频文件,您最好使用 Media Foundation 来读取和解码帧,然后将它们加载到 Direct2D 位图中并在您的应用程序中显示。在性能方面,可以通过 GPU 以合理的成本和合理的开发工作将视频帧传输到 Direct2D 位图,但即使您走捷径并进行粗略和低效的集成,它也将与 DirectShow 相提并论。

我建议首先使用 Media Foundation 查看和解码视频帧 Source Reader API .熟悉拟合技术后,您将采取下一步并通过使用 GPU 容量和 interop between Direct3D and Direct2D 优化传输。 .

关于c++ - 将 DirectShow 与 Direct2D 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64633811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com