问题标签 [directshow]
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.
c# - C# + DirectShow.NET = 简单的网络摄像头访问?
我找到了一个在 C# 中访问网络摄像头的示例。该示例使用DirectShow.NET库。我试图理解代码,但到目前为止,我唯一能弄清楚的是用户控件以某种方式调用 directshow 以直接绘制到用户控件的表面。
我想访问每个帧并将其放入 Bitmap 对象中。如何判断新框架何时到达?如何将此新帧捕获到位图对象中?
如果您熟悉 DirectShow.NET,这可能很容易回答。
windows - 在处理程序中关闭消息调度
我正在开发一个完全单线程的 Windows 程序,对任何数据结构都没有保护。但是,该程序使用 DirectShow API 打开自己的内部消息调度,例如 IVideoWindow::put_Visible。因此调用 IVideoWindow::put_Visible 方法的事件处理函数给了其他事件处理函数破坏其数据的机会。
有没有办法防止在 API 中发送这种消息?
windows - 如何使用消息调度处理第二个事件循环?
我正在开发一个本质上是单线程的程序,它唯一的线程是主事件循环线程。因此,它的所有数据结构基本上都不受临界区之类的保护。
在它最近集成了一些基于 DirectShow API 的新功能之前,一切都很好。一些 DirectShow API 打开第二个事件循环,并在第二个循环内调度消息(即,不可预测地调用其他事件处理回调)。因此,当调用第二个事件处理函数时,它可能会损坏调用 DirectShow API 的函数正在访问的数据结构。
我在内核编程方面有一些经验。我想到的是,对于一个单线程程序,它应该如何处理它的数据结构就像内核应该如何处理 per-CPU 数据结构一样。在内核中,当一个函数访问每个 CPU 的数据时,它必须禁用中断(非常类似于第二个事件循环中的消息调度)。但是,我发现没有简单的方法可以避免调用 DirectShow API 或防止在其中创建第二个事件循环,有什么办法吗?
directshow - DirectX 运行时是否包含 directshow 运行时库?
我正在编写一个使用直接显示来捕获和显示网络摄像头数据的 activex 控件。
如果 DirectX 运行时包含用于 directshow 的所有内容,我不需要将它与控件捆绑在一起。
c++ - IMovieControl::Run 在 Windows XP 上失败?
实际上,它只会在第二次调用时失败。我正在使用无窗口控件来播放视频内容,当控件仍在屏幕上时,正在播放的视频可能会发生变化。第一次构建图表后,我们通过停止播放、更换SOURCE
过滤器并再次运行图表来切换媒体。这在 Vista 下运行良好,但在 XP 上运行时,第二次调用Run()
返回E_UNEXPECTED
.
初始化是这样的:
当我们决定播放一部电影时,这就是我们所做的。是从DirectShow 示例区域RenderFileToVideoRenderer
中借来的。dshowutil.h
有人知道这里发生了什么吗?
.net - Gridview点网布局
我在网格视图中有 7 列。第 7 列包含其他 6 个 50 字的描述。我在哪里可以找到帮助查看如何布置行以便出现 6 个字段,然后第 7 个字段位于其下方。我正在努力寻找模板示例、数据列表视图或网格视图,以显示如何正确布局的示例。Intellisense 对我来说太神秘了。Visual Studio 2008 新手链接到具有 7 列的数据库。
c# - 在 C# 中使用 DirectShow AsyncReader
我正在运行AsyncReader
以打开另一个应用程序正在下载的共享 MPG 文件(渐进式下载)。共享 MPG 文件是使用FILE-SHARE-READ | FILE-SHARE-DELETE | FILE-SHARE-WRITE
共享权限创建的。我什至尝试了这些标志的每一种组合。
这是问题所在:在 C# 中,该AsyncReader.Load
方法返回错误:
正在使用的文件
在 C++ 中它没有。C++ 打开文件就好了。
知道这是为什么吗?
c# - DirectShow.NET - 网络摄像头分辨率属性页
我正在使用 DirectShow.Net 访问我的网络摄像头。我想为我的网络摄像头显示一个属性页来设置视频捕获分辨率和 FPS 速率。我尝试使用 DirectShow.NET 示例中的示例演示代码 - DxPropPages。这是代码。但是属性窗口中的第二个选项卡被禁用。
我需要启用此选项卡,以便用户可以设置 caputre 分辨率。我怎样才能做到这一点?我是 DirecShow 的新手,真的不知道该演示代码要更改什么。
PS我想发布一些截图来告诉你我的意思,但我不能因为我是新用户。
winapi - SetPosition get wrong result
Task: grabbing arbitrary frames from mpeg2 video files. Now I use custom render filter for grabbing, but problem with positioning video on required frame.
I use SetPosition(), after Pause() for passing frames through graph, wait for filter receive first frame and Stop().
If I get frame by frame, first i receive exact for this time frame, after this frame repeat some times, and again exact frame.
Why SetPosition get wrong result?