Onvif camera control

Working for me.
I wouldn't waste any time over the features that don't work for me, if they work for others then it is most likely that the camera just doesn't support them.

Looking through the config I see that getNodes on the PTZ node shows homeSupported: false so that suggests the goHome should not work, so that's ok.
getStatus show pan, tilt and zoom position all on 0.25. The camera hasn't got pan and tilt, but the zoom position doesn't change. Am I correct in assuming that the number should show the current zoom position?

There appears to be a bug in the getSnapshot method. I imported the flow and selected my camera in the onvif node, and deleted the config node for the one in the flow. When I try to run getSnapshot it is failing with 404 error, on IP 192.168.1.200:80 which I think is the IP of the original camera in the flow. Possibly the getSnapshot code does not realise the config node has been switched, or is not being re-deployed. A full deploy fixed it.

Just to let you know, there is an error in readme in the first get snapshot flow, the node type is onvifmedia instead of onvif-media.

@BartButenaers, FYI, I can confirm that with the beta.6 version the nodes now connect with the camera.

The node "Onvif Commands" with the "start listening" action causes high load on my raspberry pi.
Don't now is this is a node-red issue or a Onvif issue.
Anyway, Good work !

Hi @prutspapa, @Colin,
Thanks for the feedback!!

Due to daily-work-related activities, I won't be able to respond to the questions until 27 march.
But please keep testing and giving input if you have some spare time left ...

See you guys later !!
Bart

Some last feedback ...

Well it would be nice if I could somehow visualise which functionality is supported on your camera, and which functionality isn't supported. But if you look at this wsdl, you will see that (only for PZT) a lot of different kindof tests are required:

And for the other nodes (media, event, ...) again other kind of tests would be required to implement this ... But we can try to implement as much as possible, and e.g. show a node status 'unsupported action' ??

I think you are correct, but my camera's only support Pan-Tilt but no zoom. So I cannot test it. Have ordered a new camera with zoom support, but that one hasn't arrived yet...

Yes the http request is send on the server side, which isn't aware of your changes on the client side. So when you change the config node, it think it is normal that you have to deploy to make that change become active. Not????

@prutspapa: In the readme page you can see that the Event-node isn't working yet. Reason is that I couldn't test it, since my current Panasonic camera doesn't support event streams. Indeed I can see via the getServices (in the Device-node) that none of the 3 stream types are supported:

image

As soon as I have my new camera, I can try to test this...

I am not able to replicate what I am sure I saw, I had deployed, but only Changed Nodes, I had to do a Full Deploy to get it to work. However, since I am not now able to replicate the situation perhaps I had not actually deployed at all.

@BartButenaers
FYI, just had some time to test. It seems my camera supports 2 of the 3 streams
14

My camera was all working with the onvif node, but now it isn't. It is a little while since I used it so I don't know when it stopped working. I am on node red 0.19.5 and nodejs 10.15.3. The onvif node is at 0.6.0. I am seeing this error in a Catch node

Error: Wrong ONVIF SOAP response
    at /home/colinl/.node-red/node_modules/onvif/lib/utils.js:77:14
    at Parser.<anonymous> (/home/colinl/.node-red/node_modules/xml2js/lib/parser.js:303:18)
    at Parser.emit (events.js:189:13)
    at Parser.exports.Parser.Parser.parseString (/home/colinl/.node-red/node_modules/xml2js/lib/parser.js:313:16)
    at Parser.parseString (/home/colinl/.node-red/node_modules/xml2js/lib/parser.js:5:59)
    at Object.exports.parseString (/home/colinl/.node-red/node_modules/xml2js/lib/parser.js:354:19)
    at parseSOAPString (/home/colinl/.node-red/node_modules/onvif/lib/utils.js:62:9)
    at IncomingMessage.<anonymous> (/home/colinl/.node-red/node_modules/onvif/lib/cam.js:203:4)
    at IncomingMessage.emit (events.js:194:15)
    at endReadableNT (_stream_readable.js:1125:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)

Hey Colin (@Colin), that is indeed something I have also from time to time with my own cameras. Unfortunately I have so much work with other Node-RED issues, that I have had no time at all to work on my Onvif nodes meanwhile. Will come back on this once my backlog has become smaller ...

Ok, did you find a way to clear it? I have tried re-starting NR.

Hi Bart
Have you managed to find time to have a look at this? Unfortunately it doesn't work at all with me any more, though initially it did, which is rather strange. I have the error solidly so if you wanted me to do anything to help analyse it I would be very happy to do so.

Hi Colin (@Colin),
Recently my Onvif Hikvision camera arrived - after 3 months ... - so I wanted to start with my Onvif nodes again. But now I would like to finalize my camera viewer node first, since that can cooperate with the Onvif nodes very well (which allows me to test the Onvif nodes more rapidly). But I'm stuck with the camera viewer node at the moment. So unless somebody can give me a tip to solve/workaround that problem, I'm going have to waste my evenings finding a solution myself. But meanwhile I cannot continue the Onvif nodes ...
Bart

OK, undestood, unfortunately there are only so many hours in the day.

1 Like

Does the viewer node work without the SVG overlay? maybe separate the issues. I could perhaps test the viewer node, but I don't have anything that would find image overlays useful, What video input is required?

Hi @wb666greene,
Unfortunately it is not possible to separate the issues: when I (hopefully) find a solution for the overlay issue, this probably means that I have to rewrite the whole image display stuff also. And then we would have both wasted free time on testing an obsolete version. I will continue googling this evening, looking for a solution ...

Is this project still "active"?

I just got a 5Mpixel Onvif PTC camera from Amazon for ~$100. It nice in that you no longer need the lame activeX plugin to set it up and use it, meaning Chromium on Linux is all I needed no windows VM to set it up.

It was mostly an impulse purchase to "play with" as its not rated for outdoor use. Although I may mount it under an eve where is reasonably well protected from the weather.

1 Like

@wb666greene: it is not dead yet...
I have planned to continue it this winter. At the moment I have no time for it.

I understand, between now and then I'll see how far I get with your beta6 and examples on the GitHub and we'll take it from there when you are ready.

I don't envision using PTZ for anything other than keeping me off a ladder to fine tune the camera view, but at my age, that is starting to be a "big deal".

i tried to use the flow for the snapshot,
-> Onvif camera control
but i have no "image-node" installed.
what node is this? thx