【发布时间】:2011-02-09 09:05:16
【问题描述】:
我需要一个可在所有平台上运行的极其高效的网络摄像头库(我稍后会解释)。
基本上会有两个网络摄像头,我需要以非常快的速度在它们之间交替(至少 50fps,它必须是流畅的视频)
有人有这方面的经验,有什么建议吗?
【问题讨论】:
我需要一个可在所有平台上运行的极其高效的网络摄像头库(我稍后会解释)。
基本上会有两个网络摄像头,我需要以非常快的速度在它们之间交替(至少 50fps,它必须是流畅的视频)
有人有这方面的经验,有什么建议吗?
【问题讨论】:
在开发我的Webcam Capture 项目时,我测试了几个框架并决定使用OpenIMAJ 框架的一部分。实际上,我必须提取其核心视频捕获子项目的一部分并重新编写代码以删除它具有的所有必要依赖项。当我在我的项目中包含细化代码时,我能够将 250 FPS 流式传输(编辑:由于 Windows impl 中的错误)50 FPS 作为BufferedImage 对象(在 Windows XP 上,无需绘画,只需获取图像来自网络摄像头)。我可以诚实地推荐它,因为它与大多数操作系统兼容——Windows(x86 和 x64)、Linux(x86、x64 和 ARM)、Mac OS。有兴趣可以找精炼码here。
JMF 也非常快,但它已经过时并且不再维护了。它不是便携式的——当你想使用它时,你必须安装 JMF。
我不推荐 JavaCV,它需要巨大的 OpenCV 安装包(~100MB),没有 Java 文档而且不便携。
LTI-CIVIL / FMJ 也已过时,不再维护。
VLCj 只能在 Linux 上正常工作(因为它使用 V4L4j),并且您必须在您的 PC 上安装 VLC(非便携式)。
【讨论】:
我使用 OpenCV for Java (http://ubaa.net/shared/processing/opencv/)
它非常“用户友好”,但我不知道它的效率的确切参数。
【讨论】:
不久前,我使用Java Media Framework 处理和保存来自网络摄像头的流(没有任何性能问题)。也许它可以帮助您完成任务。
【讨论】: