在Linux下海康威视SDK编译为python库的教程
背景:公司需要在python的环境中对接有线和无线的海康威视摄像头,方便进行二次开发。我尝试过用rtsp + opencv 对接,由于opencv内部有集成rtsp协议,所以只需要数行代码就可播放,但是这种方法两个缺点:1.会出现h264解码的报错 2.网络不稳定的时候,无线摄像头很容易断流,一旦断流python程序无法自启。接着,我用ffmpeg的命令行去对接rtsp,不断截图,成功解决了问题1,但是断流的问题无法解决,另外由于是命令行,我无法对采集回来的图像直接处理和异常判断,降低了程序的整体性能和可靠性。最后实在没办法,我转战海康威视SDK,做二次开发,最终实现的效果是 实时获取视频 + 断开重连。
比较:
方法
协议
延迟
难易度
缺点
opencv对接rtsp
rtsp
2-3秒
低
解码报错,断流无法自启
ffmpeg对接rtsp
rtsp
2-3秒
低
断流无法自启,读写图片文件时会出现阻塞
海康威视SDK
onvif
无
中
依赖官方SDK
基础环境:
1.Ubuntu-18.10-desktop-amd64
2.海康SDK Linux x64 ...
WIN10 FTP开启多个端口
背景:在win10中用 Internet Information Services (IIS)管理器 开启FTP的服务,默认端口是21,但是一个端口只能对应一个物理路径。那么想在一个IP下,同时开启多个FTP站点,就需要开启不同的端口。本文就介绍一种开启多个FTP站点的方法。
准备环境:
1.win102.IIS管理器(可在 控制面板\程序\程序和功能\启用或关闭windows功能 中获取)
1 实现路线添加服务器站点,设置端口号为 1024-65535 中的任意一个即可,连接模式为被动。防火墙出入站规则如下:
Chrome 保存图片到默认路径的快捷键
背景:在Chrome上想要保存图片只能通过 “右键->图片另存为->选择路径->保存” 没有直接的快捷键显得非常麻烦,我在greasyfork和扩展程序商店里面都找过没有相关的脚本和扩展。本文就介绍利用AHK+Chrono扩展来建立图片另存为的快捷键。
准备环境:1.AutoHotKey2.Chrono下载管理器 (Chrome的一个优秀的扩展)
1 实现路线
1.在应用商店,安装 Chrono下载管理器,之后点击图片会有 “一键下载该图片” 的选项2.利用AHK脚本去调用这个选项,本质是模拟鼠标+按键
2 AHK代码1234567891011#IfWinActive ahk_exe chrome.exe;Alt + s = 快速保存图片到默认下载路径!s::{ MouseClick, right send,c send {Right} Send {Up} send,{enter} return}
3 运行
1.运行AHK脚本2.鼠标放置于想要保存的图片上,按下 Alt + s 的 ...
XMind ZEN 去水印
背景:XMind ZEN用来做思维导图真是神器,而且试用版也是免费,完全够用,免费的摸板也很漂亮。可惜导出pdf和png的时候用水印。图片的水印很容易去除,但是pdf中的比较麻烦。本文就通过替换文件的方式,将原本的水印文件替换成透明的的图片,从而使得从而导出的图片和pdf无水印。
准备环境:
1.XMind ZEN 9.0.6.02.Win10
1 去水印1.1 打开文件安装路径XMind ZEN 默认时安装在C盘,依次打开>resources>app>out>img如,我的电脑的路径如下:C:\Program Files\XMind ZEN\resources\app\out\imgs
1.2 下载空白文件
链接: https://pan.baidu.com/s/1g_OEhetkLy-MN9NLRh461Q提取码: tr9f
1.3 替换文件将下载好的Blank.svg文件依次重命名为
print-watermark-zh-CN.svgpng-watermark-zh-CN.svgpdf-footer-zh-CN.svg在将重命名后的文件粘贴到目标文 ...
如何在QQ空间说说中@自己
背景:由于有的时候想在空间中发说说并@自己,但是无论是在TIM还是Web端上,@都找不到直接的选项,看来是被默认屏蔽掉了。本文就介绍一种在利用网页版QQ空间,更改相应的html元素的值,从而在说说中可以@自己的方法。
1 准备环境
浏览器
2 示例演示1.登陆QQ空间网页版 https://qzone.qq.com/
2.写说说,并随意@一个好友
3.按下F12,打开元素面板,找到button name的标签,修改uin:后面的QQ号码,即更换成自己的QQ号码,不用更改nick昵称项。
4.修改完成,点击发表。发现说说当中@标签已经变成自己的昵称。点击可跳转自己的QQ空间,完成。
在微博和Keep网站上图片抓取实现方法
背景:由于一些网站中,是用js进行加密(Ajax加载),用request或是beautifulsoup对html进行解析无法提取出图片的链接。一般情况下,爬虫可以通过发送Ajax请求以加载页面,抓取url。但是最近微博登陆需要进行验证,只用cookie无法访问相关页面。而九宫格的手势验证或是验证码处理的例程也过于复杂。因此本文实现一种简单的自动Ajax加载的方式。
准备环境:
1.AutoHotKey脚本程序2.chrome浏览器 + Tampermonkey插件3.python3
1 实现路线1.用AHK脚本模拟PageDown的按键,让页面自动向下滚,加载出所有的图片2.用js脚本在浏览器console中输出所有图片链接,手动保存到本地.log文件3.用py对url进行筛选处理4.配合Aria2或者IDM下载
2 源代码2.1 AHK代码安装ahk程序后(官网:https://www.autohotkey.com/),新建.ahk文件或是用.txt改后缀,将以下代码复制进去。
123456789101112131415161718#SingleInstance force;当打开 ...
树莓派配置无线打印机
背景:原本家里打印机在台式机(win7系统)上共享出来,每次开台式机也很麻烦,一直想做成无线打印机但没有头绪。前几天在网上看到用USB连接树莓派可以把打印机加入局域网,然后变成无线打印机,省去开机,而且兼容性更高,可支持android,ios,win8,win10,很开心
材料:1.Epson ME33 喷墨打印机2.树莓派3B(Raspbian系统)
1 树莓派配置网络打印机1.1 安装cups(通用Unix打印系统)打开终端,输入命令。
sudo apt-get updatesudo apt-get install cups
由于默认配置的软件源是国外网址,所以下载速度可能很慢或者不成功。推荐将软件源改成清华开源镜像网站,修改配置文件:sudo vim /etc/apt/sources.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpideb-src http://mirrors.tuna.tsinghua.edu.cn/raspb ...
用bat更换文件夹图标
背景:在寻找文件安装路径时,一般需要在磁盘逐步寻找或者开头字母的检索,后来发现将安装文件夹更换为应用图标更容易寻找。重要的是图标保存在文件夹内部(.exe或.ico),只要安装所处磁盘与系统盘不一样,即使重装系统,文件夹图标仍然存在!然而,一般更换文件夹图标均为,右键->属性->自定义->更改图标->选择.exe或.ico的路径。一旦文件夹过多就相当麻烦。
因此,我用bat写了一个快速更改上一级文件夹图标的程序,代码如下:
1234567891011121314@echo offset dir=%~dp0if "%dir:~-1%" == "\" set dir=%dir:~0,-1%set ico=%1del desktop.ini /f/s/q/a(echo [.ShellClassInfo]echo IconResource=%ico%,0echo [ViewState]echo Mode=echo Vid=echo FolderType=Generic)>"%dir%\desktop. ...
基于Phantomjs的图片抓取(已失效)
背景:事情源于我用python抓图的时候碰到图片的url用js加密,这种情况一般会发生在漫画网站或者是论坛中。用一般 view-source: 的方法无法直接解析。因此在MOOC视频的启发下,开始用phantomjs进行解析页面,并输出图片正确的url。
1 网址http://jandan.net/ooxx
2 安装环境
python 3.6 Download Python | Python.orgnodejs Node.js
phantomjs Download PhantomJS
3 js代码将其保存为 “pic.js”,代码如下:
123456789101112131415161718192021222324252627282930313233343536373839404142var num = 1;GetPic('http://jandan.net/ooxx/page-' + num);function GetPic(url){ console.log('->' + url); num++; var pag ...
关于WordPress文章页面修改
1 扩展“编辑文章”工具栏:在 founction.php 的最末行,添加以下代码:
1234567891011121314151617function add_editor_buttons($buttons) { $buttons[] = 'fontselect'; $buttons[] = 'fontsizeselect'; $buttons[] = 'backcolor'; $buttons[] = 'underline'; $buttons[] = 'hr'; $buttons[] = 'sub'; $buttons[] = 'sup'; $buttons[] = 'cut'; $buttons[] = 'copy'; $buttons[] = 'paste'; $buttons[] = 'cleanup'; $buttons[] = 'wp ...