0.0.1 • Published 9 years ago

node-cam v0.0.1

Weekly downloads
7
License
MIT
Repository
github
Last release
9 years ago

node-cam

Node-cam is a node js library for controlling ip cameras. This library is still in development and should not be used in its current form.

Version

0.0.1 (pre-release)

Installation

$ npm install node-cam

Usage

Node-cam works with a wide variety of cameras and supports a limitless number of cameras.

To use Node-cam with a single camera, you can use the following code:

var nodecam = require("node-cam");
var camera_config = require('./path/to/camera/config/file');
var cam = nodecam.createCamera(camera_config);
cam.snapshot('./path/to/snapshot/directory');

To use Node-cam with a multiple cameras, you can use the following code:

var nodecam = require("node-cam");
var camera_config = require('./path/to/camera/config/file');
var cameras = [];
for(c in camera_config){
    cameras.push(nodecam.createCamera(camera_config[c]));
}
cam[0].snapshot('./path/to/snapshot/directory');
cam[1].snapshot('./path/to/snapshot/directory');

Example Config File

Single camera:

{
	"type":"foscam_hd",
	"name":"my_ip_camera",
	"host":"192.168.0.1",
	"port":"88",
	"user":"admin",
	"pass":"",
	"directories":{
		"images":"./my_ip_camera/image",
		"videos":"./my_ip_camera/video"
	}
}

Multiple cameras:

{
	"cameras": [
		{
			"type":"foscam_hd",
			"name":"camera1",
			"host":"192.168.0.1",
			"port":"88",
			"user":"admin",
			"pass":"",
			"directories":{
				"images":"./camera1/image",
				"videos":"./camera1/video"
			}
		},{
			"name":"camera2",
			"host":"192.168.0.2",
			"port":"88",
			"user":"admin",
			"pass":"",
			"directories":{
				"images":"./camera2/image",
				"videos":"./camera2/video"
			}
		}
	]
}

Development

Node-cam is built to allow a wide assortment of ip cams. To add support for a new type of camera, you only need to create a new camera definition file (see ./cameras/example_camera.js).

Feel free to contribute to the overall project or submit your own camera definitions to be added to the project. All contributed code must fall under the MIT license.

Todo's

  • Finish initial codebase.
  • Finish foscam HD and MJPEG

License

MIT