ubuntu下onvif协议的编译和使用

ubuntu下onvif协议的编译和使用

  • 本文主要分享一下整体的过程和我遇到的一些问题,详细过程见参考博客中的专栏。

目录

参考文章

-https://blog.csdn.net/benkaoya/article/category/6924052

流程

编译gsoap库(需要支持openssl功能)

gsoap编译onvif协议

  • 上面的支持openssl的gsoap编译完成后就可以用来编译onvif(在线编译)

onvif协议中调用函数以实现功能

  • 编译项目时注意链接openssl的库文件,增加编译选项(-DWITH_OPENSSL)(以上是两步,我之前以为是同一步卡了好久QAQ)
  • 为此专门去学习了以下cmake,写了一个CMakeiststxt(编译果然方便了很多),可以参考我的文章https://blog.csdn.net/qq_25188995/article/details/81811756
  • 这一步的代码主要参考了上面博主大神的代码
  • 博主的代码中显示结构体数据的文件是他自己写的(如dump…),不过他没有分享,我们只要去查一下数据结构,很容易写一个显示的代码
  • 这一过程肯定要理清onvif各个函数的关系,只要去 soapStub.h这一头文件去搜索好了
  • 编程过程中需要用到wireshark抓包进行分析
  • 测试时用到的文件
CMakeCache.txt  cmake_install.cmake    dom.c       duration.h    
  mecevp.c  MediaBinding.nsmap  RemoteDiscoveryBinding.nsmap  smdevp.h 
 wsseapi.h  CMakeFiles      CMakeLists.txt       DeviceBinding.nsmap 
 duration.c    Makefile        mecevp.h  onvif.h       smdevp.c           
 soapC.c   soapH.h       stdsoap2.c  testfiles   threads.h  wsaapi.h  wsseapi.c

已经实现的功能

  • 设备查找
  • 查询及修改设备系统时间
  • 获取设备的功能
  • 获取视频流的rstp流地址和截图(其实是个10s的短视频)的http地址
  • 测试了几个IPC,大华、海康,DUNLOP,其中有3个海康IPC,有一个完全搜索不到

后续

  • 有一些设备的信息获取不全,以及功能需要完善
  • 对于大华IPC的支持
  • 由于以后开发的软件是windows的,肯定要在windows环境进行编译和编码

感受

  • 由于是转行,基础知识不扎实,为了一些常识类的问题折腾了许多时间,不过总算折腾出了大概的思路。这一过程中了解了许多基础工具的用途和编译的流程,收获颇丰。非常感谢各博主的分享。编译过程中存在许多重复和冗余的过程。欢迎各位交流学习。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值