随笔分类 -  Qt/C++项目作品

摘要:一、前言 硬件加速这个功能在一年多以前就已经具备,当时对两个内核一个是ffmpeg内核、一个是vlc内核都做了对应的接口函数,只是当时为了简单没有在系统设置中做出接口,vlc做硬件加速不用自己写代码实现,毕竟vlc是在ffmpeg基础上又增加了一层壳,硬件加速那块的功能都vlc自己内部实现了,只需要 阅读全文
posted @ 2020-01-09 09:11 飞扬青云 阅读(1733) 评论(0) 推荐(0) 编辑
摘要:一、前言 离线地图这个功能是近期才完成的,老早以前就很多人问有没有离线地图的功能,之前也大致了解过如何做离线地图,其实最核心的不是代码,而是如何搞到免费的离线地图文件,离线地图下载器网上大部分都是收费的,而且好像还不便宜,后面找了很多终于找到个简单的可用的,可以指定城市进行离线地图的下载,离线地图一 阅读全文
posted @ 2020-01-08 13:57 飞扬青云 阅读(1071) 评论(0) 推荐(0) 编辑
摘要:一、前言 自定义悬浮条功能集成在通用视频控件中,就是提供一个顶部的悬浮条,放一排功能按钮,有抓拍、录像、云台控制、关闭等,相当于可以直接单击对应的按钮针对该通道的视频进行操作,悬浮条的含义就是鼠标移入的时候显示出来,移除的时候自动隐藏,只在需要的时候显示出来,为视频画面尽可能多的流出空间显示,自定义 阅读全文
posted @ 2020-01-07 10:02 飞扬青云 阅读(1539) 评论(0) 推荐(0) 编辑
摘要:一、前言 在现在很多的应用系统中,会提供一个地图模块,地图相关的应用和app也是非常多,最广泛的应用就属于导航,地图基本上分在线的和离线的两种,在线的一般都是实时的,数据也是最新的,速度很快路线很准,缺点是耗费流量,一直需要收发数据,而离线的需要先把地图包和对应的文件下载到本地,直接读取本地的地图数 阅读全文
posted @ 2020-01-04 20:05 飞扬青云 阅读(7740) 评论(0) 推荐(0) 编辑
摘要:一、前言 图片地图这个模块是后面新增加进去的,主要是安防领域还有很多应用场景是一个区域比如就一个学校,提供一个学校的平面图或者鸟瞰图,然后在该地图上放置对应的摄像机,双击该摄像机图标可以查看对应的实时视频,报警的时候弹出报警视频,切换到当前报警对应的地图,闪烁设备图标,用户可以在右侧的地图列表中单击 阅读全文
posted @ 2020-01-03 09:55 飞扬青云 阅读(704) 评论(0) 推荐(0) 编辑
摘要:一、前言 摄像机搜索模块是后面新增加的,这个模块很有必要,一开始做视频监控系统的时候,那时候还没有研究出来一套纯Qt底层通信的onvif类,也就前几个月搞出来了,支持搜索设备信息和云台控制,所以马上加到了监控系统中,大部分的监控系统都支持两种搜索,一种是自家私有协议即SDK的方式搜索设备,只能搜索到 阅读全文
posted @ 2019-12-30 14:47 飞扬青云 阅读(810) 评论(0) 推荐(0) 编辑
摘要:一、前言 摄像机管理在整个系统中是数据库部分最核心的,只有添加了摄像机信息,才能进行加载,生成树状列表等,摄像机表信息的字段内容改过好几次,有可能后期还需要修改,目前摄像机表信息主要包括摄像机编号、摄像机名称、所属录像机、厂家、设备地址、媒体地址、云台地址、主码流地址、子码流地址、经纬度、背景地图、 阅读全文
posted @ 2019-12-29 14:54 飞扬青云 阅读(729) 评论(0) 推荐(0) 编辑
摘要:一、前言 录像机管理模块,在本系统中除了用来存储NVR信息以外,方便生成对应的摄像机树状列表,目前没有其他用处,一个考虑是为了方便后期拓展,比如改成SDK内核加载视频流和回放视频等,甚至还需要做一些人脸识别之类的处理,这个就需要提供原始的NVR信息了,录像机信息主要包括名称、类型(厂家,后期用来决定 阅读全文
posted @ 2019-12-26 09:59 飞扬青云 阅读(894) 评论(0) 推荐(0) 编辑
摘要:一、前言 日志查询功能是基础功能,主要分两块,一个是本地日志查询,包括运行日志、报警日志、操作日志;一个是设备日志查询,就是通过SDK去拉去NVR设备的日志信息,包括系统操作、配置操作、报警操作、录像操作、文件操作、远程操作、其他操作等,这些日志信息都是存储在NVR设备上的,根据查询的请求逐一返回日 阅读全文
posted @ 2019-12-25 09:07 飞扬青云 阅读(966) 评论(0) 推荐(0) 编辑
摘要:一、前言 云台控制是视频监控系统中必备的一个功能,对球机进行上下左右的移动,还有焦距的控制,其实核心就是控制XYZ三个坐标轴,为了开发这个模块,特意研究了各种云台控制的方法和开源库比如soap,有些厂家使用自家SDK控制云台,但是大部分都会选择onvif来控制,毕竟是国际标准的通用的,只要符合这个标 阅读全文
posted @ 2019-12-22 13:13 飞扬青云 阅读(1363) 评论(0) 推荐(1) 编辑
摘要:一、前言 在线地图模块在一开始设计整个系统的时候就考虑进去了,主要功能就是在摄像机管理中,提供经纬度信息,然后加载百度地图在浏览器中显示,根据摄像机信息表中的每个摄像机的经纬度信息,自动生成设备点在地图中,地图是在线的,支持鼠标拖动、滚动缩放等,设备的信息通过一开始写入到html文件中加载的,也可以 阅读全文
posted @ 2019-12-20 09:07 飞扬青云 阅读(677) 评论(0) 推荐(0) 编辑
摘要:一、前言 设备播放模块是后面增加的,核心就是通过组合rtsp视频流地址来播放实时视频和历史视频,目前市面上很多厂家比如排第一的海康都是支持直接rtsp通过NVR来播放某个通道视频流和回放某个通道的视频流,这些格式在网上都可以搜索到的,每个厂家的第一可能有点不一样,但是大致的信息都一样,比如要播放实时 阅读全文
posted @ 2019-12-19 10:18 飞扬青云 阅读(928) 评论(0) 推荐(0) 编辑
摘要:一、前言 远程回放有两种处理方式,一种是采用NVR厂家提供的SDK开发包来登录到NVR上,然后根据SDK的函数接口指定的视频文件,当然也有接口查询视频文件列表等;一种是采用视频监控行业的国标GB28181协议,来注册到NVR上然后查询和播放视频文件。两种处理方式各有优缺点,用SDK的话,接口比较丰富 阅读全文
posted @ 2019-12-18 09:00 飞扬青云 阅读(711) 评论(0) 推荐(0) 编辑
摘要:一、前言 在上一篇文章将视频文件存储好了,需要提供界面方便用户查询视频文件进行回放,其实这个回放就是播放历史存储的视频文件,并不是什么高大上的东西,视频回放在这个系统中分三种,第一种是本地回放,回放存储在客户端本地的视频文件;第二种是远程回放,采用NVR厂家提供的SDK开发包或者国标GB28181协 阅读全文
posted @ 2019-12-17 09:22 飞扬青云 阅读(1028) 评论(0) 推荐(0) 编辑
摘要:一、前言 很多年前就做过类似的项目,无非就是将本地的图片上传到服务器,就这么简单,其实用http的post上传比较简单容易,无需自定义协议,直接设置好二进制数据即可,而采用TCP或者UDP通信的话,必须自定义协议,因为不知道什么时候数据接收完了是完整的图片数据,可能同时在发送很多图片数据,而且还不能 阅读全文
posted @ 2019-12-14 23:41 飞扬青云 阅读(7574) 评论(3) 推荐(0) 编辑
摘要:一、前言 用户属性是后面新增加的一个功能,自定义控件如果采用的Q_PROPERTY修饰的属性,会自动识别到属性栏中,这个一般称为控件属性,在组态设计软件中,光有控件本身的控件属性还是不够的,毕竟这些属性仅仅是以外观为主,并不能表示某个设备的属性,所以需要除了这个控件属性以外增加用户属性来存储该控件关 阅读全文
posted @ 2019-11-24 16:29 飞扬青云 阅读(2637) 评论(0) 推荐(0) 编辑
摘要:一、前言 我们在很多的安装包中,在安装过程中,经常可以在底部看到一个漂亮的进度条,上面悬浮着显示对应的进度,然后底部进度多种颜色渐变展示,Qt自带的进度条或者操作系统的进度条样式,不够炫,这次索性直接来个自定义绘制实现,至于是继承QWidget类还是QProgressBar类,都无所谓,如果是继承自 阅读全文
posted @ 2019-10-17 09:24 飞扬青云 阅读(3263) 评论(1) 推荐(0) 编辑
摘要:一、前言 现在web形式的图表框架非常流行,国产代表就是echart,本人用过几次,三个字屌爆了来形容,非常强大,而且易用性也非常棒,还是开源免费的,使用起来不要太爽,内置的各种图表和仪表盘等非常丰富,展现形式也是非常多样的。 本次要写的圆弧进度条,就是参考自echart中的一个圆弧进度条,主要结构 阅读全文
posted @ 2019-10-16 13:05 飞扬青云 阅读(2502) 评论(0) 推荐(0) 编辑
摘要:一、前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反而没有扁平化来得亲切。 Flat UI是基于Bootstrap之上进行二次开发的扁平化前端框架,他提 阅读全文
posted @ 2019-10-15 08:37 飞扬青云 阅读(3364) 评论(0) 推荐(0) 编辑
摘要:一、前言 代码行数统计主要用来统计项目中的所有文件的代码行数,其中包括空行、注释行、代码行,可以指定过滤拓展名,比如只想统计.cpp的文件,也可以指定文件或者指定目录进行统计。写完这个工具第一件事情就是统计了一下自己写过的最大的项目大概多少行代码,看下是不是传说中的一行代码一块钱,这个最大的项目从2 阅读全文
posted @ 2019-10-14 08:56 飞扬青云 阅读(2381) 评论(0) 推荐(0) 编辑