FalkTannhaeuser / python-onvif-zeep

ONVIF Client Implementation in Python 2+3 (using https://github.com/mvantellingen/python-zeep instead of suds as SOAP client)
MIT License
428 stars 140 forks source link

Missing element ForcePersistence (SetVideoEncoderConfiguration.ForcePersistence) #24

Closed mandeepubc closed 6 years ago

mandeepubc commented 6 years ago

Hi, I am trying to set the video encoder configurations. I am passing the params as a dictionaries within a list. but I keep getting this error. I dont know how to add this.


from onvif import ONVIFCamera mycam = ONVIFCamera('192.168.0.110', 80, 'admin', 'K0mondor', '/home/oasis/Documents/python-onvif-zeep/wsdl/') import datetime media_service = mycam.create_media_service() params = [{ 'Name': 'VideoEncoder_1', 'UseCount': 1, 'Encoding': 'H264', 'Resolution': { 'Width': 1920, 'Height': 1080 }, 'Quality': 3.0, 'RateControl': { 'FrameRateLimit': 10, 'EncodingInterval': 1, 'BitrateLimit': 4096 }, 'MPEG4': None, 'H264': { 'GovLength': 50, 'H264Profile': 'Main' }, 'Multicast': { 'Address': { 'Type': 'IPv4', 'IPv4Address': '0.0.0.0', 'IPv6Address': None }, 'Port': 8860, 'TTL': 128, 'AutoStart': False, '_value_1': None, '_attr_1': None }, 'SessionTimeout': datetime.timedelta(0, 5), '_value_1': None, 'token': 'VideoEncoderToken_1', '_attr_1': { } }, { 'Name': 'VideoEncoder_2', 'UseCount': 1, 'Encoding': 'H264', 'Resolution': { 'Width': 640, 'Height': 360 }, 'Quality': 3.0, 'RateControl': { 'FrameRateLimit': 30, 'EncodingInterval': 1, 'BitrateLimit': 768 }, 'MPEG4': None, 'H264': { 'GovLength': 50, 'H264Profile': 'Main' }, 'Multicast': { 'Address': { 'Type': 'IPv4', 'IPv4Address': '0.0.0.0', 'IPv6Address': None }, 'Port': 8866, 'TTL': 128, 'AutoStart': False, '_value_1': None, '_attr_1': None }, 'SessionTimeout': datetime.timedelta(0, 5), '_value_1': None, 'token': 'VideoEncoderToken_2', '_attr_1': { } }]

media_service.SetVideoEncoderConfiguration({'Configuration':params},{'ForcePersistence': True})


media_service.SetVideoEncoderConfiguration({'Configuration':params},{'ForcePersistence': True}) Traceback (most recent call last):

File "", line 1, in media_service.SetVideoEncoderConfiguration({'Configuration':params},{'ForcePersistence': True})

File "/home/oasis/anaconda3/lib/python3.6/site-packages/onvif/client.py", line 28, in wrapped raise ONVIFError(err)

ONVIFError: Unknown error: Missing element ForcePersistence (SetVideoEncoderConfiguration.ForcePersistence)

I dont know how to add this 'ForcePersistence'.