【发布时间】:2010-01-05 05:50:50
【问题描述】:
我想用 java 开发一个应用程序来从网络摄像头捕获视频并将其存储到特定位置。谁能提供我的工作代码?
什么类型的网络摄像头(usb、ip 等)最适合开发应用程序。
请帮助我。如何进行?
【问题讨论】:
标签: java webcam video-capture
我想用 java 开发一个应用程序来从网络摄像头捕获视频并将其存储到特定位置。谁能提供我的工作代码?
什么类型的网络摄像头(usb、ip 等)最适合开发应用程序。
请帮助我。如何进行?
【问题讨论】:
标签: java webcam video-capture
我会推荐使用 webcam-capture 项目(我是作者)。有一个如何从网络摄像头设备录制视频的示例 - 你可以找到它here。该项目可以处理嵌入式摄像头设备以及连接到 USB 或 IP 摄像头的设备。它适用于大多数操作系统(Windows XP、Vista、7、8、Linux、Mac OS、Raspbian 等),您无需安装任何其他软件即可运行它。这是你的选择。
我不建议使用 JMF - 完全过时,您必须先将其安装在您的 PC 上,因此如果您认为您的应用程序是可移植的,您也必须考虑到这一点。
【讨论】:
我发现最好的方法是使用带有 USB 网络摄像头的 JMyron 库。不过,您将不得不弄乱 dll,因为它使用本机代码……如果您用谷歌搜索它(我不知道确切的位置),那么在某处有一个工作示例(我不知道确切的位置),但我知道您需要 dll 在您的路径中。下载处理库并找到 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 像素将是第二行,依此类推。
【讨论】:
查看 David 使用 JMF 的解决方案: http://www.mutong.com/fischer/java/usbcam/
【讨论】: