我正在做我的第一个raspberry-nodejs项目,我想使用USB网络摄像头。我已经看到有很多模块可以通过节点与网络摄像头进行交互我也看到了覆盆子的"apt-get motion"......但是有谁知道一个包,我可以通过节点应用程序打开和关闭相机。然后还要定义何时拍照以及存储在哪里?
但是有谁知道我可以打开相机的软件包和 通过节点应用程序关闭?
节点-v4l2相机 : https://github.com/bellbind/node-v4l2camera/
从 Linux 机器上的 USB(UVC) 网络摄像头捕获图像。
npm install v4l2camera
配置好cam
后,使用 cam.start()
& cam.stop()
然后还要定义何时拍照以及存储在哪里?
var v4l2camera = require("v4l2camera");
var cam = new v4l2camera.Camera("/dev/video0");
if (cam.configGet().formatName !== "MJPG") {
console.log("NOTICE: MJPG camera required");
process.exit(1);
}
cam.start();
cam.capture(function (success) {
var frame = cam.frameRaw();
require("fs").createWriteStream("result.jpg").end(Buffer(frame));
cam.stop();
});
解决了!结果。。。我能够让"v4l2camera"模块在我的覆盆子上工作。但是在关闭后,我的覆盆子又回到了"YUYV"格式。
所以我总是检查cam.config,我让它使用"YUYV"格式。所以现在我可以打开相机并拍照 year
请尝试:
cam.configSet({width: 1024, height: 768, format: 1195724874, formatName: "JPEG"});
if (cam.configGet().formatName !== "JPEG") {
console.log("NOTICE: JPEG camera required");
process.exit(1);
}
cam.start();
cam.capture(function (success) { <your code here> }