预览模式: 普通 | 列表

android NV21转I420

 最近做一个视频流我app,要用android的摄像头采集数据发到远程保存。我之前对视频和流媒体这块没什么研究,找了找资料发现可以这么干:

Camera->MediaCodec->MediaMuxer

摄像头采集这块资料上一般是用YV12,再通信几次copy就转成I420格式了,再把I420的数据喂到MediaCodec。而我的安卓机的摄像头只支持NV21格式的预览编码,找了很久没有找到可用的资料,最后才大概知道了这两者的关系。

YUV相关的我就不说了,与RGB类似的另一种颜色的表示方式,Y表示亮度, UV表示色度。而根据一些人类视觉的特点发现人类对亮度比较敏感对色度比较不敏感。所以提出对每个像素的Y分量进行采样,而对4个像素只进行一组UV分量的采样。就是对4个像素来说,有4个Y、1个U、1个V。这就是yuv420。

查看更多...

分类:android开发 | 固定链接 | 评论: 0 | 查看次数: 60287

 全国各地所有高校名单数据库 全国所有高校排名

查看更多...

分类:下载专区 | 固定链接 | 评论: 0 | 查看次数: 47670

JS跳转隐藏来路referrer

有时候跳转过去不希望别人知道来路,可以用下面这段js实现。

function open_without_referrer(link){
	document.body.appendChild(document.createElement("iframe')).src='javascript:"<script>top.location.replace(\''+link+'\')<\/script>"';
}

原理就是创建了一个新的iframe,在src处设置了一个javascript:xxx来执行一段js,执行的内容就是top.location.replace。

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 45774

php输出字符串方法集

代码开关如下, 

<?php
$str = "http://www.zeroplace.cn'."\n";

1. echo
echo $str;

2. printf
printf($str);

3 php://output
file_put_contents('php://output', $str); $fp = fopen("php://output", 'w'); fwrite($fp, $str); fclose($fp);

查看更多...

Tags: php

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 47757

yii2查询条件where的基础写法

 yii2提供了很强大的sql构造工具类。基于sql查询主要与的是查询条件,所以我简单的翻译了一下yii2中where子句的写法。

如果是数组,有两种格式:

  • hash表格式: ['列1' => '值1', '列2' => '值2', ...]
  • 操作码模式:[操作码, 操作数1, 操作数2]

hash表格式

通常会产生column1=value1 AND column2=value2 AND ...。如果值是一个数组,会产生一个in表达式。如果值是null, 会产生一个is null

操作码格式

将根据操作码产生SQL表达式。表达式可以是如下:

  • and 所有的操作数表达式全部用and连接
  • or 同上,所有操作数用or连接
  • not 只接受一个操作数
  • between ['between', 'id', 1, 10] 将会产生 id BETWEEN 1 AND 10
  • not between 同上
  • in 第一个操作数是列名,第二个是一个数组或是一个数据库表达式。
  • not in 同上
  • like 第一个操作数是一个列名或一个数据库表达式,第二个操作数是like的表达式。如['like', 'name', 'tester'] will generate name LIKE '%tester%'
  • or like
  • or not like
  • exists 第一个操作数是一个子查询。
  • 其它操作码,比如['>=', 'id', 10]将会产生,id>=10
分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 44097

VS2013 密钥 – 所有版本

 Visual Studio Ultimate 2013 KEY(密钥):BWG7X-J98B3-W34RT-33B3R-JVYW9

Visual Studio Premium 2013 KEY(密钥):FBJVC-3CMTX-D8DVP-RTQCT-92494

Visual Studio Professional 2013  KEY(密钥): XDM3T-W3T3V-MGJWK-8BFVD-GVPKY

Team Foundation Server 2013 KEY(密钥):MHG9J-HHHX9-WWPQP-D8T7H-7KCQG

我的是VS Professional (专业版)的找了好久都没找到激活码- -,最终在远景论坛上找到了。不容易啊,买不起正版啊。~

VSKEY

在VS中的 “帮助” >”关于Microsoft Visual Studio”中可以看到你的版本号~  也可以在激活页面看见你的版本号。序列号输进去即可~

分类:c/c++ | 固定链接 | 评论: 0 | 查看次数: 42781

preg_match_all的两种用法

 preg_match_all的作用是把一个字符串中所有与正则表达式匹配的文本提取出来。一般人只知道它的一种用法,其实它还有另外一种用法。首先看它的原型。

int preg_match_all ( string pattern, string subject, array matches [, int flags] )

pattern是正则,subject是待匹配的字符串,matches是匹配的结果。最后一个flag是一个标记。

第一种用法。

<?php
$html = "http://www.zeroplace.cn/default.asp?cateID=28\nhttp://www.zeroplace.cn/default.asp?cateID=27";

$pattern = "/http:\/\/www\.zeroplace\.cn\/default\.asp\?cateID=(\d+)/";

preg_match_all($pattern, $html, $matches);
print_r($matches);

它的输出是:

Array
(
    [0] => Array
        (
            [0] => http://www.zeroplace.cn/default.asp?cateID=28
            [1] => http://www.zeroplace.cn/default.asp?cateID=27
        )

    [1] => Array
        (
            [0] => 28
            [1] => 27
        )

)

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 22484

 yii2 去掉 index.php

 yii2中配置urlManager的enablePrettyUrl为true后,实际上是使用了php中pathinfo的方式来获取路由,所以在路径中会有一个index.php。有一些同学需要更加美化url的会想直接把index.php也去掉。

这在yii2中很好实现,就是配置urlManager的showScriptName属性,这个属性只在enablePrettyUrl为true时才生效。

$config = [
    "id' => 'basic',
    'basePath' => dirname(__DIR__),
    'bootstrap' => ['log'],
    'components' => [
    	'urlManager' => [
    		'enablePrettyUrl' => true,
    		'showScriptName' => false,
    	],
    ]
]
分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 18401

composer环境变量家目录

 安装好composer后会有一些默认设置,这些默认值如下:

COMPOSER_HOME: 这是composer的家目录,如果环境变量中没有设置这个值,在Windows中是C:\Users\\AppData\Roaming\Composer, linux中是/home//.composer, 在OSX中是/Users//.composer。也可以在环境变量中设置这个值。

在这个目录下,存放着一些全局配置。默认情况下,还有一些缓存。

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 13364

PHP5.4的内置HTTP服务器

 自从php5.4版本开始,PHP内部就集成了一个HTTP服务器。虽然是一个简单的服务器,但对开发人员临时调试还是提供不少方便的。这遍文章就是介绍一下这个服务器的使用。

这个服务器是以命令行的方便提供。

启动服务器

php -S localhost:8889 -t H:\php_wwwroot

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 10327

PHP使用GuzzleHttp发送HTTP请求

 之前的文章有讲到php调用curl发送http请求,但curl这种过程式的调用有时候是有点不方便的,各种参数的设置太麻烦。以至于我一写到curl就要去找找以前写的代码来拷贝。

如果使用composer的话,有一个包是挺好用的,就是GuzzleHttp。这个包的接口很简单,使用起来略微轻松。

下面是测试的代码:

<?php
require __DIR__."/vendor/autoload.php";

use GuzzleHttp\Client;

$client = new Client([
    "base_uri' => 'http://www.zeroplace.cn/',
    'timeout'  => 2.0,
]);

$res = $client->request("GET", "/");
echo $res->getStatusCode(), "\n";
foreach ($res->getHeaders() as $name => $values) {
    echo $name . ': ' . implode(', ', $values) . "\r\n";
}

$body = $res->getBody();
echo $body;

这个是测试代码的地址:https://github.com/gaohuia2015/test_guzzle

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 9787

sublime系统命令 快捷键设置

 sublime是一个非常好用的开发工具,也是一个有着很深的linux印记的软件。它所有的配置都是以文件形式存在。

文章的标题写的有点蛋疼,看一眼可能不会马上明白。这篇文章的核心其实就是教大家如何设置sublime的快捷键,但又有额外的东西。

如上文所说,sublime的快捷键也是以文件的形式来保存的。那么这个文件在哪?其实我们可以不用关心,只需要点击sublime的菜单就可以打开。

sublime有两个快捷键配置文件,一个系统默认的配置文件

查看更多...

Tags: sublime 快捷键

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 7961

一个简单的网络书签Cloud Bookmark

目前这个书签只有Chrome版本,下一个版本将是Firefox版。虽然Chrome提供了书签功能,但由于众所周知的原因,它的书签是没有同步功能的,除非你可以翻墙。如果用户有多个电脑,那么在这些电脑之间同步书签是非常麻烦的事情。还有就是要比chrome的书签功能稍微好用一点点。这就是Cloud Bookmark解决的第一个问题。

Cloud Bookmark还解决了另外一个问题。 一盘浏览器一般都带有书签功能,但如果用户使用多个浏览器,在这些浏览器之间同步书签是需要手动完成的。如果使用Cloud Bookmark,所以的浏览器之间的数据都是实时同步的。

Chrome版

点此下载

查看更多...

分类:下载专区 | 固定链接 | 评论: 0 | 查看次数: 7931

Sublime的构建系统

 sublime是一个非常好用的web开发工具,在我们之前的文章中也有提到过。大家可以参考一下。

sublime的下载: http://chaojiahuo.cn/

Sublime Text 3 Package Control安装

sublime text3 最新注册码

查看更多...

Tags: sublime php

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 7485

中国ip地址段

 中国ip地址段,写爬虫的时候比较有用,可以防止爬虫爬到国外去(有时候我只需要中国的数据)。

数据来源:http://www.ipaddresslocation.org/ip_ranges/get_ranges.php

上面是一个英文网站,不懂英文的同学可以直接下载附件。

点击下载此文件

分类:下载专区 | 固定链接 | 评论: 0 | 查看次数: 6277

git部分常用命令图示

 git是一个版本控制软件,在WEB应用开发中非常有用,这里就不多介绍了。

在git中对文件的修改往往会存在于三个“地方”: 工作区,暂存区和版本库。有一些命令使被修改的文件在这三者之间转移。有时经常会搞乱,所以我画了一个图来表示这些命令(下列所有的命令均为git命令)。

git命令图形化表示

用虚线表示的是文件的比较,用带箭头的实线表示的是文件的转移。

查看更多...

分类:PHP教程 | 固定链接 | 评论: 0 | 查看次数: 7126

Win10关闭Windows Defender

 Win7,Win8,Win10已经内置了一款杀毒软件,就是本文标题的Windows Defender。现在的网络环境与6、7年前已经相比已经好很多了,不再是一打开一个网页就会有很多病毒(这个事情要感谢360首先搞了免费的杀毒)。再加上低版本的IE已经基本上已经退出历史舞台,高版本的IE和其它的一些浏览器安全性做的都还不错,中毒的可能性也比较少。WIn7以上的系统都带了UAC,一些敏感的操作都会弹出提示,就算病毒进入也很难生存。所以我的电脑基本上是不开杀毒软件的,基本上也就偶尔开一下安全卫士之类的清理一下垃圾。

在没有病毒的时候,杀毒软件其实就是一个最大的病毒,会严重影响机器的性能。当你卸载了其它的杀毒软件的时候,Windows Defender就会在后台运行。而且经常占用一整个CPU核心。

如何关闭WIndows Defender

输入WIndows+R打开运行对话框,再输入gpedit.msc启动组策略编辑器。

查看更多...

分类:win7技术 | 固定链接 | 评论: 0 | 查看次数: 5944

python hash函数

 hash计算可以把任意数据变成一段“摘要”,只要这段数据中的任何字节变化都会引起hash值非常大的变化,所以hash值可以用来检查数据有没有被篡改。hash计算的另外一个特性是hash值无法反向计算,哪怕你知道了hash值,你也不能通过某种算法反解出他原来的值。所以在WEB应用开发中也经常会用来加密用户的密码数据。在python的开发中当然也会需要这样的功能。本文就以最常用的两种算法md5和sha1为例简单介绍一下python的hash函数。

查看更多...

Tags: hash python

分类:python | 固定链接 | 评论: 0 | 查看次数: 8852

sass安装

 Bootstrap4据说用sass编译了,所以研究了一下。sass是ruby语言写的,但是你不需要懂ruby语言。这篇文章主要是记录一下sass的安装。

1. 安装Ruby

既然sass是用ruby语言写的,所以第一步就是要安装一个ruby的解释器。你可以到ruby的官网找一个合适的版本。对Windows用户来说,你可以使用RubyInstaller,下载下来是一个安装器,安步骤安装即可。

2. 安装sass

查看更多...

Tags: CSS ruby

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 7206

JS正则表达式进取URL中的域名

这个事件比较简单,就直接上代码了。

var urls = [
	"http://www.zeroplace.cn",
	"http://www.zeroplace.cn/",
	"http://www.zeroplace.cn/article.asp?id=957",
	"https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=2&tn=baiduhome_pg&wd=web%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91&rsv_spt=1&oq=JSON.stringify&rsv_pq=8ba7307400013580&rsv_t=2a02dSXqxXonLrYdUkp9FjCY4PxpOu1kBVqJCbNQxR2jooK1SQEde%2F0yBXLnXmXonlps&rsv_enter=1&rsv_sug3=13&rsv_sug1=11&bs=JSON.stringify"
];

var pattern = /^(http|https):\/\/([^\/]*)(?:$|\/.*$)/

urls.forEach(function(url){
	var match = url.match(pattern);
	console.log([match[1], match[2]]);
});

match[2]就是最后的域名,只能匹配http或https的schema。

Tags: 正则表达式 js

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 6658
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭