1、要求:利用“索引”查找关于“计划任务”的帮助信息,并打开“如何计划任务”的帮助信息:开始→帮助和支持→索引→输入“计划任务”→双击“如何计划任务”
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169492.html原文链接:https://javaforall.cn
做视频监控系统,绕不过onvif这玩意,这玩意主要就是为了统一一个大概的标准,能够对各个厂家的监控设备进行常用的一些操作,比如搜索、获取信息、云台控制、事件订阅、抓拍图片等,如果没有这个规范,那么各个厂家都各自为政,需要用私有的sdk去处理,这样就很麻烦很惨了,几十个厂家就需要几十个sdk,对于程序员来说简直是灾难,想想就很恐怖的事情,哪个程序员不想多活几年!
摘要:我们将会为Web开发人员提供多个资源。其中包括一个着陆页设计资源、两种降低屏幕刺眼程度的方法、一个用来实现拖曳网页布局的插件、一个用于整理date-picker的jQuery插件,以及许多为开发
本章介绍jQuery中支持Ajax的各种方法和函数,阐述通过Ajax交互的过程与常用方法,重点介绍核心方法$.ajax()的运用技巧。通过ajax全局事件的介绍,进一步巩固前面所学基础内容。
以前不知道onvif也可以做抓拍功能,直到近期重新用Onvif Device Test Tool工具测试的时候,发现还有抓图的接口,于是抓跑分析出要收发的数据,然后加入到自己封装的onvif操作类中,这个抓图有个应用场景就是报警以后,直接通过onvif抓图,而不需要打开实时视频流,基本上不占用什么资源。
为用户提供的拖曳功能很直观,在很对桌面应用程序中,复制或移动对象都可以通过拖曳来完成
云台控制也是onvif功能中最常用的,最常用的功能排第一的是拿到视频流地址,排第二的就是云台控制了,云台控制的含义就是对带云台的摄像机进行上下左右的移动,一般云台摄像机都是带有一个小电机,一旦收到485或者网络来的正确的指令以后就触发单片机程序,然后单片机程序驱动电机进行转动,所以相对来说云台摄像机比普通的摄像机更耗电,当然价格也更贵。
通过onvif来调整图片的Brightness(亮度)、ColorSaturation(色彩饱和度)、Contrast(饱和度)这三个参数,可以实时观测到监控画面对应的变化,比如讲亮度Brightness拉到最低,可以看到这个画面一片漆黑。通过onvif来调节图片的颜色光线,就无须通过厂家私有SDK去调节,当然厂家SDK能够去调节的参数肯定更多更全更好速度更快,这个功能用到的地方不多,大部分的时候其实还是安装调试期间,直接在前端摄像机的网页配置界面或者客户端界面上调整好,一般调整好以后基本上不会再去改动,尤其是经过验收的项目,经过专家的建议调整后固定在那个参数就行。
上一篇文章写的是onvif设备搜索,搜到这些设备以后,第一件事情就是要对设备信息获取一下,比如获取视频流地址,配置套件信息、码流信息、分辨率大小等,这些信息的获取根据具体的需要去获取,也没有必要全部获取,毕竟很可能大部分的信息用不到,按需编码永远都是第一原则,第二原则才是考虑拓展性和稳定性,如果基本的需求都实现不了,那就不是一个真正的软件,考虑再多的拓展性和稳定性都是白搭,说的严重一点就是:所有编程语言都是垃圾,能解决实际需求并变现才是王道!
事件订阅是近期增加的功能,主要是因为遇到越来越多的一个应用场景,能够接收摄像机的报警事件,比如几乎所有的摄像机后面会增加报警输入输出接口,如果用户外接了报警输入,则当触发报警以后,对应的事件也会通过onvif传出去,这样就相当于兼容了所有onvif摄像机厂家的报警事件接收,在一些应用系统中,这个功能也是很常见的。
预置位在视频监控系统中是不可或缺的存在,响应预置位功能的前提是要带预置位的云台球机,有些普通的云台球机其实不带预置位的,这个要检查清楚,硬件上不支持该功能的,你再怎么点也没反应。在这个视频监控系统的使用过程中,就有不少的用户会问这个问题,为啥他点了云台没法应之类的,前提是要硬件支持才行啊。
时隔一年多,重新对视频监控系统的onvif内核重写,一方面为了兼容Qt6,一方面按功能分类提高效率。整体逻辑思路是一样的,主要的改动是由于Qt6不再支持QtXmlPatterns模块(其实这个模块在Qt5的后面的版本也逐渐提示为废弃模块),onvif协议通信中的数据都是带有命名空间的xml数据,用QtXmlPatterns模块去解析是最合适的,现在全部改成了用最原始最基础的QtXml模块去解析,毕竟QtXml模块肯定是一直在的,这是相当基础的模块,无论以后Qt7还是Qt100肯定都会有。
整个onvif模块大部分的功能都有了以后,除了在demo上点点按钮可以执行获取结果显示外,最终还是要应用到视频监控中,在按钮上点点和系统中后台自动运行是两码事,比如onvif校时和事件订阅,不会说是傻到在监控系统界面上提供按钮给用户点击才去执行,最多做的应该是系统设置中提供两个开关比如自动校时、事件订阅,可以方便的开启这几个功能。开启以后等监控系统启动后自动去处理,比如挨个对摄像机进行校时处理以及订阅事件,为了能够做到添加摄像机后自动立即应用,特意改成了在打开摄像机视频画面的时候,主动去实例化DeviceOnvif类(每个摄像机都对应一个实例)
拖放是一种常见的操作,即抓取对象以后从一个位置拖到另一个位置。 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。
这次主要是把 RecyclerView 比较常用的基本的点,在这里集中整理一下。从这篇文章主要梳理以下几点:
二、功能特点 (一)软件模块 视频监控模块,各种停靠小窗体子模块,包括设备列表、图文警情、窗口信息、云台控制、预置位、巡航设置、设备控制、悬浮地图、网页浏览等。 视频回放模块,包括本地回放、远程回放、设备播放、图片回放、视频上传等。 电子地图模块,包括图片地图、在线地图、离线地图、路径规划等。 日志查询模块,包括本地日志、设备日志等。 系统设置模块,包括系统设置(基本设置、视频参数、数据库设置、地图配置、串口配置等)、录像机管理、摄像机管理、轮询配置、用户管理等。 (二)基础功能 支持各种视频流(rtsp、
视频监控系统在整个安防领域,已经做到了烂大街的程序,全国起码几百家公司做过类似的系统,当然这一方面的需求量也是非常旺盛的,各种定制化的需求越来越多,尤其是这几年借着人脸识别的东风,发展更加迅猛,人脸识别相关的技术和应用这几年处于风口浪尖,衍生了特别多的应用产品,各种人脸识别的产品遍地开花,刷脸门禁,车站机场人脸识别,刷脸取票等,但是其实大部分内行人士可能都比较绝望,外行感觉像看科幻片一样,老板们各种打鸡血,今天几个亿明天几个亿。
为用户提供的拖曳功能很直观,在很多桌面应用程序中,复制或移动对象都可以通过拖曳来完成。
在视频监控系统中,对摄像机进行时间设置也是很有必要的,这样就和服务器或者软件这边统一了时间,一般在摄像机的画面上可以设置OSD标识当前时间,这样存储到视频文件中回放的时候,也能和本地的时间一致,一般的视频监控系统默认都会开启ONVIF校时,通过标准的公开的onvif协议来对前端摄像机设备进行时间设置,当然也可以获取时间。前端摄像机设备和后端管理软件或者服务器时间统一是非常重要的一个因素,本人经历过很多视频监控系统相关的项目,很多时候的报修情况就是因为前端设备时间和服务器端不一致的情况,导致的各种奇奇怪怪的问题。
Tableau 让人们看到数据的美,以及无限探索数据真相的可能。简便、快速地创建可视化分析视图,并通过仪表板和数据进行交互,是 Tableau 的拿手好戏。
之前就提过,Qt的属性机制强大到爆,这次的动态属性功能就是要让他爆,很难想象只要一行代码即可widget->setProperty("value", value);没错就这么简单,调用弱属性机制,可以直接控制控件中的所有属性,设计这个机制的人绝对是天才,直接跪了。至于具体底层是怎么实现的,这个可以先不管,也没有太多精力再去研究Qt的源码了,那个源码非常庞大,研究源码的时候最快的办法是搜索直接定位对应文件。本设计器除了提供文本框输入值进行动态改变控件属性以外,还提供了了滑动条、随机模拟数据、串口采集数据、网络采集数据、数据库采集数据等多种方式获取数据源。
Android DynamicGrid是一个第三方开源项目,DynamicGrid在github上的项目主页是:DynamicGrid
推送技术的基础思想是将浏览器主动查询信息改为服务器主动发送信息。服务器发送一批数据,浏览器显示这些数据,同时保证与服务器的连接。当服务器需要再次发送一批数据时,浏览器显示数据并保持连接。以后,服务器仍然可以发送批量数据,浏览器继续显示数据,依次类推。
推送技术的基础思想是将浏览器主动查询信息改为server主动发送信息。server发送一批数据,浏览器显示这些数据,同一时候保证与server的连接。当server须要再次发送一批数据时,浏览器显示数据并保持连接。以后,server仍然能够发送批量数据,浏览器继续显示数据,依次类推。
在前一章中,我们了解了 Ajax 的分析和抓取方式,这其实也是 JavaScript 动态渲染的页面的一种情形,通过直接分析 Ajax,我们仍然可以借助 requests 或 urllib 来实现数据爬取。
通道切换在视频监控系统中是最基础的必备功能,一般都会提供1通道+4通道+6通道+8通道+9通道+16通道这几个通道切换,可能做得比较好的还会提供24通道+32通道的,这个可能对电脑的配置就有一定要求了,一般来说,超过9个通道实时显示视频流,基本上会采用子码流来显示,如果都采用主码流,电脑压力非常巨大,CPU占用很高,内存也高,不过现在的电脑配置越来越高,基本上四千多的台式机,配置已经非常好了,显示个16个通道的实时视频毫无压力。 Qt中的布局非常好用,尤其是QGridLayout表格布局,可以指定行列放置控件,而且还可以设置每个控件占用几行几列,这样就可以完美的实现各种通道布局了。比如6通道,可以设置通道1占用两行两列,其他通道各站一行一列即可,当切换布局的时候,其他隐藏即可。
一、功能特点 支持16画面切换,全屏切换等,包括1+4+6+8+9+13+16画面切换。 支持alt+enter全屏,esc退出全屏。 自定义信息框+错误框+询问框+右下角提示框。 17套皮肤样式随意更换,所有样式全部统一,包括菜单等。 云台仪表盘鼠标移上去高亮,八个方位精准识别。 底部画面工具栏(画面分割切换+截图声音等设置)移上去高亮。 可在配置文件更改左上角logo+中文软件名称+英文软件名称。 封装了百度地图,视图切换,设备点位,鼠标按下获取经纬度等。 堆栈窗体,每个窗体都是个单独的qwidget,
上一篇文章把插件加载好了,并且把插件中的所有控件都显示到了列表框中,这次要做的就是实现拖曳控件的功能,用户选择一个控件拖曳到画布上,松开,在松开位置处自动实例化该控件,这个需要用到dropEvent和dragEnterEvent事件,重新实现这两个事件,对拖曳的对象进行过滤并调用函数实例化该控件,在实例化该控件的同时实例化控件跟随控件以便拉伸调整大小和位置。这里需要注意的是dragEnterEvent是必须的,很多人以为拖曳只要实现dropEvent就可以了,其实不行的,没有效果的,需要先dragEnterEvent来过滤好了执行event->accept()才行,不然根本没有效果,很多人尤其是初学者都挂在这里,我就是在这里摔了一跤,好疼!
快捷键 全局选项: Alt + 鼠标滚轮 上/下使窗口 透明/不透明 程序切换: Alt + Tab:在当前工作台中切换窗口 Ctrl + Alt + Tab:在所有工作台中切换窗口 窗口排列(编排并显示所有窗口):上/下 左下角(关键区域):所有工作台(点击一个窗口缩放它到前台) 右上角(关键区域):当前工作台 显示桌面(看当前立体面的桌面): 右下角(关键区域):开/关 立方体旋转: Ctrl + Alt + 左/右方向键:立体地切换桌面 Ctrl + Shift + Alt + 左/右方向键:把活动窗口移到左/右工作台 Ctrl + Alt + 鼠标左键并拖曳:手动旋转立方体 缩放: Win + 鼠标右键:缩放一次 Win + 鼠标滚轮 上/下:手动缩放大/小 移动窗口: Alt + 鼠标左键并拖曳:移动窗口 Ctrl + Shift + 鼠标左键:迅速移动窗口(会粘住边框) 调整窗口大小: Alt + 鼠标中键 水波效果: Ctrl + Win + 移动鼠标:关标在水上移动(默认无效) Shift + F9:雨点降落在你的屏幕上 模糊效果: 在透明窗口下添加一些模糊(会使计算机变慢) 动画效果: 当创建或者关闭窗口时使用动画效果(对菜单也有效,不过你要选择“未知”,只选“菜单”没用) 反色效果: Win + m:屏幕反色 Win + n:当前窗口反色 反射效果: 给装饰添加一些纹理(当透明时大多数可见) 屏幕截图: Win + 鼠标左键并拖曳:将所选区域截图(图片保存在桌面) 焦点轨迹效果: 更旧的窗口更加透明 摆动效果: 使窗口丶菜单等像棉花糖 亮度和饱和度: Ctrl + 鼠标滚轮 上/下:增加/减少 饱和度(对桌面也有效) Shfit + 鼠标滚轮 上/下:增加/减少 亮度(对桌面也有效) 窗口对齐: Win + 小键盘1...9:在屏幕中快速对齐一个窗口(1=左下,2=中下,3=右下......) 动态效果减速:Shift+F10
先把效果图放上来,酷炫压场。看完本文,你就能轻松实现这个动态效果,全程只需几分钟!
如果不设置这段代码,会发生奇怪的现象,这是因为浏览器有自己的对图片和一些其他元素的拖放处理,会在我们拖放时自动运行,这与我们的拖放处理产生了冲突。
一般会有两种处理方式来删除视频,一种是鼠标右键菜单,删除当前视频或者删除所有视频,一种是直接按住当前视频,移到视频通道界面以外就表示删除当前视频,这也是个比较人性化的设置,每个人的喜好不一样,和通道交换功能类似,按住视频拖动到窗体外面表示删除视频,这个功能也需要安装事件过滤器来处理,自动计算当前按下状态下的鼠标是否已经到了窗体外面,按下的时候记住当前视频通道,松开的时候处理删除视频动作即可。删除完成以后同样要立即更新配置文件或者数据库,以便下次应用新的配置,在删除视频的时候,为了保证界面UI的流畅,可以后台慢慢释放资源删除,而不是立即删除,有时候会卡住主界面,体验不好。
自从研究Qt编写自定义控件以来,一发不可收拾,越多越多人有类似的需求找我定制控件,陆陆续续写了上百个控件,目前已超过150个,于是逐渐衍生了另外一个需求,提供一个控件属性设计器,类似QtDesigner一样,可以方便的拖曳控件,改变属性,立即应用,并导出到文件方便下次直接加载,这个设计器有点像组态中的一个雏形,提供了基本的加载控件,导入导出数据,数据源绑定等。
介绍 本文主要对action_chains.py模块的源码进行分析说明,其代码位置如图: 在action_chains.py模块中定义和实现了类:ActionChains,主要实现鼠标移动,鼠标按键动
资源对大家很重要,在这个信息大爆炸的时代,大家想找一些资源,通过百度搜索并不能精准的找到想要的某个东西,且可能找到一些不相关的文件,在真正需要的时候找不到想要的,如果想到的某个资源急用的话,那么的确很蛋疼
视频播放功能是核心功能之一,为了统一管理接口,统一封装成一个控件,对外提供seturl open close方法即可,不用去管内部的具体处理,这样就可以提供多种接口来实现统一的管理,比如vlc内核+ffmpeg内核+海康sdk内核等,随意切换,在使用各种内核的过程中,对比下来,发现easyplayer的内核是最好的,在国内用ffmpeg做接口做到了极致,CPU占用极低。
转自:http://xiongyongyuan1234.blog.163.com/blog/static/5566116820103845725657/
大家都知道网站对一个企业的网络营销和推广来说非常重要,现在越来越多的企业选择自助建站,最大优点的节约费用,没有建站经验也能做出一个功能强大,甚至比专业网站建设公司更专业的网站,自助建站分为自助建站系统和在线自助建站平台。
据外媒The Verge报道,近日Trailer Valet推出了一款称为RVR的遥控机器人,可以拖曳9000磅(4.08吨)的重物,这相当于一辆面包车甚至是一架私人飞机的重量。 据报道,RVR机器人是一款令人惊讶的紧凑型遥控车,可以360度转向,连接到拖车上用户可以将其移动,转向并停放,而不必将其挂接到卡车上。这款RVR机器人最近已经开始出货了。 Valet表示RVR机器人能够在草地以及铺砌的道路上移动。当然这款机器人的售价也不便宜。 2100美元基础版本的RVR机器人能够拖曳3500磅的物体
大家好,我是TJ 一个励志推荐10000款开源项目与工具的程序员 昨天,是人人影视粉丝们悲伤的一天,人人影视字幕分享官微宣布:人人影视不可能再恢复或重启。App的尸体可以删了,我们不可能解决的了版权问题。 人人影视,可能是许许多多喜欢追剧的小伙伴最初打开那扇追剧大门的启蒙老师,如今官方的正式宣布,可以说是一个时代的告别、缩影。 为了纪念我们曾经喜欢过的用过的人人影视,TJ君今天跟大家分享一款基于Material Design + MVP + RxJava + Retrofit + Realm + Gli
在所有的视频监控系统中,双击摄像机的节点,对应摄像机加载到当前焦点通道显示,这个都是必须具备的功能,还有一些厂家会做双击NVR节点,自动加载该NVR下的所有摄像机全部显示,从通道1开始到通道16或者32,知道排满,或者双击对应的分组,分组下面的所有摄像机自动加载显示视频,这个基础效果在Qt中还是很好实现的,入门级别,唯独双击父节点加载节点下的所有视频,我们知道QTreeWidget默认双击父节点是折叠功能,那怎么取消这个功能呢?或者仅仅是限制单击父节点的+-号来实现折叠和展开,这个就需要用到事件过滤器,事件过滤器的优先级别很高,可以直接优先拿到对应的事件,然后进行处理,处理完成以后如果不需要继续传递下去可以直接return true即可,这样就不会再执行该事件了。
Selenium是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。对于一些JavaScript动态渲染的页面来说,此种抓取方式非常有效。本节中,就让我们来感受一下它的强大之处吧。 1. 准备工作 本节以Chrome为例来讲解Selenium的用法。在开始之前,请确保已经正确安装好了Chrome浏览器并配置好了ChromeDriver。另外,还需要正确安装好Python的Selenium库,详细的安装和配置过程可以参考第
最近在公司打杂的时候,突然分到了一个锅,就是要支持一个新的功能:用户可以通过拖曳组件来改变组件的顺序。因此,这阵子就看了一下网上的一些drag和drog的文章以及W3C的介绍,然后自己亲手实践了一下,毕竟打码,才能变得更强。 首先,先放一个我的demo,大家可以去那里随便拖动一下玩一玩: https://chenjigeng.github.io/example/drag.html
全屏切换这个功能点属于简单的,一般会做到右键菜单中,也提供了快捷键比如alt+enter来触发,恢复全屏则按esc即可,全屏处理基本上都是隐藏通道面板以外的窗体,保持最大化展示,由于采用了模块化的堆栈窗体qstackwidget来处理,这样还需要提供信号通知主界面来隐藏对应的不需要显示的控件。
本文要推荐的「Carbon」是一款能将代码转为美丽图片的免费在线工具,只要将原始码粘贴或直接把文件拖曳到网站中,就能选择不同的配色,为代码加上外框、阴影,转为更有质感的图片。
面板开关功能是整个系统最人性化的功能之一,可以对主界面中左侧右侧的各个小面板进行显示和隐藏,当隐藏的时候,另外的同级面板自动拉伸填充,这样就不会显得空洞,直接在每个面板的右上角提供了关闭按钮,也可以直接在顶部鼠标右键弹出菜单控制每个面板的显示和隐藏,面板的显示和隐藏以后,自动更新菜单的文字,保证永远都一致,有时候拖动位置乱了或者关闭了所有的,需要提供一个恢复所有面板的功能,做在右键菜单中,一次性恢复所有面板的显示。
工作之余或者周末感觉无聊?不知道干什么?想继续提高技术,但是不知道做什么的同学,看过来,不妨利用闲暇时间来撸几个 GitHub 上还不错的开源项目,本文推荐的开源项目比较适合新手、及对MVP设计模式不太熟练的同学练习之用,下面逐一进行简单介绍。
<!DOCTYPE html> <html> <title>简单拖曵原理实例</title> <script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> <script type="text/javascript"> $(function(){ //样式 $("#drag").c
一、功能特点 多线程实时播放rtsp视频流。 支持windows+linux+mac。 多线程显示图像,不卡主界面。 自动重连网络摄像头。 可设置边框大小即偏移量和边框颜色。 可设置是否绘制OSD标签即标签文本或图片和标签位置。 可设置两种OSD位置和风格。 可设置是否保存到文件以及文件名。 可播放本地视频文件,支持设置帧率。 支持h265视频流+rtmp等常见视频流。 可暂停播放和继续播放。 支持回调模式和句柄两种模式。 自动将当前播放位置和音量大小是否静音以信号发出去。 提供接口设置播放位置和音量及设置
领取专属 10元无门槛券
手把手带您无忧上云