laszlojakab / hikvision-intercom-python-demo

Hikvsion intercom Python demo
MIT License
19 stars 6 forks source link

Start two way audio #3

Closed pergolafabio closed 2 years ago

pergolafabio commented 2 years ago

Hey @laszlojakab , long time ago? :-)

Still working on this script? Did you find a way to start two way audio with SDK? would be nice to make calls from HA app

thnx for feedback

laszlojakab commented 2 years ago

Hello @pergolafabio :)

I'm not working on this project at the moment (to be honest the doorbell is still not integrated into my HA). There was a note in SDK docs (v6.1.6.45 which I think is an old one - maybe should download a newer) that no two way audio support for Linux and Win64:

Windows 64-bit or Linux system only supports voice forward function. Two-way audio, voice broadcast, audio encoding API are not supported.

If it is still true it is sad because almost no one use Win32.

pergolafabio commented 2 years ago

ah ok, thats indeed to bad, but hikvision seems are hiring developers to make sdk happen on arm too :-), maybe for the future

i'm still using your script, works perfect in HA, have it loaded in an add-on, instant call notifications and events for door , works good

But one other thing, do you know why your script doesnt work on particular python versions? with some , like 3.8 or 3.9 i always have segmentation fault when i start it, with 3.7 no issue

pergolafabio commented 2 years ago

Hey @laszlojakab , i found something usefull seems synology is also now starting with intercoms, the hikvision is a supported device... and two way audio works on that app!! verry interesting!! see below for trace, they use ISAPI command for it

The only problem i have is, when some actually call (doorbell is ringing) ;, then its not possible to start two way audio , probably because mic is in use... i tried below command

curl -i --digest -u admin:xxx -X PUT -H "Content-Type: application/json" -d '{"CallSignal":{"cmdType": "cancel"}}' http://192.168.0.xx/ISAPI/VideoIntercom/callSignal?format=json

but gives me:

{
        "requestURL":   "/ISAPI/VideoIntercom/callSignal",
        "statusCode":   4,
        "statusString": "Invalid Operation",
        "subStatusCode":        "invalidOperation",
        "errorCode":    1073741830,
        "errorMsg":     "invalid operation"
}

so i was thinking, maybe its possible with your script/sdk? is the callsignal and/or two way audio also implemented in the SDK? couldnt find it? would be usefull if your script was able to run also as somekind of socket tcp listener, so i can send commands to it, like call hangup or answer...

what do you think?

image

laszlojakab commented 2 years ago

Where did you find these versions? I can't find them on HikVision website. ARM would be interesting :) but I have no time to develop anything at the moment. I have several other HA related projects to finish.

pergolafabio commented 2 years ago

Ah cool, what are you working on with h HA then, I'll drop you a message on HA forum , not here