问题标签 [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 投票
3 回答
63565 浏览

c# - C# + DirectShow.NET = 简单的网络摄像头访问?

我找到了一个在 C# 中访问网络摄像头的示例。该示例使用DirectShow.NET库。我试图理解代码,但到目前为止,我唯一能弄清楚的是用户控件以某种方式调用 directshow 以直接绘制到用户控件的表面。

我想访问每个帧并将其放入 Bitmap 对象中。如何判断新框架何时到达?如何将此新帧捕获到位图对象中?

如果您熟悉 DirectShow.NET,这可能很容易回答。

0 投票
3 回答
12568 浏览

c# - 如何使用 DirectShow.NET C# 访问音频流

我想做的是将任意音频文件传递给 DirectShow 过滤器并最终使用 .NET 3.5 C# 和 DirectShow.NET 接收(PCM 音频)流对象。我想达到我可以说的一点:

我已经在 DirectShow 上阅读了几天,并认为我已经开始掌握过滤器和过滤器图的概念。我找到了示例(到文件/到设备)如何播放音频或将其写入文件,但似乎找不到 Stream 对象的解决方案。这甚至可能吗?如果我错过了什么,你能给我指出正确的方向吗?

最好的,

豪克

0 投票
1 回答
7754 浏览

c# - DirectShow.NET - 网络摄像头分辨率属性页

我正在使用 DirectShow.Net 访问我的网络摄像头。我想为我的网络摄像头显示一个属性页来设置视频捕获分辨率和 FPS 速率。我尝试使用 DirectShow.NET 示例中的示例演示代码 - DxPropPages。是代码。但是属性窗口中的第二个选项卡被禁用。

我需要启用此选项卡,以便用户可以设置 caputre 分辨率。我怎样才能做到这一点?我是 DirecShow 的新手,真的不知道该演示代码要更改什么。

PS我想发布一些截图来告诉你我的意思,但我不能因为我是新用户。

0 投票
1 回答
645 浏览

c# - DirectShow.Net 中是否提供 IOverlay 接口

我对 DirectShow 还很陌生,现在真的只是在摸索。我想在 WPF 应用程序中托管 directshow 图形的 directshow 渲染器窗口,并且目前正在使用 HwndHost 类来尝试实现这一点。我需要的 HwndHost 是渲染视频的窗口的句柄。我找到了一个示例,它显示了通过枚举 IVideoWindow 接口的引脚并查询 IOverlay 来获取句柄,因此可以使用 GetWindowHandle 方法来获取句柄。

问题是 IOverlay 在 DirectShow.Net 中似乎不可用。阅读 DirectShow.Net关于页面,IOverlay 列在表格中,标题为“这些接口在源代码中,但已弃用、未记录、用于 Ole 自动化或无法测试,这意味着它们不是,也不会被测试”

那么我必须做些什么才能访问这个定义呢?它是否从作为库分发的构建中排除,所以我应该自己从源代码构建库吗?

或者有没有更好的方法来做我想做的事情?Anyhelp 将不胜感激,就像我说我对所有这些东西都是新手一样。

提前致谢。

编辑:那里没有多少 DirectShow 开发人员?或者这是一个愚蠢的问题,绝对可以接受窥视者可能有的任何建议......

0 投票
2 回答
1294 浏览

c# - c#网络摄像头控件?

我希望在我正在建造的实验室顶部放置一台相机并将其流式传输到网站。

我怎么能只用 c# 做到这一点?如何获取视频流并将其实时发送到服务器 PC 上,他可以从那里拍摄即时照片?

0 投票
1 回答
2146 浏览

c# - 如何在directx中设置视频/图像的亮度、对比度和饱和度

我正在使用使用 directshow 的自定义分配器播放视频。我想设置视频的亮度、对比度和饱和度。我怎样才能做到这一点?

0 投票
3 回答
1985 浏览

video - directshow 反向播放

我目前有一个可以正确播放的 DirectShow.NET 图,但我希望它也能够反向播放(从最后开始并向后播放)。

我尝试过使用 IMediaSeeking::SetRate(double) 方法,但这仅适用于正值。当我尝试使用负值时,它会崩溃。

帮助!

我正在使用 .avi 视频文件,但如果可以的话,我愿意尝试不同的格式。

0 投票
1 回答
848 浏览

64-bit - Windows 7 x64 下的 DirectShow Editing Services 4GB 内存限制

我将 XTLTest 编译为 64 位,并尝试在 windows 7 x64 下测试一些 XTL。

所有这些测试都是使用带有 WMV 展示中的一个剪辑的 XTL 完成的,时间轴大小为 1440x1080。

  1. 缓冲设置为 300 - 播放正常。
  2. 缓冲设置为 600 并出现无法运行图形错误。使用大内存感知重新编译(应在 64 位应用程序上默认设置),同样的事情。
  3. 在 310 测试并运行良好。
  4. 尝试使用 310 缓冲同时播放 2 个不同的 64 位 XTLTest 实例,第二个因“无法运行图形”而失败。
  5. 缓冲设置为 80,能够使用组合的 4GB 内存播放 4 个 XTLTest 实例。执行更多实例并且无法运行图形。
  6. 针对任何使用 DirectShowLib 的编译 .NET 应用程序,并确认其作为 64 位本机应用程序运行。我能够以 80 缓冲加载 4 个 XTL,直到我得到

System.Runtime.InteropServices.COMException (0x8007000E):没有足够的存储空间来完成此操作。

所以我只能得出结论,DES 子系统对所有应用程序的组合有 4GB 的内存限制。

这是真的?如果是这样,这是 DES 限制还是 DirectShow 限制,有什么解决方法吗?

最佳,Tuviah Snyder 首席程序员,MediaWan Solid State Logic, Inc

0 投票
3 回答
11769 浏览

.net-3.5 - 如何使用 DirectShow.net 获取视频帧?

作为程序的一部分,我必须能够从用户指定的视频文件中提取一些随机帧。我没有任何视频处理编程经验,所以这对我来说是新的。

我已经确定我需要使用 DirectShow.net 在使用 .Net 的 Windows XP 上执行此操作,但我不知道如何完成它。我正在尝试使用 ISampleGrabber 界面,但我无法全部弄清楚,也找不到任何示例。

互联网上使用 DirectShow.net 的示例很少,但肯定有人使用 .net 从视频中提取帧,所以我只是想看看是否有人知道这样做的示例代码或类似的东西。

尝试遵循此代码项目文章,我提出了以下代码:

无法编译的部分是最后的 videoHeader cast 行和 GetCurrentBuffer 行,因为没有缓冲区变量......但我不知道该怎么做才能修复它。

0 投票
1 回答
1645 浏览

directshow.net - 文件编写器过滤器创建比原始文件更大的 AVI 文件

我正在使用 SampleGrabber 过滤器获取 AVI 文件的帧并在使用 File writer 过滤器将它们写入另一个(新)AVI 文件之前对其进行更改。

我面临的问题是新的 AVI 文件大小大于原始文件。我删除了 SampleGrabber 过滤器,认为这可能是我的代码导致了问题,但新文件的大小仍然大于原始文件。我用graphedit对其进行了测试。使用的过滤器是 File reader->AVI Splitter->AVI Mux->File writer。

我真的很想保留文件大小。是否有任何其他过滤器或属性我必须设置。目前我只是在 GraphBuilder 中添加过滤器并渲染文件。我正在使用 DirectShowLib.Net。