海康威视频监控设备Web查看系统(一):概要篇

声明:本系列文章只提供交流与学习使用。文章中所有涉及到海康威视设备的SDK均可在海康威视官方网站下载得到。文章中所有除官方SDK意外的代码均可随意使用,任何涉及到海康威视公司利益的非正常使用由使用者自己负责,与本人无关。


题外话:

为什么在开始之前先说题外话呢?主要是为了怕有人误会,以为这里要写的是一个关于视频流处理的文章。其实这个系列的几篇文章可能和视频流的处理半毛钱关系都没有,冲着视频技术来的看官们,可能让你们失望了。这个系列里主要涉及的技术大概有.net的socket处理,C#写ActiveX插件,少量的线程处理,以及对非托管C++库的调用。

另一方面,这个系列文章说的是一个综合的小项目,没有复杂的功能,没有严谨的项目管理过程,但却有一个技术探索的一般过程。好了,题外话到此结束,下面是正题了。

需求描述:


前一段时间公司兄弟部门提出需求,希望能够把公司部分公共区域的监控视频共享出来给员工查看,这个事情最后落地到鄙人身上。经过多方联系,了解到需求实现的两个制约条件。

  1. 网络条件:员工使用网段与监控设备所在网段为不同网段,之间有物理隔离,无法直接访问。这个问题比较容易解决,迁移一下设备所在的网段就能解决。

  2. 设备限制:海康的监控摄像头最多只支持16个客户端同时连接,无法满足现有需求。这个比较难搞,联系厂商,厂家说不提供这一块的服务,需要自己解决。这态度,我就呵呵了。

方案思路:

现状就是这样,没有其他办法,只能开发来解决这些问题了。其实想想问题也没多麻烦,数据只要采集到服务器上一切就搞定容易了。沿着这条初步思路,在海康官网下了一堆SDK,你还别说,东西挺全的,什么方法都提供现成的了。什么视频采集、设备设置、视频播放这些都有现成的接口可以直接使用。更让我惊喜的是,SDK里居然还提供C#和Java版本的DEMO,好吧,看到这些前面联系客服碰的钉子就不放心上了,可能客服MM那天失恋了,心情不好也说不定。

说回正题,既然有这些给力的SDK就该搭建一个原型来验证把视频数据通过服务端接到客户端这种思路是否正确,具体实现下一篇会细说,这里就长话短说,原型验证成功。说明思路很正确,下一步就是具体的开发工作了,在原型基础上一步步的重构,最后一个从视频设备读取视频数据转发给客户端的系统就搞定了。

经过进一步压力测试以后发现有性能不能满足需求,需求要求能够满足公司近千人的使用,并发要求很高,并且视频服务器要求必须及时处理所有数据到客户端的转发,否则客户端将出现跳帧,卡顿的问题。解决压力问题从两个方面着手:

  1. 进一步重构优化现有代码,提高性能。

  2. 设计分布部署。

最后的最后上线的系统,部署方案如图所示:

从操作数据流方面整个序列图如下:

从两个图中很清楚的能够看出这个系统的设计思路,

    1. 视频中转服务器不断从设备将视频数据读入本地;

    2. 客户端打开访问页面时先从Web服务器获取到视频服务器的地址;

    3. 客户端插件直接连接视频服务器,读取视频数据解码显示。

当然从图中也很容易发现系统的不足之处。

    1. 系统没有对各视频中转服务器状态进行跟踪,可能分配给客户端一个异常的节点;

    2. 由于视频中转服务器之间无法通讯并且不存在管理节点,所以无法做负载均衡;

    3. 视频当中转服务器节点书超过监控设备最大连接数时,无法进一步扩容。

关于系统的不足之处,是下一个阶段处理的问题,在这个系列里不会处理。但是非常欢迎各位大仙大神讨论。。。这里就不多说了。

最后,细心的读者一定已经发现前面段落中出现的橙色标记的关键字。

  1. 初步思路

  2. 搭建一个原型

  3. 原型验证

  4. 重构

  5. 测试

  6. 进一步重构

  7. 循环5、6直到系统上线但不截止上线为止。。。

一个简单方法论的实践过程。希望对大家有用。

乱七八糟的写了一堆,实在是想写的点太多,写的时候觉得这个重要,那个也重要,最后貌似什么也没写,让大家见笑了。下一篇应该是要写服务端的功能设计及实现,希望有需求的人多关注。

时间: 2024-09-29 03:21:17

海康威视频监控设备Web查看系统(一):概要篇的相关文章

海康威视频监控设备Web查看系统(三):Web篇

声明:本系列文章只提供交流与学习使用.文章中所有涉及到海康威视设备的SDK均可在海康威视官方网站下载得到.文章中所有除官方SDK以为的代码均可随意使用,任何涉及到海康威视公司利益的非正常使用由使用者自己负责,与本人无关. 前言: <海康威视频监控设备Web查看系统(一):概要篇> <海康威视频监控设备Web查看系统(二):服务器篇> 本文是本系列三篇文章中的最后一篇,在前两篇文章中,介绍了开发海康监控的方案及中转服务器的实现,本篇文章介绍Web端的功能实现,经过本篇文章中的项目开发

海康威视频监控设备Web查看系统(二):服务器篇

声明:本系列文章只提供交流与学习使用.文章中所有涉及到海康威视设备的SDK均可在海康威视官方网站下载得到.文章中所有除官方SDK意外的代码均可随意使用,任何涉及到海康威视公司利益的非正常使用由使用者自己负责,与本人无关. 前言: 上一篇文章<海康威视频监控设备Web查看系统(一):概要篇>笼统的介绍了关于海康视频中转方案的思路,本文将一步步实现方案中的视频中转服务端.文中会涉及到一些.net socket处理和基础的多线程操作.我用的是SDK版本是SDK_Win32_V4.2.8.1 .大家根

海康视频监控---Demo

1,使用在页面中调用ActiveX控件 <object classid='clsid:E7EF736D-B4E6-4A5A-BA94-732D71107808' codebase='' standby='Waiting...' id='PreviewActiveX' width='100%' height='100%' name='ocx' align='center'> <param name='wndtype' value='1'> <param name='playmo

【云快讯】《选择视频监控云11个理由》

2015-08-28 张晓东 东方云洞察 点击上面的链接文字,可以快速关注"东方云洞察"公众号 VSaaS(视频监控作为一种服务),是指基于云托管的视频监控.该服务通常包括视频录制.存储.远程查看.管理警报.网络安全等内容.据统计,百分之93的企业已经采用了云解决方案.云计算技术的进步和更大的带宽使得VSaaS(也被称为云视频监控)越来越有吸引力. 本文节选自Dean Drako的白皮书<11 reasons Why VideoSurveillance is Moving to

一周集成行业智能监控应用,阿里云发布智能视频监控平台

在4月22-25日于上海举办的2019联通合作伙伴大会上,阿里云首次对外发布了智能视频监控平台,同时向参会的数千名伙伴及业界人士演示了一分钟视频监控上云系统,阐述了阿里云智能视频监控平台助力传统监控领域上云的优势和方法. 在视频监控领域,上云和AI是未来的趋势,阿里云智能视频监控解决方案无缝集成了视频监控产品和智能视觉产品.该平台依托遍布全球的边缘接入节点和出色的视频技术,面向监控设备提供统一开放的视频流接入.处理和分发服务.将传统的本地监控视频内容接入云端,进行存储.录制回看.全网分发,同时通

VSAM:视频监控系统 A System for Video Surveillance and Monitoring

VSAM(VideoSurveillance and Monitoring)视频监控系统 Robotics Institute CMU 1:引言 2:试验床介绍 3:基本的视频分析算法:运动目标检测,跟踪,分类,简单行为识别 4:地理空间模型,感知网络标定,三维地理位置估计,目标图形显示 5:多摄像机协作 6:成果展示及未来的研究计划 1 引言 VSAM可自动解析场景中的人和车,检测目标并按语义分类,如人.人群.车,以及在此基础上的行为分析,如走动.奔跑.利用VSAM,单个人即可监控复杂区域,跟

Qt编写安防视频监控系统18-云台控制

一.前言 云台控制是视频监控系统中必备的一个功能,对球机进行上下左右的移动,还有焦距的控制,其实核心就是控制XYZ三个坐标轴,为了开发这个模块,特意研究了各种云台控制的方法和开源库比如soap,有些厂家使用自家SDK控制云台,但是大部分都会选择onvif来控制,毕竟是国际标准的通用的,只要符合这个标准的都可以使用,onvif协议的解析通常用的开源库是soap,涵盖的内容比较全,包括获取各种设备信息和回控等,缺点就是比较臃肿,使用非常不容易,函数名实在是有点不顺手,很多新手都绕在其中不知所措最后放

高清网络视频监控系统中交换机的选择

目前视频监控系统已经完成从传统模拟视频监控到数字视频监控的全面升级,并逐渐发展到高清网络数字视频监控阶段,利用现有的办公网络.行业专网.光纤专网,甚至互联网和无线网络等基础架构,搭建以区域安防.生产监视等不同目的的高清网络视频监控系统.其中百万级像素网络摄像机的大规模普及,既解决了传统模拟视频监控系统清晰度不足的尴尬局面也提高了监控系统的便捷性和安全性. 高清网络视频监控系统优势 先进性:利用现有的综合布线网络传输图像,进行实时监控系统所需的前端设备少,连线简洁,后端仅需一套软件系统即可; 可靠

大规模视频监控系统将以云存储为主

随着高清技术的普及,720P.1080P视频已经遍地开花,同时基于对 清晰度的追求,时候智能分析的处理,500W.800W.甚至上千万更高分辨率的摄像机开始崭露头角:如此高清的监控,问题也伴随而来:高清视频数据动辄 几G到几十G的文件,对存储设备的容量.读写性能.可靠性.扩展性等都提出了更高的要求,对于存储厂商而言也面临着更大的挑战:如何在视频监控系统中选用 适宜的数据存储解决方案,显得格外重要.站在系统建设角度考虑,需要充分考虑功能集成度.数据安全性.数据稳定性,系统可扩展性.性能及成本各方面