在 Raspberry Pi 上通过 Nodejs 启动 usb-webcam

start usb-webcam via Nodejs on Raspberry Pi

我正在开发我的第一个 raspberry-nodejs 项目,我想使用一个 usb-webcam。 我已经看到有很多模块可以通过节点与网络摄像头进行交互 我也看到了覆盆子 'apt-get motion'... 但是有谁知道我可以通过节点应用程序打开和关闭相机的包。然后还要定义拍照的时间和存储位置?

But does anyone know a package where I can turn the the camera on and off via a node-app?

node-v4l2camera : https://github.com/bellbind/node-v4l2camera/
在 Linux 台机器上从 USB(UVC) 网络摄像头捕获图像。

npm install v4l2camera

配置好 cam 后,cam.start() & cam.stop()

and then also define when to take pictures and where to store them?

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"-格式一起工作。 所以现在我可以打开相机拍照

尝试:

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> }