qt 飞扬青云_Qt编写安防视频监控系统(界面很漂亮)

一、前言

视频监控系统在整个安防领域,已经做到了烂大街的程序,全国起码几百家公司做过类似的系统,当然这一方面的需求量也是非常旺盛的,各种定制化的需求越来越多,尤其是这几年借着人脸识别的东风,发展更加迅猛,人脸识别相关的技术和应用这几年处于风口浪尖,衍生了特别多的应用产品,各种人脸识别的产品遍地开花,刷脸门禁,车站机场人脸识别,刷脸取票等,但是其实大部分内行人士可能都比较绝望,外行感觉像看科幻片一样,老板们各种打鸡血,今天几个亿明天几个亿。

纵观Qt的应用场景领域,在国内,基本上在安防、航天船舶、教育、工业控制领域,占有比较大的比例,其实个人非常喜爱Qt的,从没见过如此完美的API封装,包括命名,最牛逼的就是跨平台特性,可以说完爆.NET的跨平台,甚至连那种几十兆的嵌入式linux版本都能运行,这就使得成本大大降低,提高了产品的丰富性。自从用了Qt以后,就再也不想用VC/VB/C#等。

国内安防领域,当属海康大华第一第二,这两个单位也是有大量的Qt职位,使得Qt这么一个极其小众的编程开发环境能够发挥出更大的魅力,本系列文章将会介绍如何用Qt来编写一个基础的视频监控系统,提供部分核心代码,欢迎各位提出建议。

二、文章导航

三、系统介绍

监控系统是由摄像、传输、控制、显示、记录登记5大部分组成。摄像机通过同轴视频电缆将视频图像传输到控制主机,控制主机再将视频信号分配到各监视器及录像设备,同时可将需要传输的语音信号同步录入到录像机内。 通过控制主机,操作人员可发出指令,对云台的上、下、左、右的动作进行控制及对镜头进行调焦变倍的操作,并可通过控制主机实现在多路摄像机及云台之间的切换。利用特殊的录像处理模式,可对图像进行录入、回放、处理等操作,使录像效果达到最佳。

视频监控系统由实时控制系统、监视系统及管理信息系统组成。实时控制系统完成实时数据采集处理、存储、反馈的功能;监视系统完成对各个监控点的全天候的监视,能在多操作控制点上切换多路图像;管理信息系统完成各类所需信息的采集、接收、传输、加工、处理,是整个系统的控制核心。视频监控系统是安全防范系统的组成部分,它是一种防范能力较强的综合系统。视频监控以其直观、方便、信息内容丰富而广泛应用于许多场合。

四、功能特点

支持16画面切换,全屏切换等,包括1+4+6+8+9+13+16画面切换。

支持alt+enter全屏,esc退出全屏。

自定义信息框+错误框+询问框+右下角提示框。

17套皮肤样式随意更换,所有样式全部统一,包括菜单等。

云台仪表盘鼠标移上去高亮,八个方位精准识别。

底部画面工具栏(画面分割切换+截图声音等设置)移上去高亮。

可在配置文件更改左上角logo+中文软件名称+英文软件名称。

封装了百度地图,三维切换,设备点位,鼠标按下获取经纬度等。

堆栈窗体,每个窗体都是个单独的qwidget,方便编写自己的代码。

顶部鼠标右键菜单,可动态控制时间CPU+左上角面板+左下角面板+右上角面板+右下角面板的显示和隐藏,支持恢复默认布局。

工具栏可以放置多个小图标和关闭图标。

左侧右侧可拖动拉伸,并自动记忆宽高位置,重启后恢复。

双击摄像机节点自动播放视频,双击节点自动依次添加视频,会自动跳到下一个,双击父节点自动添加该节点下的所有视频。

摄像机节点拖曳到对应窗体播放视频,同时支持拖曳本地文件直接播放。

视频画面窗体支持拖曳交换,瞬间响应。

双击节点+拖曳节点+拖曳窗体交换位置,均自动更新url.txt。

支持从url.txt中加载16通道视频播放,自动记忆最后通道对应的视频,软件启动后自动打开播放。

右下角音量条控件,失去焦点自动隐藏,音量条带静音图标。

集成百度地图,可以添加设备对应位置,自动生成地图,支持缩放和三维地图,提供地图风格选择,共12种风格。

视频拖动到通道窗体外自动删除视频。

鼠标右键可删除当前+所有视频,截图当前+所有视频。

录像机管理、摄像机管理,可添加删除修改导入导出打印信息,立即应用新的设备信息生成树状列表,不需重启。

在pro文件中可以自由开启是否加载地图。

视频播放可选四种内核自由切换,vlc+ffmpeg+easyplayer+海康sdk,均可在pro中设置。

可设置1+4+9+16画面轮询,可设置轮询间隔以及轮询码流类型等,直接在主界面底部工具栏右侧单击启动轮询按钮即可,再次单击停止轮询。

默认超过10秒钟未操作自动隐藏鼠标指针。

高度可定制化,用户可以很方便的在此基础上衍生自己的功能,支持linux系统。

五、效果图

你可能感兴趣的:(qt,飞扬青云)