valkka-core
valkka-core copied to clipboard
Onvif Recordings
I'm trying to use the Onvif Recordings WSDL
I create my custom class as follows:
class Recordings(OnVif):
namespace = "http://www.onvif.org/ver10/recording/wsdl"
wsdl_file = getWSDLPath("recording.wsdl")
sub_xaddr = "recording_service"
port = "RecordingBinding"
Using this class I create my device_service
object. However when I'm trying to use the available methods from the WSDL,
like:
device_service.ws_client.GetRecordings() or device_service.ws_client.GetServiceCapabilities()
I'm getting the following error.
device_service.ws_client.GetServiceCapabilities()
File "/home/alejo/.local/lib/python3.8/site-packages/zeep/proxy.py", line 46, in __call__
return self._proxy._binding.send(
File "/home/alejo/.local/lib/python3.8/site-packages/zeep/wsdl/bindings/soap.py", line 135, in send
return self.process_reply(client, operation_obj, response)
File "/home/alejo/.local/lib/python3.8/site-packages/zeep/wsdl/bindings/soap.py", line 229, in process_reply
return self.process_error(doc, operation)
File "/home/alejo/.local/lib/python3.8/site-packages/zeep/wsdl/bindings/soap.py", line 392, in process_error
raise Fault(
zeep.exceptions.Fault
Checking a little bit more in the soap,py file the response I'm getting is always 400
. However this doesn't happen if I use other classes such as DeviceManagement
. Any hint what might be causing this?
The wsdl files that come off-the-shelf with libValkka, might not be the most up-to-date (I'll keep this ticket open so I remember to update them at some moment)
Other from that, can't say, since I have never used onvif recording features.. I assume you're trying to send some onvif commands to a camera so that the camera itself would do some internal recording of it's stream?
In libValkka we have the philosophy that cameras should be as dum as possible and just offer low-latency video stream and everything else is then done in the libValkka / linux server side.