李迟按:

这个文章讲讲笔者学习ONVIF的经历。

其实,早在2013年就接触了ONVIF。当时研发的新平台任务有ONVIF的需求。当时我记得自己使用GSOAP生成ONVIF框架代码,还录制了一个视频,在会上讲给同事听。后来利用业余时间看了ONVIF标准,一开始看得不明不白,基本不懂在看什么,看了2遍,发现了些门道,再看一遍,发现原来不过如此。由于公司在该新平台研发任务之前已经有其它部门同事实现了ONVIF,所以项目上直接使用。我用业余时间看,主要还是因为对此有兴趣;二来因为公司项目使用的是网络上人家生成好的代码。我不习惯直接使用人家的东西,必须要自己弄明白才行。后来“人家的代码”一直被使用着,公司组织变化后,ONVIF和流媒体任务落到部门所管,不过是其它同事维护着。所以我对ONVIF的了解,止步于此。

去年,公司参加ONVIF组织的一次会议,结果惨败,除了看视频外,其它功能基本没实现。公司决策对ONVIF进行重新梳理并要求在春节前部署到所有产品上(当然是不可能的)。当时老大是安排给另一位同事进行。再后来,领导看到任务量大,我作为当时部门唯一“机动人员”,光荣地被领导安排协助任务。终于在春节后完成了第一阶段工作。

后来,这个同事被派到大腿部门工作了,我光荣地接手ONVIF的第二阶段任务。但还是在该同事主导下进行,因为老大不放心我这么一位新手接手,怕搞乱重构后代码架构。实际上,我必须有能力独立承担此事。年中时,该同事果然终于转岗到那个部门了,我不出意料外地接手ONVIF的全部工作。自此,除了驱动、Linux系统,我还有ONVIF的任务。

在作为机动人员参与协助ONVIF任务后,又重新看了新版本的标准文档。由于这次真的要写代码实现,所以看得比较细。网上有很多讲ONVIF的文章,但很多是重复的,且是老版本的。不过作为入门资料还是有作用的。

经过较长时间编码的洗礼,对ONVIF有进一步的认知。比如IP地址子网掩码使用的是数字形式而不是常见的字符串。由于ONVIF不同命令使用的字段参数不固定,所以我们引入了C++的STL。像IP地址允许有多个;视频分辨率允许有多个,等等。这段时间也使得我在实际编码中尽量向C++ STL靠拢。

后来,经过考虑,决定在业余时间自己实现一个ONVIF客户端。

这样,对于ONVIF服务端和客户端都进行实践了,对此标准掌握也更加牢固。

当然,限于资源,只能实现了设备管理、媒体服务以及图像服务,其它如PTZ和事件监控,等到条件成熟或公司安排再进行了。

李迟 2016.10 中旬

我的一些学习经验:ONVIF相关推荐

  1. 架构师成长之路-个人学习经验分享(公司研发峰会演讲ppt)

    前天在公司分享了一些学习经验,园子中感兴趣可以看看.建议大家使用pptPlex来看这个片子. 首先从我在成长中不同阶段的工作和体会来谈不同阶段的学习内容谈起,为了做好这些必修课,我会对知识+实践+思考 ...

  2. 一些真诚的学习经验和生活感悟

    学习经验 首先分享一下自己在学习技术的过程中的一些经验啦,这些也是自己在学习的过程中慢慢总结出来的,希望对大家有所启发. 持续学习 当前互联网发展太快了,我们可以发现现在很多技术更迭太快.比如说前端吧 ...

  3. Yoshua Bengio等大神传授:26条深度学习经验

    Yoshua Bengio等大神传授:26条深度学习经验 发表于2015-09-17 08:21| 13482次阅读| 来源Marek Rei| 29 条评论| 作者Marek Rei 深度学习Pyt ...

  4. 强化学习—— 经验回放(Experience Replay)

    强化学习-- 经验回放(Experience Replay) 1.DQN的缺点 1.1 DQN 1.2 DQN的不足 1.2.1 经验浪费 1.2.2 相关更新(correlated update) ...

  5. 计算机相关专业学习经验总结

    计算机相关专业学习经验总结 无论学习计算机哪一个方向,完完全全可以在网络上找到相关, 你需要的完整的学习路线以及每一个学习步骤阶段 需要找到的东西和学习资料 勤自学.勤思考.勤搜索

  6. 小白一路走来,连续刷题三年,谈谈我的算法学习经验

    数据结构与算法应该算是一个比较难的模块,从小白一路走过来,从大一连续刷过好几年题,看过挺多书,踩过挺多坑,也涨了一些经验,姑且在这里分析一波对数据结构与算法 的学习经验,请耐心看完,相信对你会有所帮助 ...

  7. python整数类型进制表示_python2学习经验(一) 变量数据类型

    python2  基础教程 (学习经验总结) -------------------------基础片-------------------------- python2的数据类型 python2没有 ...

  8. 朱林北京大学计算机学院,北大、清华状元谈英语学习经验-20210411145045.docx-原创力文档...

    精品文档 精品文档 PAGE 精品文档 北大.清华状元谈英语学习经验 --------------------------------作者:------------------------------ ...

  9. WCF分布式开发步步为赢(0):WCF学习经验分享,如何更好地学习WCF?

    WCF分布式开发学习,应该从哪里开始? 微软WCF Web服务 Web API学习群 339444457 微软ASP.NET MVC 4 Web编程群     44206115 学习WCF是不是就不需 ...

  10. KMP算法的学习经验

    KMP算法的学习经验 (欢迎指正错误, 欢迎喷) 什么是kmp(完) kmp的额外知识(完) 暴力匹配的缺点,和代码实现(完) next[]数组的预先知识,了解前后缀,相同前后缀.(完) kmp的关键 ...

最新文章

  1. [Python]网络打解包
  2. 《深入理解计算机网络》读书笔记一
  3. mysql转oracle注意事项
  4. jquery:validate的例子{转载}
  5. Python删除文件夹和建立文件夹
  6. Unity3D播放背景音乐
  7. Python飞机大战项目终篇(一步一步实现---最全笔记)
  8. CVPR2004/风格分解:Separating Style and Content on a Nonlinear Manifold在非线性流形上分离样式和内容
  9. iphone通用设置里显示UDID(tweak)
  10. 实时汇率转换小程序(c++爬虫)
  11. Java 设计员工类Employee,假设现有教师、科学家2种员工类型,根据要求求出各人的全年收入。
  12. 交换机与路由器技术-05-路由器工作原理
  13. 2021第三届长安杯检材三复盘
  14. html上标下标标签 示例_带有示例HTML th表标题标签教程
  15. 股市第一赌局:百万赌金 侯宁催账叶荣添准备买单
  16. hook(2)Activity启动流程,安卓开发实战
  17. tophat2安装和问题解决
  18. scratch——画板
  19. 作家之旅 源自神话的写作要义(第三版)
  20. 神奇的大疆机甲大师来了!fire!fire!fire!

热门文章

  1. java struts2 demo,struts2入门例子 登陆demo!非常详细的图解
  2. python 空列表append_python空列表不能用append吗
  3. 一个男生写的关于怎么追女生昨天没有说一个很关键的东西
  4. 从门户网站看内容传播的开放式革命
  5. 下周见!Redmi K50标准版配置细节曝光:骁龙870+67W快充
  6. 股价暴跌 特斯拉市值周四蒸发上千亿美元
  7. 三年前赚走马云665亿的外卖小哥,现在怎么样了?
  8. 投行精英接班后,贵人鸟能否再高飞?
  9. 曝苹果iPhone 13将于8月开始大批量产,恶劣天气不会造成影响
  10. 荣耀:目前还在观望鸿蒙,未来的对手是苹果