使用Java和DirectShow从未知视频捕获设备中提取并显示实时帧



我正在用Java做一个视频审查项目。我正在改进一款在Windows 2000机器上运行的现有且极其过时的软件,该软件已被改造成DVR。机器有4个捕获设备,每个捕获设备有4个输入。我在拍摄已经保存的视频并回放时没有遇到任何问题。我有0美元的预算,必须使用现有的技术。话虽如此,我也不得不使用DirectShowJava包装器,这似乎是最好的。我现在面临的问题是,我无法让DirectShow重新配置机器上的捕获设备,但我对DirectShow API非常熟悉,只尝试调用queryDevices()。在我的电脑上找到我的网络摄像头或电视调谐器没有问题,但在DVR电脑上找不到任何东西。

捕获卡的名称是Moab-5 v1.10。它已经很旧了,最初制造该设备的公司不再支持它或软件,因为他们已经转向了更大更好的产品。

我对捕捉设备了解不多,我正在寻找有关它的信息以及它的工作原理,这将有很大帮助。

有人对我如何使用DirectShow或其他任何东西从中提取视频有什么好主意吗
我还有其他方法可以应对这个挑战吗?我可以探索的其他媒体框架?我试过大多数,这是唯一一个效果最好的。

我愿意尝试任何东西,但最终还是想坚持使用Java,这是我擅长的。

在那台电脑上运行GraphEditPlus,在过滤器列表中找到你的捕获设备,将其添加到一个空图形中,右键单击其输出引脚,选择"渲染",你就会得到一个可以显示视频的图形。然后,您可以生成代码(请参见"文件"菜单)并查看它是如何构建的。

最新更新