如何从网络摄像头捕获视频(在java中)?

时间:2010-01-05 05:50:50

标签: java webcam video-capture

我想在java中开发一个应用程序,用于从网络摄像头捕获视频并将其存储到特定位置。任何人都可以向我提供工作代码吗?

开发应用程序的网络摄像头的类型(usb,ip等等)是最好的。

请帮帮我。怎么办?

3 个答案:

答案 0 :(得分:16)

我建议使用 webcam-capture 项目(我是作者)。有一个如何从网络摄像头设备录制视频的示例 - 您可以找到 here 。该项目可以处理嵌入式摄像机设备以及连接USB或IP摄像机的设备。它适用于大多数操作系统(Windows XP,Vista,7,8,Linux,Mac OS,Raspbian等),您无需安装任何其他软件即可运行它。这是你的选择。

我不推荐使用JMF - 已经完全过时了,你必须首先在PC上安装它,所以如果你认为你的应用程序是可移植的,你也必须考虑到这一点。

答案 1 :(得分:2)

我发现最好的方法是将JMyron库与USB网络摄像头配合使用。你将不得不乱用dll,因为它使用本机代码...如果你谷歌的话,有一个工作的例子(我不确切知道在哪里)但我知道你需要你的路径中的DLL。下载Processing库并找到dll和jar。

import JMyron.JMyron;

//initializer
int width=100;//insert your numbers here
int height=100;
JMyron jmyron = new JMyron();
jmyron.start(width,height);
//in a loop
jmyron.update();
int[] image = jmyron.image();

图像将是一个长度为*高度的int []。它逐行存储像素,因此第一个width像素将是第一行,第二个width像素将是第二行,依此类推。

答案 2 :(得分:1)

使用JMF查看David的解决方案: http://www.mutong.com/fischer/java/usbcam/