自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

雪峰流云

专注于智能家居,流媒体,CDN,P2P,Web前端和后端,涉猎的开源项目: ffmpeg/VLC/Darwin/P2P/CrtmpServer/SRS/ATS/nginx/OpenResty/WebKit

  • 博客(463)
  • 资源 (11)
  • 收藏
  • 关注

原创 在Ubuntu 16.04.5 LTS上安装pygame模块

简介Pygame是跨平台Python模块,专为电子游戏设计,包含图像、声音。建立在SDL基础上,允许实时电子游戏研发而无需被低级语言(如机器语言和汇编语言)束缚。 安装sudo pip install pygame验证在命令行上输入python,再import pygame, 如果没有报错,说明python安装成功。示例下面借用网上的例子展示一下效果,给出《...

2019-01-08 17:42:24 683

原创 在Ubuntu 16.0.4.5 LTS上安装python 2.7版本的cv2模块

简介OpenCV是一个C++库,用于实时处理计算机视觉方面的问题,涵盖了很多计算机视觉领域的模块。 OpenCV有两个Python接口,老版本的cv模块使用OpenCV内置的数据类型,新版本的cv2模块使用NumPy数组。对于新版本的模块,可以通过下面方式导入:import cv2而老版本的模块则通过下面方式导入:import cv2.cv安装cv2下面记录了在Ubunt...

2019-01-04 16:13:13 1148

原创 在Ubuntu 14.04.5 LTS上安装python模块selenium 3实录

简介Selenium是python模块库中一组web自动化测试工具集,提供多种语言的API,例如java,python,ruby,.net等,支持Firefox,Chrome,IE,Safari 等多种浏览器,但是它驱动浏览器运行需要有专门的驱动程序。当驱动程序与浏览器的版本不匹配是就会报错。所以下载驱动一定要注意版本的匹配问题。Selenium2.0和selenium3.0的到底选择哪个...

2019-01-04 11:30:08 372

原创 在Ubuntu 16.04.5 LTS上利用python 2.7中的PIL模块智能等比例压缩过大的图片集实操

需求有时候自媒体创作写稿时难免遇到大规模压缩某个文件夹内的图片的情况,通常我们可以使用一些批量压缩的工具来处理,但我觉得,这是小白的做法,对于我们这些经验丰富的老司机来说,使用代码来处理,将是一件高效而且高逼格的事情。使用PIL中的Image模块,就能很快地完成这项工作。准备我的电脑图片文件夹中有一个壁纸文件夹"win8壁纸",都是分辨率超过1080P的大图,我将使用python代码将...

2018-12-22 10:16:25 392

原创 在Ubuntu 16.04.5 LTS上利用python中的PIL模块压缩一百多兆的单张图片实操

在前面的博文中,我将300多张电影海报拼接为了一张103MB的巨幅图片,我想拿它做电脑桌面(1080P),但是这么多的图片,存储和加载是个麻烦事儿,需要将它压缩到几MB大小。在Ubuntu 16.04.5 LTS上利用python 2.7版本的pillow库拼接近千张图片实录我尝试了市面上所有的压缩软件,发现处理时间冗长且压缩效果较差。下面是采用python的PIL中的Image模块,十几...

2018-12-22 09:39:43 493

原创 在Ubuntu 16.04.5 LTS上利用python 2.7版本的pillow库拼接近千张图片实录

缘由这两年网上出现了使用python中的PIL或是pillow库拼接图片和朋友圈图像的例子,让我非常感兴趣,比较典型的是这几个例子:《朋友圈的朋友们,你们终于可以互相看到了》《1000张图片如何拼接》我实操了一下,发现还是有些小问题,下面是我消化吸收和改进的过程。改进的地方:1.存放图片的文件夹是任意指定的,里面文件名没有要求,不需要按照序号1,2,……这样的命名,更实用;...

2018-12-19 11:33:01 749

原创 在ubuntu 16.04.5 LTS上使用Python 2.7生成带logo的二维码实战

安装依赖库详细的使用python模块qrcode库的博文,参见https://blog.csdn.net/tao_627/article/details/85053884下面的例子需要使用qrcode,pillow,matplotlib和python-tk库,安装如下sudo pip install qrcodesudo pip install pillowsudo pip i...

2018-12-17 19:58:33 427

原创 在Ubuntu 16.04.5 LTS上使用python第三方库QRCode 6.0生成二维码实录

简介二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于 1994 年发明。现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、网络地址访问等等。下面是我使用qrcode生成的自己博客的二维码,欢迎关注。可以使用python提供的qrcode库来快速生成二维码,...

2018-12-17 18:51:04 772

原创 在Ubuntu 16.04.5 LTS上升级python的pip版本实录

在ubuntu 16.04.5 LTS上使用Python安装模块时,比较顺手的方法是使用pip命令。这次,我在安装一个模块时,老是提示下面的问题,比较不爽。所以,我就照着提示做了一遍,记录下来,以作备忘。按照提示,执行下面的升级命令,要使用超级用户权限sudo pip install --upgrade pip在升级过程中,为了看到更多的详细信息,可以使用下面的选项sudo...

2018-12-17 18:22:40 1360

原创 ATS 6.2.1中缓存文件过期并不回源校验的“坑”

事先说明标题说是“坑”,并没有说是“bug”,也就是多半是玩的姿势不对。线上问题我司(lecloud)目前线上大小文件都是使用的ATS 6.2.1版本,昨天运维反馈有文件超过缓存时间并不回源刷新,截图如下:现象就是:age超过max-age了,过期了不更新!另外需要说的一点就是,源站是可以正常回源的。复现现象并打印调试日志我复现了上述现象,发现问题的确如此,而且...

2018-12-12 15:57:21 926 1

原创 lua中正则表达式的坑

我在使用OpenResty编写lua代码时,需要使用到lua的正则表达式,其中pattern是这样的,--热水器设置时间local s = '12:33'local pattern = "(20|21|22|23|[01][0-9]):([0-5][0-9])"local matched = string.match(s, "(20|21|22|23|[01][0-9]):([0-5][0-...

2018-05-22 20:18:24 3683

原创 在Ubuntu 16.04.04 LTS上调研QUIC开源项目minq笔记

minq项目的主旨是minimum quic(最小化实现的QUIC),指最简单的QUIC项目,目前只实现了IETF QUIC的draft 5部分功能,远不成熟,不能用于生产环境。它内部依赖LTS 1.3的go开源实现项目minthttps://github.com/bifurcation/mint下面开始安装cd ${GOPATH}/srcgo get github.com/ekr/minqcd ...

2018-03-22 13:18:07 780 1

原创 在CentOS 6.9 x86_64上从源码安装xz命令的方法

xz官网https://tukaani.org/xz/下载最新版本的源码包cd ~wget https://tukaani.org/xz/xz-5.2.3.tar.gztar zxvf xz-5.2.3.tar.gzcd xz-5.2.3./configuremakesudo make installcd ..安装完成之后,在命令行直接执行xz -h发现命令可以找到,默认安装在/usr/local...

2018-03-21 15:10:06 1692

原创 在CentOS 6.9上从源码安装Go 1.10

详见本博博文http://blog.csdn.net/tao_627/article/details/79375950这里只是简单记录一下实操步骤,假定用户为root:wget https://dl.google.com/go/go1.10.linux-amd64.tar.gztar zxvf go1.10.linux-amd64.tar.gz -C /usr/local创建项目目录cd /roo...

2018-03-16 18:06:15 1968 1

原创 在Ubuntu 16.04.4 LTS上调研开源QUIC项目ngtcp2

最近在研究QUIC协议,尝试了一些QUIC相关的开源项目,主要是c,c++,go等语言编写的。这里记录下我折腾ngtcp2的过程。基本思路就是参照github上该项目的README来进行就可以了。由于是Ubuntu 16.04,很多依赖基本上都满足了,比如gcc版本是5.4.0。QUIC依赖的TLS 1.3是安装在openssl的源码目录下面,没有安装到系统库中,这一点使用时比较方便。git cl...

2018-03-13 17:23:03 3190 8

原创 在Ubuntu 16.04.3 LTS上运行go+https+json示例

下面是我依据网上资料的实操过程,记录以作备忘。该示例给出了https通信并处理json文件的例子。平台:Ubuntu 16.04.3 LTSgo版本:1.101.生成自签名的服务器端的私钥KEY和公钥证书openssl genrsa -out server.key 2048openssl req -new -x509 -key server.key -out server.crt -days 36...

2018-03-09 10:28:42 601

原创 在Ubuntu 16.04.3 TLS上玩转tls协议的简单demo

目的熟悉openssl生成密钥和证书对,熟悉go中crypto/tls的用法名词解释PEM - Privacy Enhanced Mail,打开看文本格式,以”—–BEGIN…”开头, “—–END…”结尾,内容是BASE64编码.Apache和*NIX服务器偏向于使用这种编码格式.查看PEM格式证书的信息:openssl x509 -in certificate.pem -text -noou...

2018-03-07 11:38:45 2799

原创 在Ubuntu 16.04.3 LTS上玩转quic-go项目

说明quic-go是使用Go来重写chromium中的QUIC协议,将来计划过渡到IETF版本的QUIC协议。目前该协议还处于不断更新和活跃之中,目前IETF版本的QUIC协议草案版本号已经到draft 9下面是我对REAME的实操记录,以作备忘。项目主页https://github.com/lucas-clemente/quic-go特别要求必须能流畅翻墙去下载go相关源码包GO环境搭建目前Ub...

2018-03-02 18:12:13 5837

原创 在Ubuntu 16.04.3 LTS上玩转QUIC开源项目proto-quic

说明proto-quic项目是民间从chromium中抽取出的QUIC实现相关的代码。采用这个项目的代码,比从chromium源码编译,要更快速和简单。因为毕竟GFW限制,不是所有的人都可以翻墙去下载近10G的chromium项目源码。下面的实操过程完全遵照github上的该项目的提示进行https://github.com/google/proto-quic另外参照chromium项目的官网页面...

2018-03-02 17:30:28 3648 2

原创 在Ubuntu 16.04.3 LTS上搭建QUIC交互demo

目的本文依据参考文献中的资料,来利用chromium源码编译出quic_server和quic_client, 并依靠它们来发送QUIC协议请求,了解QUIC交互的细节。前提必须能够流畅地翻墙下载chromium等项目代码下面是实操记录项目目录存放在cd ~/program_develop/quic_dev最后的目录结构在这里提前说明一下下载chromium项目源码git clone https:...

2018-03-02 13:34:11 3698

原创 在Ubuntu 16.04.3 LTS上安装Go 1.10

升级Go新版本的原因目前Ubuntu 16.04.3上最新的二进制Go版本是1.6.2,运行github上的一个大的go项目,发现context包在go版本1.6以上和以下的import方式有差异在go1.7及以上版本context包被正式列入官方库中,所以我们只需要import "context"就可以了,而在go1.6及以下版本,我们要import "golang.org/x/net/cont...

2018-02-26 13:09:34 21346 1

原创 OpenResty中的upstream healthcheck功能沉思录

综述healthcheck功能本质上还是个定时器,去定期检查指定upstream组的状态,它发送指定的http请求并解析响应码,去探测upstream中每个peer的存活状态,再结合历史请求记录来判断并标记其状态,如果有状态改变,就在共享内存中更新版本记录,下次执行时,所有的worker进程都要更新到最新的peer状态。下面的表述都假定我们要监控的upstream组名是ats_node_backe...

2018-02-09 15:27:32 8758 3

原创 在MacBook Pro 2015上安装iTerm2笔记

目前的MacOS版本是10.13.3。昨天早上因为升级针对10.12.6的一个推送,把macOS搞崩了,进入不了系统。找运维兄弟重装了最新版本的系统。下面是我整理的iTerm2的安装笔记,以作备忘。1.安装Mac上的软件包管理工具HomebrewHomebrew是MAC下的包管理工具,类似centos的yum, ubuntu的apt-get, 可以当做debian下的apt-get,但

2018-01-27 10:20:14 2732

原创 在Ubuntu 16.4.3 LTS x86_64上安装PyCharm社区版笔记

在浏览器中从PyCharm官网下载最新社区版本,它时免费的https://www.jetbrains.com/pycharm/download/#section=linux默认存放地址是下载文件夹,然后解压到指定目录cd ~/下载sudo tar zxvf pycharm-community-2017.3.2.tar.gz -C /opt/cd /opt/pycharm

2018-01-17 18:15:33 1414

原创 在CentOS 6.9 x86_64的nginx 1.12.2上开启标准模块ngx_http_auth_request_module实录

ngx_http_auth_request_module是是nginx的一个验证模块,它允许您的nginx通过发送请求到后端服务器(一般是应用服务器,例如tomcat,或者php等)进行请求, 并且根据请求决定是验证通过或者不通过。后端返回200 验证通过, 后端返回401或者403验证不通过。该模块默认可以开启,可以在configure时使用--with-http_auth_reques

2018-01-07 19:58:32 4036

原创 在CentOS 6.9 x86_64的nginx 1.12.2上开启标准模块ngx_http_map_module实录

介绍默认情况下,nginx会加载标准模块ngx_http_map_module(或称ngx_map),除非人为的在configure时添加--without-http_map_module选项。ngx_http_map_module模块可以创建变量,这些变量的值与另外的变量值相关联。允许分类或者同时映射多个值到多个不同值并储存到一个变量中,map指令用来创建变量,但是仅在变量被读取的时候执

2018-01-07 16:39:03 1272

原创 在CentOS 6.9 x86_64的nginx 1.12.2上安装第三方模块set-misc-nginx-module实录

set-misc-nginx-module模块是标准的HttpRewriteModule指令的扩展,提供更多的功能,如URI转义与非转义、JSON引述、Hexadecimal/MD5/SHA1/Base32/Base64编码与解码、随机数等等。在后面的应用中,都将会接触使用到这个模块的。该模块是由章亦春先生开发的,他开发的其他模块应用也会使用到这个模块的。充分使用nginx非阻塞模式,对性能上有极

2018-01-06 20:17:25 2065

原创 在CentOS 6.9 x86_64的nginx 1.12.2上开启ngx_http_geo_module模块实录

ngx_http_geo_module模块,默认情况下,nginx会加载,除非人为的 --without-http_geo_module。这个模块提供了一个非常好用的geo指令,可以用它来创建变量,诞生其值依赖于客户端IP地址。ngx_http_geo_module模块官网地址http://nginx.org/en/docs/http/ngx_http_geo_module.h

2018-01-05 13:08:43 739

原创 在CentOS 6.9 x86_64的nginx 1.12.2上开启echo-nginx-module模块实录

echo-nginx-module是一个第三方模块,在nginx源码中没有,但是OpenResty中有,它为nginx.conf带来了echo,sleep,time等多个类似bash的强大命令。目前最新版本是v0.61安装指南参见https://github.com/openresty/echo-nginx-module#installation配置 se

2018-01-05 09:38:34 704

原创 解决github push错误403 Forbidden while accessing

业务场景我原来在github上创建了一个repository,名称为github_test,我上传了一些文件。但是几年后,我想再次利用该repository,更新并上传文件。我在一台虚拟机上面git clone下该repository,修改并添加了一些文件,想更新到github上。下面是我的操作步骤我使用ssh-keygen创建了公钥和私钥,将公钥cat

2018-01-04 16:45:52 9883

原创 在CentOS 6.9 x86_64的nginx 1.12.2上开启ngx_http_empty_gif_module模块实录

ngx_http_empty_gif_module是nginx自带的标准模块,它只返回一个保存在内存中的透明像素的GIF图片(速度当然比硬盘上读取的速度快很多),多用于传递统计参数,用在location上下文中。该模块默认就是开启的。配置location ~ /test_[0-9].gif { empty_gif;}location ~* /3145/ {

2018-01-04 15:24:24 750

原创 在CentOS 6.9 x86_64的nginx 1.12.2上开启ngx_req_status模块实录

ngx_req_status是一个第三方模块,它用来展示nginx请求状态信息,类似于apache的status,ats的stats_over_http和channel_stats,nginx自带的模块只能显示连接数等等信息,我们并不能知道到底有哪些请求、以及各url域名所消耗的带宽是多少。ngx_req_status提供了这些功能:功能特性按域名、url、ip等等统计信息统计总流

2018-01-04 15:08:11 2171

原创 在CentOS 6.9 x86_64上开启nginx 1.12.2的proxy_cache缓存配置

本文研究nginx提供的缓存功能,下面是实操记录。这篇博文基于前面文章的基础上搭建,至始至终都是root用户操作http://blog.csdn.net/tao_627/article/details/78953800缓存清除功能需要借助第三方模块ngx_cache_purge,其链接如下https://github.com/FRiCKLE/ngx_cache_purge

2018-01-03 16:14:33 768

原创 在CentOS 6.9 x86_64上开启nginx 1.12.2的stub_status模块(ngx_http_stub_status_module)监控

Nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定:./configure --with-http_stub_status_module 基础的nginx搭建参见本博博文http://blog.csdn.net/tao_627/article/details/78

2018-01-03 10:25:56 891

原创 在CentOS 6.9 x86_64上安装nginx 1.12.2

比较详细的教程参见以前的博文http://blog.csdn.net/tao_627/article/details/60957521这里只给出简略步骤,没有截图,自始至终使用root操作目前最新的源码地址ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gzhttp://www.zlib

2018-01-02 17:24:53 1397

原创 OpenResty学习中的几个小例子汇总

1.测试lua或是LuaJIT的版本号如果使用的是标准 Lua,访问 /lua-version 应当返回响应体 Lua 5.1如果是 LuaJIT 则应当返回类似 LuaJIT 2.0.2 这样的输出。不要使用标准lua,应当使用luajit, 后者的效率比前者高多了。在nginx.conf中的server中添加一个location。location = /test {lo

2017-12-31 16:23:05 1639

原创 在CentOS 6.9 x86_64上安装redis 4.0.6

1.安装依赖yum install -y wget gcc make tcl2.下载源码并安装进入redis官网https://redis.io/download/下载最新版wget http://download.redis.io/releases/redis-4.0.6.tar.gztar xzf redis-4.0.6.tar.gzcd redis-4.0.6

2017-12-30 11:05:08 711

原创 在CentOS 6.9 x86_64的OpenResty 1.13.6.1上使用基于Redis实现动态路由示例

下面是我阅读春哥OpenResty官网主页中“Dynamic Routing Based On Redis”一节的实操记录,整理如下。https://openresty.org/cn/dynamic-routing-based-on-redis.html这个例子展示了利用Redis将进来的请求,依据User-Agent头的不同,路由到不同的后端HTTP服务器上面。这个demo将

2017-12-29 17:14:22 640

原创 在CentOS 6.9 x86_64的OpenResty 1.13.6.1上使用LuaRocks示例

下面是我阅读春哥OpenResty官网主页中“Using LuaRocks”一节的实操记录,整理如下。https://openresty.org/cn/using-luarocks.html1.在CentOS 6.9 x86_64搭建Lua开发环境详细过程参见本博博文http://blog.csdn.net/tao_627/article/details/7892521

2017-12-29 16:08:41 854

原创 在CentOS 6.9 x86_64搭建Lua开发环境

安装依赖库yum -y install readline-dev readline-devel下面源码编译lua时需要用到安装lua-5.1.5wget http://www.lua.org/ftp/lua-5.1.5.tar.tar zxvf lua-5.1.5.tar.gzcd lua-5.1.5make linux testmake install

2017-12-28 18:52:13 1115

ats缓存对象过期不回源校验的处理日志.log

使用ATS 6.2.1时,发现一例文件过期但不回源校验的问题,这里是ATS对该请求的内部详细的处理日志细节,供对ATS内部处理机理感兴趣的同学参考,详见本人博文https://blog.csdn.net/tao_627/article/details/84973817

2018-12-12

gprof2dot.py

已验证可行,请放心使用

2015-04-10

user-agent大全

收集的各种user-agent字符串,写js会用到

2015-01-07

python实现的dht爬虫

这是一个相当实用的python实现的dht爬虫源码,它会在dht网络中爬取磁力链(资源的infohash)并写入MySQL数据库中,对我们了解dht协议的实现有很好的帮助.

2014-07-26

Ubuntu 14.04上wps安装所需的字体库deb包

这是wps for linux安装在Ubuntu 14.04上所需的字体包。这个包也可以在wps的官网论坛上找到,如果你有耐心去找的话。我上传到这里,提供给有需求的同学。

2014-04-20

Cumulus官网视频会议样例代码

这里给出了cumulus/OpenRTMFP的git官网提到的视频会话样例的AS3代码,包括服务器端和客户端两部分,我已经在<使用Cumulus和Flash Player搭建视频会议示例>http://blog.csdn.net/tao_627/article/details/18041473中给出了详细的说明.希望对感兴趣的朋友有所帮助,如有错误,欢迎不吝赐教.

2014-02-06

crtmpserver用到的JWPlayer最新版代码!

这是内嵌到网页中的最新版的JWPlayer播放器的代码和配置实例,在crtmpserver的直播demo中需要用到,希望对大家有所帮助。

2014-02-06

crtmpserver中用到的jwplayer插件

使用crtmpserver搭建vod点播测试环境时,需要在浏览器中播放rtmp视频,需要开源的jwplayer插件,这里提供了一个早期的版本。可以供大家测试使用。

2014-02-03

Writing Clean Code

编程精粹(Writing Clean Code),如何编写整洁的代码,chm格式

2010-10-07

ISO_IEC_14496-3 Part 3 Audio: 2001

2001版,很清晰的PDF,奉献给需要的朋友

2009-02-22

Digital Video and Audio Broadcasting Technology

一本不错的好书,推荐给大家!

2008-08-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除