繁体   English   中英

ONVIF CreateOSD() 返回“配置令牌不存在”

[英]ONVIF CreateOSD() returns 'Configuration Token does not exist'

from onvif import ONVIFCamera

camera = ONVIFCamera(<host>, <port>, <user>, <passwd>, adjust_time=True)
camera.create_media_service()
osd = camera.media.create_type('CreateOSD')
osd.OSD = {
    'token': 'token0',

    'Position': {
        'Type': 'UpperLeft',
    },
    'TextString': {
        'PlainText': 'TEST',
        'Type': 'Plain',
    },
    'Type': 'Text',
    'VideoSourceConfigurationToken': 'token1',
}
response = camera.media.CreateOSD(osd)
print(response)

这是我的全部代码。

当我调用 GetServiceCapabilities() 时,OSD 返回 True,所以我认为我的相机确实支持 OSD。

我该如何解决这个错误?

通过添加VideoSourceConfigurationToken解决了这个问题。

最终代码:

from onvif import ONVIFCamera

camera = ONVIFCamera(<host>, <port>, <user>, <passwd>, adjust_time=True)

camera.create_media_service()

profiles = camera.media.GetProfiles()

osd = camera.media.create_type('CreateOSD')
osd.OSD = {
    'token': 'token0',

    'Position': {
        'Type': 'UpperLeft',
    },
    'TextString': {
        'PlainText': 'TEST',
        'Type': 'Plain',
    },
    'Type': 'Text',
    'VideoSourceConfigurationToken': profiles[0].VideoSourceConfiguration.token,
}
response = camera.media.CreateOSD(osd)
print(response)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM