Onvif OSD相关操作

您所在的位置:网站首页 海康摄像头改名称换行 Onvif OSD相关操作

Onvif OSD相关操作

2024-01-01 17:07| 来源: 网络整理| 查看: 265

Onvif OSD相关配置 jluyeyu | 发布于 2018-07-16 16:55:56 | 阅读量 1952 | onvif

与OSD有关的命令有:CreateOSD、DeleteOSD、GetOSDs、GetOSD、SetOSD、GetOSDOptions。下面逐一介绍。 GetOSDOptions:获取当前相机具备的OSD选项。如字体大小范围、OSD总数、日期时间格式,等等。

输入:ConfigurationToken [ReferenceToken]

输出:

MaximumNumberOfOSDs 最大OSD数目

Total 总共几个 PlainText [int] Text类型数目 Image [int] 图像类型数目 DateAndTime [int] 时间日期类型数目

Type 支持的类型

‘文字' '图片' '扩展

PositionOption 位置

UpperLeft 左上 UpperRight 右上 LowerLeft 左下 LowerRight 右下 Custom 自定义

FontSizeRange 字体大小值的范围。

DateFormat 支持的日期格式列表。

TimeFormat 支持的时间格式列表

FontColor 支持的字体颜色列表。

获取ConfigurationToken

/** * @explan: 获取VideoSourceToken * @param: const char * mediaAddr media地址 * @param: std::string & videoSourceToken 用于存放VideoSourceToken的字符串 * @return: int * success return 0 */ int COvifClient::GetVideoSourceToken(const char* mediaAddr, std::string& videoSourceToken) { MediaBindingProxy* pMedia = new MediaBindingProxy(); int result = soap_wsse_add_UsernameTokenDigest(pMedia->soap, NULL, USERNAME, PASSWORD); ///< 启动鉴权 if (SOAP_OK != result) { printf_s("soap_wsse_add_UsernameTokenDigest. User:[%s] PASSWORD:[%s]\n", USERNAME, PASSWORD); return -1; } _trt__GetProfiles Profiles_req; _trt__GetProfilesResponse Profiles_rep; result = pMedia->GetProfiles(mediaAddr, NULL, &Profiles_req, Profiles_rep); if (SOAP_OK != result) { printf_s("GetProfiles error.\n"); return -1; } ///< 可能会有好几路流,相应的也会有好几个profile,这里只取第一路码流 videoSourceToken = Profiles_rep.Profiles[0]->VideoSourceConfiguration->token; return SOAP_OK; } /** * @explan: 显示OSD设置项 * @param: const char * deviceAddr 设备地址 * @return: int * success return 0 */ int COvifClient::ShowOSDOpinion(const char* deviceAddr) { if (deviceAddr == nullptr) { printf_s("deviceAddr == nullptr\n"); return -1; } ///< 获得Media模块服务地址 std::string mediaAddr; int result = this->GetMediaAddr(deviceAddr, mediaAddr); if (SOAP_OK != result) { printf_s("GetMediaAddr error.\n"); return -1; } MediaBindingProxy* pMedia = new MediaBindingProxy(); result = soap_wsse_add_UsernameTokenDigest(pMedia->soap, NULL, USERNAME, PASSWORD); ///< 启动鉴权 if (SOAP_OK != result) { printf_s("soap_wsse_add_UsernameTokenDigest. User:[%s] PASSWORD:[%s]\n", USERNAME, PASSWORD); return -1; } std::string profileToken; result = GetProfilesToken(mediaAddr.c_str(), profileToken); if (result != SOAP_OK){ cout GetOSDOptions(mediaAddr.c_str(), NULL, &getOptions_req, getOptions_rep); if (result != SOAP_OK){ cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3