问题标签 [directshow.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3046 浏览

c# - directshow.net 网络摄像头覆盖透明面板

我正在尝试使用网络摄像头为徽章拍照。为此,我使用了 directshow.net 库和示例,这为我提供了一个 .NET 中的网络摄像头预览屏幕,按照 DxSnap 示例呈现在图片框中。我现在希望用一个可移动且可调整大小(锁定纵横比)的矩形覆盖它,以便最终用户将其拖到人身上以在适当的点从网络摄像头拍摄图像。所以它看起来像这样:

示例图像

为此,我认为没问题,将网络摄像头源放入图片框中,我将用透明面板或相框覆盖它,并使用普通的 .NET 代码在其中制作一个矩形。如果我覆盖一个普通面板,它会按预期显示在 directshow 网络摄像头输出上方。但是,如果我使用这个技巧来实现透明面板或图片框:

不幸的是,它出现在 directshow 输出下方。有没有一种简单的方法来解决这个问题或替代方法。如果可以避免的话,我宁愿不要深入研究 directshow.net,我认为这是避免它的简单方法。

0 投票
3 回答
28972 浏览

c# - 使用 DirectShow.NET 从网络摄像头捕获帧

我是 DirectShow 的新手,所以我不太了解这个库的某些部分。我已经看到了示例 DxSnap,但我需要在不预览的情况下捕获帧,以进行进一步处理。我该怎么做?

0 投票
1 回答
507 浏览

directshow - DirectShow DMO 颜色转换器

我在graphedit(graphstudio和代码)中连接颜色转换器DMO对象时遇到问题。它在一台机器上工作并在graphedit中变成绿色,但是在机器上我必须演示它的程序将无法连接!我查看了 sdks,安装,并且机器应该模仿我的机器。

我还注意到我可以使用 regsvr 在我的机器上重新注册过滤器,但是它在另一台机器上失败了。

关于罪魁祸首可能是什么的任何想法?

0 投票
1 回答
787 浏览

wpf - Disable filters which MediaElement uses

Is it possible to disable filters which WPF's MediaElement is allowed to use?

I am disabling specific filters through IAMPluginControl using DirectShow.NET.

I do this in the constructor of a video control, prior to calling InitializeComponent(). pluginControl indicates that the filters are in fact disabled, but this doesn't seem to affect to graph of MediaElement.

An important note is I can't see the graph explicitly. I am only guessing the graph is still using DirectVobSub as this should give a noticeable different visible result.

0 投票
1 回答
7995 浏览

c# - 如何使用 DirectShow NET 捕获音频和视频?

我正在尝试学习 C# 网络。因为我已经知道 OO PHP 一些 Java 和 C++(由于手动内存处理,我从未真正使用过)我想我将从一些有用的东西开始,而不是另一本充满人为问题的书。我在考虑简单的房屋监控。
我做了一些谷歌搜索并抓住了DirectShowNET。编译它当然我在win7 64b上。编译 CaptureWMV 示例,查看代码并尝试向其添加音频捕获 12 小时,但当我尝试使用非仅视频编解码器时,它总是崩溃。我搜索了工作示例,但找不到任何示例。(仅音频-是,仅视频-是,但两者都没有)这是我稍微修改过的代码。我肯定会做一些愚蠢的事情,但如果有人指出我正确的方向,我会很高兴。

仔细查看附近的注释代码

(...)AddSourceFilterForMoniker(devAudio.Mon(...)

我知道这是错误的,但是如何正确地做呢?

我不想为此使用 c++ 代码,因为内存管理和 DirectShowNet 文档非常...简约。而且我无法真正理解“别针”背后的想法。也许我必须完全放弃使用 ICaptureGraphBuilder2 并努力做到这一点。

这是我第一次接触 C# - 请记住这一点!

0 投票
1 回答
274 浏览

directshow.net - 链接着色器效果

我希望创建一个无法编译为单个着色器效果的复杂像素着色器效果。因此,我打算将复杂的着色器效果分解为多个着色器效果,并依次链接这些着色器效果文件。

这有可能吗?

0 投票
1 回答
653 浏览

directshow.net - MP4 快进/快退

我需要帮助来实现快进和快退。我在 c# 中使用 directshow 并且玩过 IMediaSeeking 但是结果很糟糕!SetRate 根本不起作用,而且 SetPositions 不稳定,并且显然与多个线程存在同步问题,因此它在第一次调用后停止运行。我玩过 Imediaposition,但根本无法让它工作。我的图表很简单

FileSourceAsync -> Intel Splitter -> MainConcept 解码器 -> Decklink 渲染

扫描支持的接口后,文件源和解码器显然不支持 IMediaSeeking。

有没有人有任何想法或线索可以帮助我在 directshow 图中快进和倒带 mp4 文件?

干杯。

0 投票
2 回答
447 浏览

.net - 使用 vb6 的 directshow.net 控制 dll

我已经设法让我的.net DLL 包与 DirectShow.net 接口以将图像捕获到 vb6 中。

.net DLL 包含来自 DirectShow.net 库中提供的 dxSnap 示例的函数,可在 .net 应用程序中运行。我添加了互操作函数,VB6 可以识别这些函数并在返回类型函数上正常工作。

有一个从设备获取流并将其附加到控件的功能,但是在传递图片框时出现类型不匹配错误,在传递 LEAD 视频控件时出现溢出错误。

有没有更好的方法让流进入 vb6 应用程序?

0 投票
2 回答
4414 浏览

c# - directshow : 在 wpf 窗口中显示图形结果

我是初学者 directshow 程序员我正在尝试制作包含来自某些网络摄像头(实时提要)的 WPF 应用程序

然后我可以从这个“实时提要”中拍一张照片

我定义了一个 GraphBuilder,我做了如下:

之后我建立了一个图表:

如何将此图的输出呈现到我的 WPF 窗口中

注意:建立图表后,摄像头 LED 指示摄像头正在捕捉。

提前致谢

0 投票
2 回答
11842 浏览

c# - 尽管分辨率发生变化,视频捕捉输出始终为 320x240

好的,我已经在这里待了 2 天,在最后一部分需要帮助。

我有一个 Microsoft LifeCam Cinema 摄像机,我使用 .NET DirectShowLib 来捕获视频流。好吧,实际上我使用的是 WPFMediaKit,但我现在在直接处理直接显示库的源代码中。

我的工作是: - 查看摄像机的视频输出 - 在 ASF 或 AVI 中记录摄像机的视频输出(ICaptureGraphBuilder2 支持的唯一 2 个 MediaType)

问题是:我可以将其保存为 .avi。这工作正常,分辨率为 1280x720,但它将文件保存在 RAW 输出中。这意味着它大约是每秒 50-60MB。太高了

或者我可以将它切换到 .asf 并输出 WMV,但是当我这样做时,捕获和输出都达到 320x240 分辨率。

在 WPFMediaKit 中,我更改了一个功能,因为显然使用 Microsoft LifeCam Cinema 相机很多人都有这个问题。因此,您无需创建或更改 AMMediaType,而是通过迭代然后使用它来调用 SetFormat。

实现该功能后,只要将 SetOutputFilename 设置为 MediaType.Avi,我终于可以将捕获的视频视为 1280x720。

如果我将它设置为 MediaType.Asf,它会变为 320x240 并且输出是相同的。

或者 AVI 以正确的格式工作和输出,但在 RAW 视频中这样做,因此文件大小非常大。我试图在图表中添加一个压缩器,但没有运气,这远远超出了我的经验。

我正在寻找 2 个答案中的 1 个。

  1. 以 1280x720 录制 ASF
  2. 将压缩器添加到图表中,以便我输出的 AVI 的文件大小很小。