ispysoftware / iSpy

Open source surveillance software
http://www.ispyconnect.com
Other
1.35k stars 534 forks source link

PTZ for v380 Shenzhen IP Camera #136

Closed drtanzil closed 3 years ago

drtanzil commented 3 years ago

v380 (Chinese) / Shenzhen camera is not listed on iSpy I was able to connect v380 with rtsp both FFMPEG & VLC & video works OK with iSpy However PTZ is not working. I've tried ONVIF device manager & PTZ is working OK there.

Could you please let me know how to configure PTZ for v380 ?

v380 camera has TCP port open: 554, 8899, 8800 & 9800

Thanks in advance.

bearmen commented 3 years ago

maybe you should check and change videoSourceIndex = 9 when connect your CAM

ispysoftware commented 3 years ago

see Adding PTZ Support for Unlisted Cameras https://www.ispyconnect.com/userguide-ptz.aspx

if it supports onvif then add it as an onvif device instead and ptz should work

drtanzil commented 3 years ago

@ispysoftware : On that link, instruction is not clear. There's no example how to make custom XML file for new camera, no documentation what different parameter mean on PTZ2.xml.

I'm not quite familiar with camera firmware platform. However v380 has opensource SDK on git & expert programmer like you can easily include the PTZ for iSpy. the src is here

Thanks again for the support & great work!

ispysoftware commented 3 years ago

the xml is pretty self explanatory - any questions just ask - did you try with onvif?

drtanzil commented 3 years ago

@ispysoftware : yes I tried ONVIF from iSpy and not working.

I've found a python source code which control PZT. But can't figure it out how to use that XML on iSpy. I'm pasting it here-

PZT control URL for RTSP:

http://192.168.0.131:8899/onvif/ptz', data=xml

XML for left

<s:Envelope
        xmlns:s="http://www.w3.org/2003/05/soap-envelope">
        <s:Body
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <ContinuousMove
                xmlns="http://www.onvif.org/ver20/ptz/wsdl">
                <ProfileToken>
                    stream0_0
                    </ProfileToken>
                <Velocity>
                    <PanTilt
                        x="0.5"
                        y="0"
                        xmlns="http://www.onvif.org/ver10/schema"/>
                    </Velocity>
                </ContinuousMove>
            </s:Body>
        </s:Envelope>

XML For Right

<s:Envelope
        xmlns:s="http://www.w3.org/2003/05/soap-envelope">
        <s:Body
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <ContinuousMove
                xmlns="http://www.onvif.org/ver20/ptz/wsdl">
                <ProfileToken>
                    stream0_0
                    </ProfileToken>
                <Velocity>
                    <PanTilt
                        x="-0.5"
                        y="0"
                        xmlns="http://www.onvif.org/ver10/schema"/>
                    </Velocity>
                </ContinuousMove>
            </s:Body>
        </s:Envelope>

XML for Up

<s:Envelope
        xmlns:s="http://www.w3.org/2003/05/soap-envelope">
        <s:Body
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <ContinuousMove
                xmlns="http://www.onvif.org/ver20/ptz/wsdl">
                <ProfileToken>
                    stream0_0
                    </ProfileToken>
                <Velocity>
                    <PanTilt
                        x="0"
                        y="0.5"
                        xmlns="http://www.onvif.org/ver10/schema"/>
                    </Velocity>
                </ContinuousMove>
            </s:Body>
        </s:Envelope>

XML for down

<s:Envelope
        xmlns:s="http://www.w3.org/2003/05/soap-envelope">
        <s:Body
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <ContinuousMove
                xmlns="http://www.onvif.org/ver20/ptz/wsdl">
                <ProfileToken>
                    stream0_0
                    </ProfileToken>
                <Velocity>
                    <PanTilt
                        x="0"
                        y="-0.5"
                        xmlns="http://www.onvif.org/ver10/schema"/>
                    </Velocity>
                </ContinuousMove>
            </s:Body>
        </s:Envelope>

Here is the git link for v380 control: https://github.com/Gowresh7/V380_Python

drtanzil commented 3 years ago

I've tested on Fiddler. Posting

<s:Envelope
        xmlns:s="http://www.w3.org/2003/05/soap-envelope">
        <s:Body
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <ContinuousMove
                xmlns="http://www.onvif.org/ver20/ptz/wsdl">
                <ProfileToken>
                    stream0_0
                    </ProfileToken>
                <Velocity>
                    <PanTilt
                        x="0.5"
                        y="0"
                        xmlns="http://www.onvif.org/ver10/schema"/>
                    </Velocity>
                </ContinuousMove>
            </s:Body>
        </s:Envelope>

is moving the camera to left. Code is working. Now stuck at how to implement it on iSpy's PTZ2.xml.

ispysoftware commented 3 years ago

Those are onvif commands. You should be using the onvif source type and make sure that onvif is selected on the PTZ tab. Our new platform Agent has new onvif code that you could try.

On Sat, Nov 28, 2020 at 1:55 AM drtanzil notifications@github.com wrote:

I've tested on Fiddler. Posting

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <ContinuousMove xmlns="http://www.onvif.org/ver20/ptz/wsdl">

stream0_0
            <Velocity>
                <PanTilt
                    x="0.5"
                    y="0"
                    xmlns="http://www.onvif.org/ver10/schema"/>
                </Velocity>
            </ContinuousMove>
        </s:Body>
    </s:Envelope>

is moving the camera to left. Code is working. Now stuck at how to implement it on iSpy's PTZ2.xml.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ispysoftware/iSpy/issues/136#issuecomment-734938318, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGDKXIIHBXUJHJR3U2S72DSR7RZPANCNFSM4UECPDHQ .

drtanzil commented 3 years ago

@ispysoftware : Thanks a lot. Finally its been solved.

  1. Camera src need to ONVIF
  2. PTZ need to ONVIF

That works! I was trying to make it work since last 3 days and finally it worked! Thanks! Can we control Movement speed?

hbprophecy commented 3 years ago

drtanzil, how did you add this camera using ONVIF?

0zoon0 commented 2 years ago

@drtanzil how did you add this camera using ONVIF? @ispysoftware the thing is that this camera implements few PTZ endpoints only (looks like ContinousMove, AbsoluteMove and Stop), but no other ONVIF endpoints. So when I'm trying to add it as ONVIF camera iSpy is checking /onvif/device_service endpoint and there is no good response from the camera. So it keeps saying "Please select the camera". I cannot add it as ONVIF camera. But I can add it using wizard as it has rtsp endpoint. Then I go to PTZ configuration, choose ONVIF, input port 8899 (because /onvif/ptz endpoint is responding on that port), but iSpy is not sending SOAP any PTZ requests to the camera. And it looks like I cannot define a new PTZ model for SOAP requests. Is there anything else I can do to have PTZ workingas ONVIF when camera is not registered as ONVIF camera? Thank you so much.

ispysoftware commented 2 years ago

yeah it wont work unless the whole connection to the camera is onvif. The video source sets up the connection and the ptz then piggy backs off that for commands. you might need to check the port it's using for onvif, frequently it's not the same port as for general web access.

On Thu, Feb 10, 2022 at 12:02 AM 0zoon0 @.***> wrote:

@drtanzil https://github.com/drtanzil how did you add this camera using ONVIF? @ispysoftware https://github.com/ispysoftware the thing is that this camera implements few PTZ endpoints only (looks like ContinousMove, AbsoluteMove and Stop), but no other ONVIF endpoints. So when I'm trying to add it as ONVIF camera iSpy is checking /onvif/device_service endpoint and there is no good response from the camera. So it keeps saying "Please select the camera". I cannot add it as ONVIF camera. But I can add it using wizard as it has rtsp endpoint. Then I go to PTZ configuration, choose ONVIF, input port 8899 (because /onvif/ptz endpoint is responding on that port), but iSpy is not sending SOAP any PTZ requests to the camera. And it looks like I cannot define a new PTZ model for SOAP requests. Is there anything else I can do to have PTZ workingas ONVIF when camera is not registered as ONVIF camera? Thank you so much.

— Reply to this email directly, view it on GitHub https://github.com/ispysoftware/iSpy/issues/136#issuecomment-1033920390, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAGDKXJSJALGN3XDW4ZFDY3U2KFXTANCNFSM4UECPDHQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

0zoon0 commented 2 years ago

you might need to check the port it's using for onvif, frequently it's not the same port as for general web access.

Running nmap gives me 554, 8800, 8899. 554 this is rtsp, 8800 is closing the connection without any response for any SOAP requests, and 8899 is returning 400 Bad Request for any path except for /onvif/ptz. So, I believe it has no onvif/device_service enpoint implemented.

I hope @drtanzil would tell us how he managed to add it to ispy.

Thank you for quick reply.

shahriarsaem commented 10 months ago

Can anyone tell me how to check which ports are open in v380 camera?