camera

1.0.0 • Public • Published

status

Information

Packagecamera
Description Just a dead simple package to create readable streams from connected webcams
Node Version >=12

Install

You'll need OpenCV 4 or newer installed before installing.

Specific for macOS

Install OpenCV using brew

brew update
brew install opencv@4
brew link --force opencv@4

Usage

createStream([idx])

  • The object returned from createStream is a full readable Stream - you can pause, resume, destroy, pipe, etc.
  • createStream optionally takes a camera number and defaults to 0 for the primary camera.
  • Each data event is a full image buffer from the camera.
  • Image buffers are PNGs.
  • To convert the buffer to a base64 data uri (for the browser) just do data:image/png;base64,${buffer.toString('base64')}
const camera = require('camera')
 
const webcam = camera.createStream()
 
webcam.on('data', (buffer) => {
  // do something with image buffer
})

snapshot(cb)

Returns an error and one image buffer to the given callback. Useful if you just want to grab a simple photo.

record(milliseconds, cb)

Returns an array of video frames for the time-span specified in milliseconds.

Examples

Take a picture

const fs = require('fs')
const camera = require('camera')
 
const webcam = camera.createStream()
 
webcam.on('error', (err) => {
  console.log('error reading data', err)
})
 
webcam.on('data', (buffer) => {
  fs.writeFileSync('cam.png', buffer)
  webcam.destroy()
})
 
webcam.snapshot((err, buffer) => {
  
})
 
webcam.record(1000, (buffers) => {
  
})

Dependencies (2)

Dev Dependencies (2)

Package Sidebar

Install

npm i camera

Weekly Downloads

30

Version

1.0.0

License

none

Unpacked Size

6.32 kB

Total Files

7

Last publish

Collaborators

  • fractal
  • yocontra