axiscam

0.1.1 • Public • Published

Build Status

AxisCam

Axis (VAPIX) camera control in Node

Run

To run, make a settings.json file in the root folder:

{
    "url": "https://<user>:<passwd>@<addr>",
    "name": "Name for the camera",
    "motion": false
}

This provides the address and credentials for the camera, an optional name and whether to emit any detected motion events (defaults to false).

Test

Run mocha on the test directory. A dummy VAPIX API server is used to stub out the camera for testing the Axis integration.

API

videoStream

Streams raw MJPEG data; handy for proxying the MJPEG stream from the camera to other sources.

imageStream

Streams Javascript objects that encapsulate a raw JPEG image; it effectively strips out the images from the MJPEG stream, returning complete images sequentially.

var axis = require('lib/axis'),
    fs = require('fs')
 
var axisCam = axis.createClient({url: 'https://<user>:<passwd>@<addr>'})
axisCam.imageStream(null, function(err, stream) {
    stream.pipe(fs.createWriteStream('./image.jpg'))
})

image

Passes back the next image from the camera in the callback.

createMotionStream

Creates a stream of javascript objects that represent the state of the Axis camera's motion detection:

{group: 0, level: 2, threshold: 10}
var axis = require('lib/axis'),
    es = require('event-stream')
 
var axisCam = axis.createClient({url: 'https://<user>:<passwd>@<addr>'})
axisCam.createMotionStream(function(err, stream) {
    stream.pipe(es.stringify()).pipe(process.stdout)
})

time

Returns the camera's system time in the callback.

Readme

Keywords

none

Package Sidebar

Install

npm i axiscam

Weekly Downloads

1

Version

0.1.1

License

MIT

Last publish

Collaborators

  • mjohnsullivan