从 nodejs 使用 zbarcam

Posted

技术标签:

【中文标题】从 nodejs 使用 zbarcam【英文标题】:Using zbarcam from nodejs 【发布时间】:2014-03-02 14:27:04 【问题描述】:

我正在尝试使用 zbarcam 来监控 USB 摄像头并返回它看到的 QR 码。

我是 Zbarcam 和 Nodejs 的新手,但已经进行了大量研究,看不出哪里出了问题。我在 Ubuntu 12.04 LTS 上运行它,它在命令行中运行良好,但是当在 Node 的子进程中运行时,它什么也不返回。

如果我在命令行上运行以下命令,效果很好,会看到 QR 码并返回代码:

zbarcam /dev/video0 --prescale=1280x720 -q --raw --nodisplay

但是当我在一个小的 nodejs 脚本中运行它时它只是挂起,我可以看到 cam 启用,但响应没有返回。

var exec = require('child_process').exec,child; child = exec('zbarcam /dev/video0 --prescale=640x480 -q --raw --nodisplay', function (error, stdout, stderr) 如果(错误) console.log(error.stack); console.log('错误代码:'+error.code); console.log('收到的信号:'+error.signal); console.log('子进程标准输出:'+stdout); console.log('子进程 STDERR: '+stderr); ); child.on('exit', function (code) console.log('子进程退出,退出码'+code); );

我怀疑这是我在 Node 中启动它的方式以及节点如何跟踪标准输出。

在此先感谢大家。

【问题讨论】:

【参考方案1】:

你可以使用 zbar npm,这是我在 github 上的 fork https://github.com/flatr0ze/node-zbar 更新自述文件

运行 npm install zbar 并按照自述文件,它应该可以正常工作

这是一个无 Npm 的示例:https://github.com/cloudpower/qr2wifi/blob/f28f3bf7062b58c8adca2751faaf4e070fa124b4/index.js

祝你好运!

【讨论】:

请考虑提供更详细的解释,说明 OP 的原始问题出现的原因以及您的建议旨在如何解决它。

以上是关于从 nodejs 使用 zbarcam的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 NodeJS + AngularJS 从文件中删除一些奇怪的错误

如何使用 NodeJS 从列表中排除特定字符串

使用 Angularjs 和 Nodejs 从 HTML 表单另存为 JSON 文件

从 nodejs 使用 zbarcam

使用请求从 nodeJS 调用安全钻取 URL

使用 NodeJs 将数据从 CSV 导入 Oracle 中的表