【问题标题】:Render video to Direct3D 9.0c texture将视频渲染到 Direct3D 9.0c 纹理
【发布时间】:2011-11-13 18:16:19
【问题描述】:

我一直在尝试在我的 Direct3D 应用程序中播放视频,并且一直在 DirectShow 的帮助下尝试这样做。我的问题是我找不到如何将帧数据放入纹理中(ISampleGrabber 不会安装)。

有人知道这样做的任何方法或例子吗?

【问题讨论】:

    标签: directx directshow video-processing directx-9 direct3d9


    【解决方案1】:
    1. ISampleGrabber 适用于过去 15 年以上发布的所有 Windows 版本
    2. 查找“Microsoft® DirectX® 9.0 SDK 更新(2004 年 10 月)”,其中包含示例应用程序,它完全符合您的要求:

    Texture3D 示例说明

    在 Microsoft® Direct3D 纹理表面上绘制视频。

    注意此示例不支持更改 示例运行时的监视器。

    路径

    来源:(SDK 根目录)\Samples\C++\DirectShow\Players\Texture3D

    可执行文件:(SDK 根目录)\Samples\C++\DirectShow\Bin\Texture3D.exe

    更新。尽管 Sample Grabber 存在于许多版本的 Windows 中,但在最新版本的操作系统(尤其是 Windows Server 2008)中,它最终与qedit.dll 托管的其他过滤器一起被删除。那些应用程序依赖此 API 的用户应考虑使用旧 SDK 中的 Grabber 示例构建替代品。这同样适用于需要此过滤器的人,因为 Internet 上有很多参考资料以及有关如何使用它来访问媒体流的教程。

    过滤器被无声地移除,没有任何更换。 Microsoft 建议 Media Foundation 是 DirectShow 的替代选项和继任者,但这几乎没有帮助。

    【讨论】:

    • 我有 2010 年 6 月的 SDK,但它不存在。
    • 你必须得到旧的(见答案)才能得到样品。后来从 SDK 中移除了。
    • 我下载了“适用于 Windows Vista 和 .NET Framework 3.0 的 Microsoft Windows SDK 更新”,其中包含我需要的标头。我还找到了the samples online
    • 我在任何地方都找不到Texture3D 示例。但是,我确实找到了Texture3D9 Sample,它在 Windows SDK 版本 6.1 中:microsoft.com/en-us/download/details.aspx?id=24826
    猜你喜欢
    • 1970-01-01
    • 2013-02-24
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多