JavaScript
x
21
21
1
from onvif import ONVIFCamera
2
3
camera = ONVIFCamera(<host>, <port>, <user>, <passwd>, adjust_time=True)
4
camera.create_media_service()
5
osd = camera.media.create_type('CreateOSD')
6
osd.OSD = {
7
'token': 'token0',
8
9
'Position': {
10
'Type': 'UpperLeft',
11
},
12
'TextString': {
13
'PlainText': 'TEST',
14
'Type': 'Plain',
15
},
16
'Type': 'Text',
17
'VideoSourceConfigurationToken': 'token1',
18
}
19
response = camera.media.CreateOSD(osd)
20
print(response)
21
This is my whole code.
When I call GetServiceCapabilities(), OSD returns True so I think my camera does support OSD.
How can I fix this error?
Advertisement
Answer
Solved this by adding VideoSourceConfigurationToken
.
Final code:
JavaScript
1
26
26
1
from onvif import ONVIFCamera
2
3
camera = ONVIFCamera(<host>, <port>, <user>, <passwd>, adjust_time=True)
4
5
camera.create_media_service()
6
7
profiles = camera.media.GetProfiles()
8
9
osd = camera.media.create_type('CreateOSD')
10
osd.OSD = {
11
'token': 'token0',
12
13
'Position': {
14
'Type': 'UpperLeft',
15
},
16
'TextString': {
17
'PlainText': 'TEST',
18
'Type': 'Plain',
19
},
20
'Type': 'Text',
21
'VideoSourceConfigurationToken': profiles[0].VideoSourceConfiguration.token,
22
}
23
response = camera.media.CreateOSD(osd)
24
print(response)
25
26