From 8d698b9bd17970d84e9c25b88c8ec622c6ded723 Mon Sep 17 00:00:00 2001 From: "Andrew D.Laptev" Date: Wed, 21 Jan 2015 19:08:00 +0300 Subject: [PATCH] Redesigned move methods --- README.md | 76 ++++++++++++++++++++++++++++++++++------------ example.js | 23 +++++++++----- lib/onvif.js | 76 ++++++++++++++++++++++------------------------ package.json | 7 +++-- test/common.coffee | 18 ++++++----- test/common.js | 18 ++++++----- test/common.map | 2 +- 7 files changed, 133 insertions(+), 87 deletions(-) diff --git a/README.md b/README.md index c9668348..b1980a7e 100644 --- a/README.md +++ b/README.md @@ -31,23 +31,21 @@ In the library directory run This example asks your camera to look up and starts a web server at port 3030 that distributes a web page with vlc-plugin container which translates video from the camera. ```javascript -var http = require('http') - , Cam = require('./lib/onvif').Cam - ; - -new Cam({hostname: CAMERA_HOSTNAME, username: USERNAME, password: PASSWORD}, function(err) { - this.ptzAbsoluteMove({ - positionPanTiltX: 1 - , positionPanTiltY: 1 - , zoom: 1 - }); +var http = require('http'), + Cam = require('onvif').Cam; + +new Cam({ + hostname: CAMERA_HOST, + username: USERNAME, + password: PASSWORD +}, function(err) { + this.absoluteMove({x: 1, y: 1, zoom: 1}); this.getStreamUri({protocol:'RTSP'}, function(err, stream) { http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/html'}); res.end( '' + - '' + + '' + ''); }).listen(3030); }); @@ -136,15 +134,53 @@ The options are: * `profileToken` (optional) - defines media profile to use and will define the configuration of the content of the stream. Default is `#activeSource.profileToken` -### ptzRelativeMove(options, callback) -This is a relative pan-tilt method. Options for this method is a delta between desired and current position of the camera. +### relativeMove(options, callback) +This is a relative pan-tilt-zoom method. Options for this method is a delta between desired and current position of the camera. The options are: +```javascript +{ + x: 'Pan, number or a string within -1 to 1, optional', + y: 'Tilt, number or a string within -1 to 1, optional', + zoom: 'Zoom, number or a string within -1 to 1, optional', + speed: { // If the speed argument is omitted, the default speed set by the PTZConfiguration will be used. + x: 'Pan speed', + y: 'Tilt speed', + zoom: 'Zoom speed' + } +} +``` -* `translationPanTiltX` (optional) -* `translationPanTiltY` (optional) -* `speedPanTiltX` (optional) -* `speedPanTiltY` (optional) -* `zoom` (optional) +### absoluteMove(options, callback) +This is an absolute pan-tilt-zoom method. Options for this method is an absolute position of the camera. +The options are: +```javascript +{ + x: 'Pan, number or a string within -1 to 1, optional', + y: 'Tilt, number or a string within -1 to 1, optional', + zoom: 'Zoom, number or a string within -1 to 1, optional', + speed: { // If the speed argument is omitted, the default speed set by the PTZConfiguration will be used. + x: 'Pan speed', + y: 'Tilt speed', + zoom: 'Zoom speed' + } +} +``` ### getStatus(options, callback) -Returns an object with the current PTZ values. \ No newline at end of file +Returns an object with the current PTZ values. +```javascript +{ + position: { + x: 'pan position' + , y: 'tilt position' + , zoom: 'zoom' + } + , moveStatus: {} // camera moving + , utcTime: 'current camera datetime' +} +``` + +##Links +WSDL schemes: +- http://www.onvif.org/ver10/media/wsdl/media.wsdl``` +- http://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl \ No newline at end of file diff --git a/example.js b/example.js index dbc9ec3b..ba4d1156 100644 --- a/example.js +++ b/example.js @@ -2,14 +2,21 @@ * Created by Andrew D.Laptev on 1/21/15. */ -var http = require('http') - , Cam = require('./lib/onvif').Cam - ; +var CAMERA_HOST = '192.168.68.111', + USERNAME = 'admin', + PASSWORD = '9999'; -new Cam({hostname: '192.168.68.111', username: 'admin', password: '9999'}, function(err) { - this.ptzAbsoluteMove({ - positionPanTiltX: 1 - , positionPanTiltY: 1 +var http = require('http'), + Cam = require('./lib/onvif').Cam; + +new Cam({ + hostname: CAMERA_HOST, + username: USERNAME, + password: PASSWORD +}, function(err) { + this.absoluteMove({ + x: 1 + , y: 1 , zoom: 1 }); this.getStreamUri({protocol:'RTSP'}, function(err, stream) { @@ -17,7 +24,7 @@ new Cam({hostname: '192.168.68.111', username: 'admin', password: '9999'}, funct res.writeHead(200, {'Content-Type': 'text/html'}); res.end( '' + - '' + + '' + ''); }).listen(3030); }); diff --git a/lib/onvif.js b/lib/onvif.js index 366cc1dd..0826313b 100644 --- a/lib/onvif.js +++ b/lib/onvif.js @@ -383,29 +383,34 @@ Cam.prototype.getNode = function() { }; /** - * TODO add zoom option, rename arguments, make options optional * PTZ relative move * @param {object} options * @param {string} [options.profileToken] - * @param {string} [options.translationPanTiltX] - * @param {string} [options.translationPanTiltY] - * @param {string} [options.speedPanTiltX] - * @param {string} [options.speedPanTiltY] - * @param [callback] - * @constructor + * @param {string|number} [options.x] Pan, float + * @param {string|number} [options.y] Tilt, float + * @param {string|number} [options.zoom] Zoom, float + * @param {object} [options.speed] If the speed argument is omitted, the default speed set by the PTZConfiguration will be used. + * @param {string|number} [options.speed.x] Pan speed, float + * @param {string|number} [options.speed.y] Tilt speed, float + * @param {string|number} [options.speed.zoom] Zoom speed, float + * @param {Function} [callback] */ -Cam.prototype.ptzRelativeMove = function(options, callback) { +Cam.prototype.relativeMove = function(options, callback) { callback = callback ? callback.bind(this) : function() {}; this._request({ body: this._envelopeHeader() + '' + - '' + (options.profileToken || this.activeSource.profileToken) + '' + - '' + - '' + - '' + + '' + (options.profileToken || this.activeSource.profileToken) + '' + + '' + + (options.x && options.y ? '' : '') + + (options.zoom ? '' : '') + + '' + + (options.speed ? '' + - '' + - '' + + (options.speed.x && options.speed.y ? '' : '') + + (options.zoom ? '' : '') + + '' + : '') + '' + this._envelopeFooter() }, callback); @@ -415,22 +420,31 @@ Cam.prototype.ptzRelativeMove = function(options, callback) { * PTZ absolute move * @param {object} options * @param {string} [options.profileToken] - * @param {string} options.positionPanTiltX - * @param {string} options.positionPanTiltY - * @param {string} options.zoom - * @param callback - * @constructor + * @param {string|number} [options.x] Pan, float + * @param {string|number} [options.y] Tilt, float + * @param {string|number} [options.zoom] Zoom, float + * @param {object} [options.speed] If the speed argument is omitted, the default speed set by the PTZConfiguration will be used. + * @param {string|number} [options.speed.x] Pan speed, float + * @param {string|number} [options.speed.y] Tilt speed, float + * @param {string|number} [options.speed.zoom] Zoom speed, float + * @param {Function} [callback] */ -Cam.prototype.ptzAbsoluteMove = function(options, callback) { +Cam.prototype.absoluteMove = function(options, callback) { callback = callback ? callback.bind(this) : function() {}; this._request({ body: this._envelopeHeader() + '' + '' + (options.profileToken || this.activeSource.profileToken) + '' + '' + - '' + - '' + + (options.x && options.y ? '' : '') + + (options.zoom ? '' : '') + '' + + (options.speed ? + '' + + (options.speed.x && options.speed.y ? '' : '') + + (options.zoom ? '' : '') + + '' + : '') + '' + this._envelopeFooter() }, callback); @@ -479,20 +493,4 @@ Cam.prototype._envelopeFooter = function() { ''; }; -module.exports.Cam = Cam; - -/*//var cam = new Cam({hostname: 'localhost', port: 10101, username: 'admin', password: '9999'}, function(err) { -var cam = new Cam({hostname: '192.168.68.111', username: 'admin', password: '9999'}, function(err) { - if (err) { - return console.log(err); - } - console.log(JSON.stringify(this)); - - //console.log(this.ptzUri); - //this.getPresets({}, console.log); - this.getStatus({}, function(err,d){console.log(JSON.stringify(d));}); - //this.getStreamUri({protocol:'HTTP'}, console.log) -}); -cam.on('rawResponse', function(data) { - console.log(data); -});*/ +module.exports.Cam = Cam; \ No newline at end of file diff --git a/package.json b/package.json index 9395bde0..097dda87 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "onvif", - "version": "0.1.0", + "version": "0.1.1", "author": "Andrew D.Laptev ", - "description": "ONVIF client", + "description": "Client to ONVIF NVT devices, especially cameras", "main": "lib/onvif.js", "scripts": { "test": "./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha", @@ -22,7 +22,8 @@ "onvif", "video", "PTZ", - "camera" + "camera", + "RTSP" ], "license": "MIT", "engines": { diff --git a/test/common.coffee b/test/common.coffee index 74e1b958..cdf7407b 100644 --- a/test/common.coffee +++ b/test/common.coffee @@ -138,13 +138,13 @@ describe 'Simple and common get functions', () -> describe 'absolute move', () -> it 'should returns empty RelativeResponseObject', (done) -> - cam.ptzAbsoluteMove { + cam.absoluteMove { positionPanTiltX: 1 positionPanTiltY: 1 zoom: 1 }, done it 'should works without callback', () -> - cam.ptzAbsoluteMove { + cam.absoluteMove { positionPanTiltX: 1 positionPanTiltY: 1 zoom: 1 @@ -152,7 +152,7 @@ describe 'Simple and common get functions', () -> describe 'relative move', () -> it 'should returns empty RelativeResponseObject', (done) -> - cam.ptzAbsoluteMove { + cam.relativeMove { speedPanTiltX: 1 speedPanTiltY: 1 translationPanTiltX: 1 @@ -160,11 +160,13 @@ describe 'Simple and common get functions', () -> zoom: 1 }, done it 'should works without callback', () -> - cam.ptzAbsoluteMove { - speedPanTiltX: 1 - speedPanTiltY: 1 - translationPanTiltX: 1 - translationPanTiltY: 1 + cam.relativeMove { + speed: { + x: 1 + y: 1 + } + x: 1 + y: 1 zoom: 1 } diff --git a/test/common.js b/test/common.js index 64225be1..f28f1c7e 100644 --- a/test/common.js +++ b/test/common.js @@ -200,14 +200,14 @@ }); describe('absolute move', function() { it('should returns empty RelativeResponseObject', function(done) { - return cam.ptzAbsoluteMove({ + return cam.absoluteMove({ positionPanTiltX: 1, positionPanTiltY: 1, zoom: 1 }, done); }); return it('should works without callback', function() { - return cam.ptzAbsoluteMove({ + return cam.absoluteMove({ positionPanTiltX: 1, positionPanTiltY: 1, zoom: 1 @@ -216,7 +216,7 @@ }); describe('relative move', function() { it('should returns empty RelativeResponseObject', function(done) { - return cam.ptzAbsoluteMove({ + return cam.relativeMove({ speedPanTiltX: 1, speedPanTiltY: 1, translationPanTiltX: 1, @@ -225,11 +225,13 @@ }, done); }); return it('should works without callback', function() { - return cam.ptzAbsoluteMove({ - speedPanTiltX: 1, - speedPanTiltY: 1, - translationPanTiltX: 1, - translationPanTiltY: 1, + return cam.relativeMove({ + speed: { + x: 1, + y: 1 + }, + x: 1, + y: 1, zoom: 1 }); }); diff --git a/test/common.map b/test/common.map index b4b50bc8..5fcac456 100644 --- a/test/common.map +++ b/test/common.map @@ -6,5 +6,5 @@ "common.coffee" ], "names": [], - "mappings": "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" + "mappings": "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" } \ No newline at end of file