onvif开发的一些总结

开发onvif有一段时间了,这里把一些开发的东西和大家分享一下。

写这篇文章主要目的:

是帮助一些刚接触监控开发,或者想了解onvif开发的朋友。

具体如何开发,不打算在这篇文章中详细说,后面有时间会更新。

这里主要介绍一些概念,以及一些常见的问题及解决思路99。

主要是用gsoap工具生成整体的框架。然后基于这个框架进行开发。

onvif官网地址:https://www.onvif.org/

1,onvif是一个标准,基于这个标准,我们可以开发出一套管理监控设备的程序。

例如:获取设备属性,获取设备的视频流并显示等等

gsoap官网地址::http://www.cs.fsu.edu/~engelen/soap.html

1,gsoap是一个工具,是用来生成符合onvif标准框架的工具。

生成的框架基于soap协议,传输xml格式的消息。

开发中会碰到一些莫名的crash,这时候除了需要debug,

我们还可以打开gsoap的调试开关例如:

在make的时候加入-DDEBUG的参数。

这时在运行时会打印出RECV.LOG SENT.LOG TEST.LOG三个调试文件。

通过名字也知道他们是干啥的。

开发的测试工具:

有很多,我们主要可以使用odm(onvif device manager),相当于是做好的客户端(C#,F#),这玩意我也不知道

如何debug的,因为会薄一些莫名的错误,大概是版本不对或者某些配置吧。

还有一个是onvif test tool.

官网地址:http://www.lingodigit.com/onvif_nvc.html

python版本的接口测试工具:

https://pypi.org/project/onvif/

对于需要支持h265的:

只有实现media2才能支持h265,即将media2编译进gsoap框架.

/** Web service operation '__tr2__GetStreamUri' (returns SOAP_OK or error code) */

SOAP_FMAC5 int SOAP_FMAC6 __tr2__GetStreamUri(struct soap* soap, struct _tr2__GetStreamUri *tr2__GetStreamUri, struct _tr2__GetStreamUriResponse *tr2__GetStreamUriResponse){ONVIF_NOTSUPPORTED_FUNC(soap, NULL);}

对于odm需要支持https的:

经过测试发现odm支持部分可以支持,如果需要完全支持,可以手动实现client

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值