linux 视频监控
发布网友
发布时间:2022-04-20 15:18
我来回答
共2个回答
热心网友
时间:2022-05-11 19:45
本系统使用linux操作系统,采用H.264/AVC图像压缩标准利用 rP协议,和多线程控制实时地传输视频数据,同时合理地设置缓存和利用有效的错误隐藏技术,使监控终端能得到较好的监控效果。能在带宽有限的情况下很好地实现监控效果,同时,监控中心在逻辑上采用了分层的结构,更利于系统的组建,具有很好的扩展能力,方便了跨地域的大型监控系统的组建,具有较好的发展前景。
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类里的成员函数,来响应用户需要的单路多放,回查,自动报警设置等功能。
热心网友
时间:2022-05-11 21:03
哇!!LINUX 系统下的视频监控软件!看来难找了!