DVR 设备缺少 DirectShow GUID
我在 C# 项目中使用 DShowNET,并且一直在尝试多张卡。我尝试访问的卡是 GV-800_4A,这是 GeoVision CCTV 软件通常使用的采集卡。
问题是它在设备管理器中被识别为“DVR 设备”,其 guid 与我一直使用的普通视频输入设备不同,而且我不知道 DShowNET guid,但相信它可能与此 guid 有关.
我的问题是“如何将 Windows 设备管理器的设备属性中看到的“设备类 guid” 转换为 DirectShow 中使用的 Guid?或者这些是否相等?
设备管理器中的 GUID
- GeoVision GV-800A {4d36e96c-e325-11ce-bfc1-0123456789ab}
- AVerMedia {4d36e96c-e325-11ce-bfc1-08002be10318}
- Dazzle USB {4d36e96c-e325-11ce-bfc1-08002be10318}
DShowLib 中的 GUID
- VideoInputDevice (0x860BB310、0x5D01、 0x11d0、0xBD、0x3B、0x00、0xA0、0xC9、 0x11、0xCE、0x86)
编辑
基本上,最终目标是能够将其作为捕获过滤器连接到图形以保存 FilterCategory.VideoInputDevice,但现在此设备(GeoVision) 没有出现在可用捕获设备列表中,但它是一个捕获设备,只是驱动程序将其识别为“DVR 设备”
我通过将其传递到 DShowNET 函数来使用 CLSID,以返回该设备的可用设备的 ArrayList type :
DsDev.GetDevicesOfCat(FilterCategory.VideoInputDevice, out m_capDevices)
我需要知道 CLSID_[** DVR 设备 **] 或从哪里获取它。我认为它可以从“设备类 guid”派生,但我被告知这是不可能的。
I am using DShowNET in a C# project and I have been trying multiple cards. The Card I am trying to access is a GV-800_4A, which is a a capture card normally used by GeoVision CCTV software.
The problem is it is recognized in the device manager as a 'DVR Device' with a different guid than the normal video input devices I have been using and I do NOT know the DShowNET guid, but believe it may relate to this guid.
My question is 'How do I convert the 'Device class guid' seen in devices properties the windows device manager to the Guid used in DirectShow? or are these even equatable?'
GUIDs in device manager
- GeoVision GV-800A {4d36e96c-e325-11ce-bfc1-0123456789ab}
- AVerMedia {4d36e96c-e325-11ce-bfc1-08002be10318}
- Dazzle USB {4d36e96c-e325-11ce-bfc1-08002be10318}
GUID in DShowLib
- VideoInputDevice (0x860BB310, 0x5D01,
0x11d0, 0xBD, 0x3B, 0x00, 0xA0, 0xC9,
0x11, 0xCE, 0x86)
EDIT
Basically the end goal is to be able to connect this as a capture filter to a graph to save FilterCatergory.VideoInputDevice, but now this device (GeoVision) does NOT appear on the list of available capture devices, but it IS a capture device just the drivers recognize it as a 'DVR Device'
I use the CLSID by passing it into the DShowNET function for returning an ArrayList of available devices of that type :
DsDev.GetDevicesOfCat(FilterCategory.VideoInputDevice, out m_capDevices)
I need to know the CLSID_[** DVR Device **] or where to get that. I thought it could be derived from the 'Device class guid', but I am getting told this is not possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用如下内容:
另一种选择是使用 GraphEditPlus 并将捕获过滤器添加到图表中。然后,您可以使用如下代码找到 GUID 以直接创建过滤器对象:
You could use something like this:
Another option would be use GraphEditPlus and add the capture filter to a graph. You can then find out the GUID to create the filter object directly using code like this: