【视频系统】技术汇编
1.IPC和NVR的区别
IPC是IP Camera,即网络摄像头。
NVR是Network Video Record,即网络视频录像机,就是支持保存回放监控录像的服务器。
传统数据流:
IPC(拍摄) → 网络传输 → NVR(存储/管理) → 用户(查看/回放)
随着家用摄像头的兴起,云存储逐渐流行,家用一般不会单独弄一个存储服务器,而是由厂家提供租用式的云服务:
IPC + SD卡 + 云服务
随着AI的兴起,AI也逐渐加入到摄像头的基本功能中:
IPC + SD卡 + 云服务+AI
2.ONVIF协议
ONVIF协议就是网络摄像头控制协议。
2.1 架构
架构图:
先学习一下什么是Web Service:
- Web Service:根据我的理解,Web Service和它的名字一样,是一套网络服务标准规范,通过这个协议,网络上的节点可以发现服务,调用服务,就是这么简单。SOAP是调用协议(SOAP=XML+HTTP/STMP+RPC),WSDL是接口头文件。和互联网的微服务架构基本上是一个东西。每个技术都各司其职,都只负责解决一个层级的问题。
- Onvif协议:理解什么是Web Services
可能有的人会问了,为什么用Web Service,为什么不用RESTful API,直接用Get/Post+Json也好啊,为什么搞这么复杂?我也有这个疑问,看看AI怎么说:
总的来说,就是Web Service更专业,优点大于缺点。特定场景下,不是RESTful API不行,而是Web Service更好。
2.2 协议规范:一手资料
学习协议最好要有一手资料,二手资料水平层次不齐,就像是犹抱琵琶半遮面一样,学得云里雾里。
- Onvif Specifications:官方定义的网络摄像头服务接口,就是接口文档,按照接口文档去调用对应的接口,控制摄像头,我们的目的就达到了。
下面是官方的图:
实际上就这么多接口而已。接口定义文件,官方也给写好了,直接拿来生成代码,就可以用了,很简单吧?
2.3 实操
大致架构已经清楚,但是没有动手实操过,等于是半懂不懂。下面是实操的教程:
- Onvif协议:使用gSOAP创建SOAP调用实例