quatanium / python-onvif

ONVIF Client Implementation in Python
MIT License
470 stars 314 forks source link

Hilvision IP cameras, unable to GetNetworkInterfaces() #43

Open tetherit opened 7 years ago

tetherit commented 7 years ago

Anyone else experienced this with Hikvision cameras?

>>> mycam = ONVIFCamera('192.168.88.14', 80, 'admin', 'password2', '/usr/local/wsdl')
>>> mycam.devicemgmt.GetNetworkInterfaces()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/onvif/client.py", line 32, in wrapped
    raise ONVIFError(err)
onvif.exceptions.ONVIFError: Unknown error: (400, u'Bad Request')

I'm able to do other things such as GetCapabilities:

>>> mycam.devicemgmt.GetCapabilities()
(Capabilities){
   Analytics = 
      (AnalyticsCapabilities){
         XAddr = "http://192.168.88.14/onvif/Analytics"
         RuleSupport = True
         AnalyticsModuleSupport = True
      }
   Device = 
      (DeviceCapabilities){
         XAddr = "http://192.168.88.14/onvif/device_service"
         Network = 
            (NetworkCapabilities){
               IPFilter = True
               ZeroConfiguration = True
               IPVersion6 = True
               DynDNS = True
               Extension = 
                  (NetworkCapabilitiesExtension){
                     Dot11Configuration[] = 
                        "false",
                     Extension[] = 
                        (Extension){
                           DHCPv6[] = 
                              "true",
                           Dot1XConfigurations[] = 
                              "0",
                        },
                  }
            }
         System = 
            (SystemCapabilities){
               DiscoveryResolve = False
               DiscoveryBye = True
               RemoteDiscovery = True
               SystemBackup = True
               SystemLogging = True
               FirmwareUpgrade = True
               SupportedVersions[] = 
                  (OnvifVersion){
                     Major = 2
                     Minor = 40
                  },
                  (OnvifVersion){
                     Major = 2
                     Minor = 20
                  },
                  (OnvifVersion){
                     Major = 2
                     Minor = 10
                  },
                  (OnvifVersion){
                     Major = 2
                     Minor = 0
                  },
               Extension = 
                  (SystemCapabilitiesExtension){
                     HttpFirmwareUpgrade[] = 
                        "true",
                     HttpSystemBackup[] = 
                        "true",
                     HttpSystemLogging[] = 
                        "false",
                     HttpSupportInformation[] = 
                        "false",
                  }
            }
         IO = 
            (IOCapabilities){
               InputConnectors = 1
               RelayOutputs = 1
               Extension = 
                  (IOCapabilitiesExtension){
                     Auxiliary[] = 
                        "false",
                     AuxiliaryCommands[] = 
                        "nothing",
                     Extension[] = 
                        "",
                  }
            }
         Security = 
            (SecurityCapabilities){
               TLS1.1 = False
               TLS1.2 = False
               OnboardKeyGeneration = False
               AccessPolicyConfig = False
               X.509Token = False
               SAMLToken = False
               KerberosToken = False
               RELToken = False
               Extension[] = 
                  (Extension){
                     TLS1.0[] = 
                        "false",
                     Extension[] = 
                        (Extension){
                           Dot1X[] = 
                              "false",
                           SupportedEAPMethod[] = 
                              "0",
                           RemoteUserHandling[] = 
                              "false",
                        },
                  },
            }
      }
   Events = 
      (EventCapabilities){
         XAddr = "http://192.168.88.14/onvif/Events"
         WSSubscriptionPolicySupport = True
         WSPullPointSupport = True
         WSPausableSubscriptionManagerInterfaceSupport = False
      }
   Imaging = 
      (ImagingCapabilities){
         XAddr = "http://192.168.88.14/onvif/Imaging"
      }
   Media = 
      (MediaCapabilities){
         XAddr = "http://192.168.88.14/onvif/Media"
         StreamingCapabilities = 
            (RealTimeStreamingCapabilities){
               RTPMulticast = True
               RTP_TCP = True
               RTP_RTSP_TCP = True
            }
         Extension[] = 
            (Extension){
               ProfileCapabilities[] = 
                  (ProfileCapabilities){
                     MaximumNumberOfProfiles[] = 
                        "10",
                  },
            },
      }
   Extension = 
      (CapabilitiesExtension){
         hikCapabilities[] = 
            (hikCapabilities){
               XAddr[] = 
                  "http://192.168.88.14/onvif/hik_ext",
               IOInputSupport[] = 
                  "true",
               PrivacyMaskSupport[] = 
                  "true",
               PTZ3DZoomSupport[] = 
                  "false",
               PTZPatternSupport[] = 
                  "true",
            },
         DeviceIO[] = 
            (DeviceIO){
               XAddr[] = 
                  "http://192.168.88.14/onvif/DeviceIO",
               VideoSources[] = 
                  "1",
               VideoOutputs[] = 
                  "0",
               AudioSources[] = 
                  "1",
               AudioOutputs[] = 
                  "1",
               RelayOutputs[] = 
                  "1",
            },
         Recording[] = 
            (Recording){
               XAddr[] = 
                  "http://192.168.88.14/onvif/Recording",
               ReceiverSource[] = 
                  "false",
               MediaProfileSource[] = 
                  "true",
               DynamicRecordings[] = 
                  "false",
               DynamicTracks[] = 
                  "false",
               MaxStringLength[] = 
                  "64",
            },
         Search[] = 
            (Search){
               XAddr[] = 
                  "http://192.168.88.14/onvif/SearchRecording",
               MetadataSearch[] = 
                  "false",
            },
         Replay[] = 
            (Replay){
               XAddr[] = 
                  "http://192.168.88.14/onvif/Replay",
            },
      }
 }
tapas commented 7 years ago

was your problem solved ?