自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 Linux bash command tutorials

1 基本命令了解基本的bash通读整个bash man page.学习VIM在Linux系统上,虽然你有Emacs和Eclipse,但是VIM仍然是无出其右的利器。了解SSH,基本的无密码验证方式。例如通过ssh-agent, ssh-add等。 《灵犀志趣》平时都使用如下脚本完成无密码验证,省事省力。执行方式 sh nopasswd USER REMOTE_HOST执行此脚本前,请确认:本机

2016-11-01 09:41:47 912

原创 常见缓存算法

Least Frequently Used(LFU)对每个缓存对象计算他们被使用的频率。把最不常用的缓存对象换走.Least Recently User(LRU)把最近最少使用的缓存对象给换走。总是需要去了解在什么时候,用了哪个缓存对象。如果有人想要了解为什么总能把最近最少使用的对象踢掉,是非常困难的。浏览器就是使用了LRU作为缓存算法。新的对象会被放在缓存的顶部,当缓存达到了容量极限,我会把底部的

2016-10-30 13:25:50 385

转载 P2P通信标准协议:SIP

在前面几篇文章中我们介绍了建立p2p通信的一般协议(簇),以及一种完整的NAT传输解决方案ICE, 但是对于多用户的通信情况,还有一些通用协议来实现标准化的管理,如之前讲过的SDP和SIP等,SIP(Session Initiation Protocol), 是属于应用层的控制协议,主要用于在一个或多个参与者之间创建,修改和中止会话(sessions).会话的类型包括IP电话, 多媒体流分发和

2016-10-25 17:08:59 688

原创 P2P通信标准协议: ICE

在P2P通信标准协议:STUN中,介绍了TURN的基本交互流程,在上篇结束部分也有说到,TURN作为STUN 协议的一个拓展,保持了STUN的工具性质,而不作为完整的NAT传输解决方案,只提供穿透NAT的功能, 并且由具体的应用程序来使用.虽然TURN也可以独立工作,但其本身就是被设计为ICE/RFC5245 的一部分,本章就来介绍一下ICE协议的具体内容.SDPICE信息的描述格式通常采用标

2016-10-25 17:04:47 782

转载 P2P通信标准协议: STUN

前一段时间在P2P通信原理与实现中介绍了P2P打洞的基本原理和方法,我们可以根据其原理为自己的网络程序设计一套通信规则, 当然如果这套程序只有自己在使用是没什么问题的。可是在现实生活中,我们的程序往往还需要和第三方的协议(如SDP,SIP)进行对接,因此使用标准化 的通用规则来进行P2P链接建立是很有必要的。本文就来介绍一下当前主要应用于P2P通信的几个标准协议,主要有STUN/RFC3489,

2016-10-25 14:57:24 1198

转载 P2P通信标准协议: TURN

上一篇P2P通信标准协议(一)介绍了在NAT上进行端口绑定的通用规则,应用程序可以根据这个协议来设计网络以外的通信。 但是,STUN/RFC5389协议里能处理的也只有市面上大多数的Cone NAT(关于NAT类型可以参照P2P通信原理与实现), 对于Symmetric NAT,传统的P2P打洞方法是不适用的。因此为了保证通信能够建立,我们可以在没办法的情况下用保证成功的中继方法(Relayin

2016-10-25 14:54:01 1047

转载 图像源格式(RGB,YUV)

一. 说明在视频解码后,我们通常需要将它们显示出来,也就是Render;这个时候往往后发现有很多种图像格式,而这些格式名称似是而非,很容易被搞混,因此这里对它们进行一些介绍和分类:名词解释:平面格式(planar formats):针对Y U V 三种元素,使用三个矩阵来进行存储 打包格式(packed formats): YUV存储在同一个平面,Luma和chroma数据交错排列,类似RGB

2016-10-20 20:52:56 2145

转载 YUV 数据

YUV 数据存放分类YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(

2016-10-16 17:10:36 401

原创 Linux C 中对齐

方法一:使用 pragma pack(byte-alignment)#define L1_CACHE_LINE 2#pragma pack(L1_CACHE_LINE)struct A{ u_int32_t a; u_int32_t b; u_int16_t c; u_int16_t d; u_int32_t e;

2016-10-09 14:28:55 420

原创 Run SS as Daemon

/** * * @File: sslocal.c * @Date: Sunday, 9 October 2016 * **/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <fcntl.h>#include <sys/types.h>#include <sys/stat.h>#inclu

2016-10-09 11:43:23 478

原创 java thread status disgram

Java Thread Status Disgram

2016-09-27 14:38:31 728

原创 ffmpeg: 解析SDP

使用ffmpeg直接打开sdp文件播放里面流媒体.0x0 使用Custom IO解析SDP初始话必要的网络和解码模块Alloc AVIO ContextDemuxer Decoder完整示例0x0 使用Custom I/Offmpeg 有一个非常好用的模块: AVIO, 这个模块是用ffmpeg Custom I/O 的主要接口,来看API;结构体AVIOInterruptCB : C

2016-09-27 14:36:06 4955

原创 ffmpeg commands

ffmpeg常用参数一览ffmpeg常用参数一览基本选项视频选项高级视频选项音频选项字幕选项StreamUDPRTPRTMP测延时VlCEncode Decode Muxer DemuxerRaw Video基本选项 选项 说明 -formats 输出所有可用格式 -f fmt 指定格式(音频或视频格式) -formats 输出所有可用格式

2016-09-27 14:35:13 452

原创 ONVIF客户端开发

在使用 gSoap 框架生成代码之后, 得到文件: soapC.c soapClient.c stdsoap2.c stdsoap2.h duration.c wsdd.h … 我们利用现有的soapClient, 调用API构建Onvif请求(包括XML, HTTP Client). 开发前需要了解一下Onvif官网文档指导: Onvif 2.0 Serv

2016-09-27 14:34:17 1634

原创 AES加密

AES 算法AES加密过程是在一个4×4的字节矩阵上运作,这个矩阵又称为“体(state)”,其初值就是一个明文区块(矩阵中一个元素大小就是明文区块中的一个Byte)。(1) AddRoundKey—矩阵中的每一个字节都与该次回合密钥(round key)做XOR运算;每个子密钥由密钥生成方案产生。 (2) SubBytes—通过一个非线性的替换函数,用查找表的方式把每个字节替换成对应的字节。

2016-09-27 14:33:00 474

原创 ffmpeg 常用API编程

ffmpeg 常用API编程ffmpeg 常用API编程AVDictionaryAVDictionary类似Java Map 的数据结构:struct AVDictionary { int count; AVDictionaryEntry *elems; }; typedef struct AVDictionaryEntry { char *key;

2016-09-27 14:16:29 1408

原创 Android-NDK:设置NDK编译选项

在Android NDK 开发中,编译选项配置能够帮助我们很好的使用NDK/C/C++的特性,这些编译选项中那个包括:APP_ABI,LOCAL_LDLIBS, LOCAL_CFLAGS, APP_STL ...等,下面是这些选项中的一些配置.选项概述(一) Android.mk 选项 解释 LOCAL_MODULE 模块名 LOCAL_SRC_FILES 模块依赖的编译源

2016-09-27 14:14:07 2428

原创 Android 窗体状态操作

Android 窗体状态:全屏显示,自定义标题(包括按钮,ico图标等控件)和其他需求,控制窗体显示的一个重要方法是 requestWindowFeatrue(featrueId).函数requestWindownFeature(featrueId)参数 featrueId 变量 功能 DEFAULT_FEATURES 系统默认状态,一般不需要指定 FEATURE_CONTEXT_

2016-09-27 14:12:49 434

原创 Android_开发调试

Android Strict 模式//from philm projectif (AndroidConstants.STRICT_MODE) { StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectAll() .penaltyLog()

2016-09-27 14:12:05 267

原创 ONVIF 协议开发

使用gsoap工具生成onvif框架过程; Linux 环境下生成 Linux C。在上gsoap-2.8.31生成 onvif.h(0) 使用工具:wsdl2h -c 产生c语言的代码,否则产生C++(默认) -s 不使用STL代码 -t 指定typemap.dat文件 -o 指定生成的头文件名(1) 编译 wsdl2h 工具./configure --pre

2016-09-27 14:11:20 595

原创 git的常用操作

git 常用操作1、创建git server mkdir gitrepo git --bare init2、初始化到本地git clone user@server:/path/name.git3、创建branchgit branch <branch>4、删除branchgit branch -d <branch>5、切换branchgit checkout <branch>6、创建并切换

2016-09-27 14:08:49 253

转载 Linux Curl 使用

参考资料http://bbs.et8.net/bbs/showthread.php?t=568472http://www.ruanyifeng.com/blog/2011/09/curl.html下载单个文件,默认将输出打印到标准输出中(STDOUT)中curl http://www.centos.org通过-o/-O选项保存下载的文件到指定的文件中: -o:将文件保存为命令行中指

2016-09-21 16:18:45 312

原创 My Linux Command

MediasecurityArchLinuxSETTINGMediaincress volumepactl set-sink-volume 0 150%securitysha1sum echo -n <password> | sha1sum echo -n "password" | sha256sumArchLinuxArchlinux 下载源码 abs m

2016-09-20 13:45:42 374

原创 Android JNI 接口总结

JNI Reference Exmaple在写android NDK的时候常常用到的一些JNI API的总结(参考官方文档:JNI API)

2016-05-06 15:48:37 2156

空空如也

空空如也

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

TA关注的人

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