l 视频监控服务器总体设计
视频监控服务器解决方案和实现的流程
本监控方案的结构所示。基于分层网络的视频监控系统由监控中心,远程监控终端和网络构成。每个监控中心都由监控服务器、监控终端、监控前端、摄像头、报警器和局域网组成。监控服务器负责本地局域网用户的管理,音视频数据、报警信号的转发、音视频数据的本地存储,管理监控前端,给远程用户或其他监控中心提供监控资源访问服务等。监控前端是一个Linux的嵌入式系统,它采集摄像头的视频数据,并用H.264标准压缩,把压缩数据打包并发送到IP网络上,也可以把音频信号压缩并打包和发送到IP网络;它支持云台控制协议;还支持报警器的信号编码。在物理结构上,每个监控中心都是一个功能完备的监控系统,它们是同级的,没有地域区分;在逻辑结构上,监控中心划分成树状的层次结构,每个监控中心由它上层的监控中心(称为分控中心)管理,最上层的监控中心是总控中心。这样的系统结构既可以使每个控制中心单独组成监控系统,又可以通过网络分层连接起来组成规模较大的监控系统,具有很好的扩展能力,适用于各种规模的实时监控。当上层的监控中心瘫痪或是网络发生故障的时候,每个监控中心还能独立正常地工作,提高了监控系统的健壮性。用户可以通过登录远程监控终端或者监控中心内部的监控终端,通过服务器的身份认证并获取 *** 作权限后对系统进行监控和管理。
1)监控前端的设计
监控前端是一个基于ARM处理器的Linu)【嵌入式系统。监控前端的主要硬件模块如图2所示,监控前端硬件部分可分为ARM CPU、系统内存、以太网接口、H.264编码模块、图像采集模块、视频存储模块,Flash存储模块,视频服务器管理模块,网络传送数据等几个部分。各模块由CPU统一管理和调度,Flash存储模块负责存放linux嵌入式 *** 作系统和各部分硬件驱动程序。摄像头的视频信号通过模数转换以后得到视频图像帧的数字信号,数字信号通过H.264编码模块压缩后的数据存放在H.264编码模块的缓冲区内,用户可以通过对WEB服务器的 *** 作,读取或修改这些压缩信号,最后图像信号到达网络传送模块,将经过H.264编码后的数据封装成RTP包,同时周期地发送RTCP包,以流媒体的方式传送到远程的客服端。
2)客服端(监控终端的设计)
监控终端软件的运行平台是基于Windows *** 作系统的PC机,可以高速连接到公共网络。监控终端软件采用了vi—sualc++MFC Windows界面编程的文档一视图编程模式,系统的类图设计如图3所示。CClientsocket类负责接收、解析网络数据包和发送用户命令。网络接收到的RTPARTCP包经过C~lientsocket类解析以后,如果是视频数据,则放在CVideoBufer类里面,如果是音频数据则放CAudioBufer类里面,其它的如报警,重启,删除等消息则放在C_ConTrolMes—sages类buffer里,CVideobufer是个图像缓冲区,CAudiobufer是音频缓冲区,我们通过线程同步,来实现音视频的同步播放。通过CConTrolMessages类里的成员函数,来响应用户需要的单路多放,回查,自动报警设置等功能。
远程连接就是在远程连接另外一台计算机,通过该功能运维工程师可以在家中安全的控制单位的服务器,从而快速且高效的完成自己的工作。当下,远程连接的实现方法有很多,概括地说有两种,一种是用系统自带的远程连接,另外一种是用第三方软件进行远程连接。最近我发现了五个非常好用的Linux远程连接工具,分享给大家,一起来看看吧。
第一款:Xshell(https://www.netsarang.com)
Xshell是一个非常强大的安全终端模拟软件,它支持SSH1,SSH2,以及Windows平台的TELNET协议。Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的,Xshell非常符合使用习惯,值得推荐。
优点:
①界面设计简洁,人性化,用起来比较舒服。
②支持标签,打开多个会话链接的时候比较方便。
③可以保存密码,方便下次直接使用,当然要做好电脑安全防护。
④支持rz和sz命令,这两个命令在传输少量小文件时非常方便。
⑤图形化支持本地和远程文件之间的传输,方便系统部署和日志排查。
第二款:winscp(https://winscp.net/eng/docs/lang:chs)
winscp是一个Windows环境下使用SSH的开源图形化SFTP工具客户端。同时支持SCP协议,它的主要功能就是在本地与远程计算机间安全的复制传输文件。winscp+putty软件配套使用。
优点:
①简洁的图形用户界面。
②Windows完美集成。
③完美支持所有常用文件 *** 作。
④可以批处理脚本和命令行方式。
⑤多种半自动、自动的目录同步方式。
⑥内置文本编辑器。
⑦可以存储会话信息,方便下次使用。
⑧可将设置存在配置文件中而非注册表中,适合在移动存储设备上 *** 作。
第三款:PuTTY(.putty.org/)
PuTTY是SSH和telnet客户端,最初由Simon
Tatham为Windows平台开发。用MIT许可证授权,包含的组件有:PuTTY、PuTTYgen、PSFTP、PuTTYtel、Plink、PSCP、Pageant,默认登录协议是SSH,默认的端口为22。PuTTY主要用来远程连接服务器,它支持SSH、Telnet、Serial等协议的连接。最常用的是SSH协议,用它来远程管理Linux服务器非常方便。
优点:
①完全免费开源。
②跨平台。
③绿色软件,体积不到1M,不需要安装,占用系统资源少。
④完全支持SSH1和SSH2。
第四款:MobaXterm(/mobaxterm.mobatek.net/)
MobaXterm的功能非常全面,几乎提供了所有重要的远程网络工具,以及Windows桌面上的Unix命令,登录之后默认开启sftp模式。
优点:
①功能非常全,基本上涵盖了服务器运维所有功能。
②免费开源。
③丰富的插件。
④超多好用的快捷键,效率非常高。
⑤支持多标签,切换也十分方便。
第五款:FinalShell(http://www.hostbuf.com/)
FinalShell是一体化的服务器网络管理软件,不仅是SSH客户端,FinalShell还是功能强大的开发、运维工具,充分满足用户的开发运维需求。
优点:
①跨平台。
②支持内存、CPU性能监控,Ping延迟丢包,Trace路由监控。
③支持rz、sz。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)