论文部分内容阅读
在现今的社会当中,稍微留意一下就会发现,监控摄像头已充斥在我们生活与工作场所中的许多地方。在如今已网络化的现代社会中,网络实时视频监控也得到的迅速的发展。但各监控设备产品及其解决方案还存在着许多问题,如不同厂家的产品互不兼容,没有对网络传输进行控制与优化,数据安全性较弱等。本课题主要针对以上问题,重新设计并实现了网络实时视频监控系统。本系统采用模块化的设计思想,将监控设备的差异性屏蔽在底层模块中,以使整个系统具备较强的兼容性。为了适应低带宽下的网络环境,系统采用了视频分发与连接限制的方案,在网络各节点处设置分发服务器。对于录像的保存与回放,该系统采用自行设计的一套方案,使得相关功能的实现变得非常方便。在客户端程序中的解码播放部分采用DirectShow来实现,与使用第三方解码动态库相比播放效率提升了5倍以上。同时将客户端做成了IE插件,让用户也能通过浏览器进行视频监控,提高了整个系统的可用性。本系统是针对多用户多视频多权限的业务需求而设计,系统在整个网络中呈现出一种分布式的结构。如在多个用户对同一监控通道进行控制时,用户有可能来自系统的各个层次,优先级的比较将会在不同的服务器上进行,最终汇集到最下一层服务器进行仲裁。还有监控设备的检索,当某个用户登录客户端时,必须通过各级的数据库查询出该用户所能访问的监控通道,整个查询过程也是一个全局性的分布式查询。同时在这个过程中会对每个监控通道进行动态编号,当用户选择播放后,一个包含编号的命令将传到最近的服务器。服务器分析后再去连接其他服务器,并转交命令。最终使得客户端与监控设备形成一个链路。这也使得整个系统具有极强的可靠性,无论网络中的哪一处出现问题,都不会使得整个系统瘫痪。不管在那一处对用户或设备进行变动时,都不会对系统的其它的地方产生影响。在本系统中所涉及到的技术包括:网络编程、多线程技术、DirectShow开发、IE插件制作、数据库技术、COM技术、H.264视频编码等。