使用哪个Java库来录制连接相机的视频?

5
你可能认为这有一个简单的解决方案,但事实并非如此:(。
我的应用程序需要从连接的USB/firewire(或任何其他连接)相机中捕获流(结果将是像output.flv这样的文件)。我希望能够检测所有连接的相机并选择要使用的相机(同时使用一个或多个-->一个或多个输出文件)。该应用程序必须跨平台。
找到的库:
  1. Xuggle - 相机支持不是很好。适合操作图像和视频。
  2. JMF - 一个旧的API,但如果我可以使用它,我会使用它。下载页面上没有MAC OS X链接。
  3. FMJ - 看起来是JMF的更好版本,但我找不到安装方法。
  4. LTI-CIVIL - FMJ使用它。看起来它只能从相机中捕获图像(而不是视频)。我可以使用Xuggle从LTI-CIVIL拍摄的图像创建视频。像FMJ一样,它很难安装。
你对此有什么建议?

它是网络摄像头还是USB摄像头? - user545680
@Bringer128 我现在编辑了问题。USB连接。 - vale4674
2个回答

1
我建议使用VLCj - 它应该能够在Java画布上从网络摄像头流式传输而不会遇到任何困难。它使用本地代码,因此您需要提供libvlc.so / dll,但从那里开始,它应该可以在所有主要平台(Windows,Mac,Linux)上运行。
为了完全可靠,您可能需要查看外部进程播放器,这有点更复杂(请参见此处以了解我的迄今为止的努力),但一旦您将其放置在适当位置,它应该可以正常工作。

这看起来不错,我现在正在度假,一个月后才开始开发,所以我一定会第一时间尝试这个库。谢谢。 - vale4674
只是想让你知道,VLCJ非常适合这个。我正在我的应用程序中使用它。感谢建议。 - vale4674

0

Java 真的没有很好的相机支持。你需要使用本地代码,通过 JNI 为每个平台定制,才能为你的项目获取视频捕获。

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


那么OpenCV有做我需要的事情的能力吗?更具体地说,是JavaCV。 - vale4674
很不幸,我没有任何相关经验。看起来它可能行得通,但唯一的方法就是实验。我的观点更多的是,目前没有任何“官方”的东西。 - Jonathan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接