hikivision IP Cameras PTZ Controller and Video Graber Node.js implements based on hik's offical SDK
Usage example:
var {context,controller,graber}=require("hikivisioncontroller");(async()=>{
let c=new context();
await c.init("192.168.1.200","admin","iampassword");//get an IP-Camera's context
let g=new graber(c);//start a graber of the camera images
g.onjpg(console.log);//images data callback
let ct=new controller(c);//start a PTZ Controller
await ct.refreshXYZ();//make Controller know the X,Y,Zoom Values now.
//Xrange:0-1 Yrange:0-1 ZoomRange:0-2
await ct.goX(0.7);// goX
console.log(ct.getXYZ());
await ct.goY(0.1);//then goY
console.log(ct.getXYZ());
//or something else...
})();