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

时间:2011-07-18 10:56:08

标签: java video cross-platform capture

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

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

找到图书馆:

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

2 个答案:

答案 0 :(得分:1)

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

您可能需要查看流程外的播放器以获得完全可靠性,这有点复杂(到目前为止我的努力请参阅here)但是一旦您完成了它,它应该可以正常工作。< / p>

答案 1 :(得分:0)

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

有一个相关问题here。基本上他们建议用JNI包裹OpenCV