哪个Java库用于从连接的摄像机录制video?

你会认为tere是一个简单的解决方案,但没有:(

我的应用程序需要捕获来自USB / firewire(或任何连接)连接相机的流(结果将是像output.flv这样的文件)。 我希望我可以检测所有连接的摄像机并选择使用哪一个(一个或多个同时 – >一个或多个输出文件)。 应用程序必须是跨平台的。

找到图书馆:

  1. Xuggle – 相机支持不是很好。 适合操纵图像和video。
  2. JMF – 一个旧的API,但如果我可以使用它,我会。 我没有在下载页面上看到MAC OS X链接。
  3. FMJ – 看起来像JMF的更好版本,但无法找到安装它的方法。
  4. LTI-CIVIL – FMJ使用它。 看起来它只捕获来自相机(不是video)的图像。 我可以使用Xuggle从LTI-CIVIL拍摄的图像中创建video。 和FMJ一样,很难安装。

你对这个有什么建议?

我建议使用VLCj – 它应该能够毫无困难地从网络摄像头流式传输到Javacanvas上。 它使用本机代码,因此您需要提供libvlc.so / dll,但从那里开始它应该适用于所有主要平台(Windows,Mac,Linux)。

您可能需要查看流程外的播放器以获得完全可靠性,这有点复杂(请参阅此处我目前为止所做的努力)但是一旦您已经实现了它,它应该可以正常工作。

Java确实没有很好的相机支持。 您必须使用为每个平台量身定制的本机代码,通过JNI为您的项目获取video捕获。

这里有一个相关的问题。 基本上他们建议用JNI包装OpenCV 。