【问题标题】:Video display in WPF and DirectShowWPF 和 DirectShow 中的视频显示
【发布时间】:2014-06-05 22:03:29
【问题描述】:

这是现实世界中那些混乱的问题之一。我有一个设备可以提供两个 1920 x 1080 @ 30 FPS 的视频流。我自然有不受管理的视频设备的文档和 SDK。它支持 GPUDirect。为了我们的目的,我们已经测试了一个 SDK,它是一个 SharpDX/SlimDX/DirectShow.Net 类型的包装器,基本上围绕 DirectShow。许可法律问题可能会阻止使用此 SDK。作为这个世界的新手,我正在尝试拼凑一个替代解决方案。

问题是我的示例显示它们在表面中获取帧缓冲区并将其应用于过滤器的输入引脚。之后就是一个谜。我在 WPF 窗口中看到视频,可以覆盖文本等。DirectShow 是显示流视频的最佳或最直接的方式,还是我会发现使用 DirectX 和使用 SharpDX 的着色器更容易?

我知道这个问题本质上是广泛的,但我相信还有许多其他人面临着这无数的工具,但在这个图形世界中没有足够的经验来做出最佳选择,并期待那些以前做过的人将我们推向正确的方向。

【问题讨论】:

    标签: wpf video directshow directshow.net sharpdx


    【解决方案1】:

    基于意见的问题基本上被认为是题外话,所以我跳过了那部分,除此之外,

    DirectShow 和 DirectX 仅在显示视频时协同工作。 Video Mixing Renderer 9Enhanced Video Renderer 组件正在使用 Direct3D 来呈现视频。也就是说,您应该选择最适合您的:您要么直接使用 DirectX,要么使用 DirectShow 的“门”到 Direct3D。

    然后是 DirectShow 本身,当您有一个作为 DirectShow 过滤器接口的源时,您通常会使用它,或者您需要应用其他 DirectShow 过滤器进行处理,或者您想要同步视频和音频,或者您有充分的理由在使用可用组件方面使用 DirectShow 的功能。如果您有来自非 DirectShow 源的视频源,那么您需要将其传送到非 DirectShow 目标,那么您可能更愿意根本不使用 DirectShow。 DirectShow 和 Media Foundation 是视频流的主要 API,您提到的只是包装器。

    【讨论】:

    • 谢谢你,罗曼。如果我理解,那么 DirectShow 为我提供了混合、渲染、音频等。如果您愿意,可以使用更高级别的功能。 DirectX 可以说是较低级别的。为了完成我需要完成的事情,我可以使用较低级别的 API 或较高级别的 API。实际上我可以同时使用两者。这是视情况而定的。我想在我的特殊情况下,答案是两者兼而有之。
    猜你喜欢
    • 2016-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    相关资源
    最近更新 更多