- 博客(112)
- 资源 (10)
- 收藏
- 关注
转载 V4L2编程
从网上找到几个文章,捡重要的信息归集一下:一.什么是video4linuxVideo4linux2(简称V4L2),是linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video0下。二、一般操作流程(视频设备):1. 打开设备文件。 int fd=open(”/dev/video0″,O_RDWR
2015-10-10 15:06:03
764
转载 VIM个性化配置
首 先安装完整版本的VIM 如果是在Linux下,可以安装VIM-Enhance使其扩展为完整版本的 VIM,如果在Windows下,直接安装它的Binary就行了。当然自己编译安装可能更好些。 安装成功以后就是第二步设置vim vim通过一个叫vimrc的文件来进行设置 默认安装的vim-tiny的 设置文件可以在/usr/share/vim中找到,果然极其简洁
2015-06-19 11:39:29
13083
转载 MYSQL 5.6 配置
添加环境变量:变量名:MYSQL_HOME变量值:D:\Program Files\mysql-5.6.22-winx64即为mysql的自定义解压目录。再在Path中添加 %MYSQL_HOME%\bin4. 注册windows系统服务将mysql注册为windows系统服务操作如下:1)新建一个my.ini文件并把my.ini文件拷贝到c:\windows目录下,my.in
2015-01-27 23:10:30
623
转载 Apache2.2+MySql5.5+PHP5.4的安装和配置(windows)
Apache2.2+MySql5.5+PHP5.4的安装和配置phpMyAdmin的安装和配置安装Apache2.2http://httpd.apache.org/download.cgi#apache24Win32 Binaryincluding OpenSSL 0.9.8t (MSI Installer): httpd-2.2.22-win32-x86-open
2015-01-27 22:33:17
1612
转载 python实现matlab功能
安装pyhton:就到官网下载安装,很多linux下是本身就安装的。linux系统安装numpy,scipy,matplotlib如下:1234#archlinux系统下pacman -S python-numpy python-scipy python-matplotlib #ubuntu系统下
2014-12-30 10:26:03
2635
原创 FFMPEG-AVFormatContext结构详解
FFMPEG的结构体看的让人找不到北,尤其对接触FFMPEG的新手来说,在接下来的一段时间内,我将用图形化的方式来讲解他们之间的关系,先从AVFormatContext说起吧直接上图:每个成员的解释将在代码中注释讲解
2014-12-12 11:09:36
4647
9
转载 ffmpeg主要数据结构及其之间的关系
AVCodecContext:这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息。 如果是单纯使用libavcodec,这部分信息需要调用者进行初始化;如果是使用整个FFMPEG库,这部分信息在调用 av_open_input_file和av_find_stream_info的过程中根据文件的头信息及媒体流内的头部信息完成初始化。其中几个主要域的释义如下:
2014-12-12 10:29:09
740
转载 FFMPEG中最关键的结构体之间的关系
FFMPEG中结构体很多。最关键的结构体可以分成以下几类:a) 解协议(http,rtsp,rtmp,mms)AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议的类型以及状态。URLProtocol存储输入视音频使用的封装格式。每种协议都对应一个URLProtocol结构。(注意:FFMPEG中文件也被当做一种协议“f
2014-12-12 10:13:18
527
转载 打造linux下的source insight——vim插件安装使用总结
source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能:查找函数,变量或者宏的定义。查找函数,变量或者宏的引用位置。查找函数被调用的位置查找某个符号在工程内的所有匹配由于unix哲学主张一个工具只做好一件事情,所以linux下并没有这种集多样功能于一体的软件。vim是非常优秀的编辑器,本文介绍如何
2014-12-12 09:16:59
2134
转载 FFMPeg代码分析:AVFrame结构体及其相关的函数
AVFrame结构体保存的是解码后和原始的音视频信息。AVFrame通过函数av_frame_alloc()初始化,该函数仅仅分配AVFrame实例本身,而没有分配其内部的缓存。AVFrame实例由av_frame_free()释放;AVFrame实例通常分配一次,重复使用,如分配一个AVFrame实例来保留解码器中输出的视频帧(此时应在恰当的时候使用av_frame_unref()清理参考帧并将
2014-12-11 17:57:03
956
转载 从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题 .
近日在做一个分布式转码服务器,解码器是采用开源的ffmpeg,在开发的过程中遇到一个问题:编码延迟多大5、6秒钟,也就是最初编码的几十帧并不能马上取出,而我们的要求是实时编码!虽然我对视频编码方面不是很熟悉,但根据开发的经验,我想必定可以通过设置一些参数来改变这些情况。但我本人接触ffmpeg项目时间并不长,对很多与编解码方面参数的设置并不熟悉,于是google了很久,网上也有相关方面的讨论,说什
2014-12-05 10:17:48
6178
1
转载 Eclipse+CDT+Gcc编译选项控制
http://www.oschina.net/question/4873_19441如果我们的程序调用动态链接库,当在cdt中运行的时候,可以通过run-->enviroment-->添加LD_LIBRARY_PATH 环境变量来设置查找动态链接库文件的路径。但是在运行的时候,程序去那里找动态链接库呢? 方法主要有两种。一种,是设置系统的LD_LIBRARY_PATH 环境变
2014-11-17 11:16:06
671
转载 设计模式C++实现(16)——状态模式
状态模式:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。它有两种使用情况:(1)一个对象的行为取决于它的状态, 并且它必须在运行时刻根据状态改变它的行为。(2)一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态。本文的例子为第一种情况,以战争为例,假设一场战争需经历四个阶段:前期、中期、后期、结束。当战争处于不同的阶段,战争的行为是不一样的,也就说战争的行
2014-11-15 21:36:28
461
转载 设计模式C++实现(15)——观察者模式
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。它还有两个别名,依赖(Dependents),发布-订阅(Publish-Subsrcibe)。可以举个博客订阅的例子,当博主发表新文章的时候,即博主状态发生了改变,那些订阅的读者就会收到通知,然后进行相应的动作,比如去看文章,或者收藏起来。博主与读者之间存在种一对多的依赖关系。下面
2014-11-15 21:34:53
439
转载 设计模式C++实现(14)——职责链模式
职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。其思想很简单,考虑员工要求加薪。公司的管理者一共有三级,总经理、总监、经理,如果一个员工要求加薪,应该向主管的经理申请,如果加薪的数量在经理的职权内,那么经理可以直接批准,否则将申请上交给总监。总监的处理方式也一样,总经理可以处理所有请求。这就
2014-11-15 21:11:55
533
转载 设计模式C++实现(13)——中介者模式
中介者模式:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式的例子很多,大到联合国安理会,小到房屋中介,都扮演了中间者的角色,协调各方利益。 本文就以租房为例子,如果没有房屋中介,那么房客要自己找房东,而房东也要自己找房客,非常不方便。有了房屋中介机构就方便了,房东可以把要出租的房屋信息放到
2014-11-15 21:02:56
588
转载 设计模式C++实现(12)——备忘录模式
备忘录模式:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态[DP]。举个简单的例子,我们玩游戏时都会保存进度,所保存的进度以文件的形式存在。这样下次就可以继续玩,而不用从头开始。这里的进度其实就是游戏的内部状态,而这里的文件相当于是在游戏之外保存状态。这样,下次就可以从文件中读入保存的进度,从而恢复到原来的状态。这就是备忘录模式
2014-11-15 19:35:15
478
转载 ffmpeg 静态链接第三方库
动态(共享)链接库自是有诸多优于静态链接库的特点:如能共享内存空间; 节约整个系统的存储空间,从而使整个系统速度提高; 当只有某个动态链接库有更新时--便于维护--只用更新这个库。 但在有些情况下,如,服务器并不是你一个人独享;服务器上不止有一个版本的ffmpeg要用; 有一个集群的服务器需要你部署和维护,更新。这时能使用静态链接库就再好不过啦。 FFmpeg对第三方库通
2014-11-14 10:48:53
918
转载 设计模式C++实现(11)——装饰模式
装饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。有时我们希望给某个对象而不是整个类添加一些功能。比如有一个手机,允许你为手机添加特性,比如增加挂件、屏幕贴膜等。一种灵活的设计方式是,将手机嵌入到另一对象中,由这个对象完成特性的添加,我们称这个嵌入的对象为装饰。这个装饰与它所装饰的组件接口一致,因此它对使用该组件的客户透明。下面给出装饰模式的UML图。
2014-11-13 23:01:46
447
转载 设计模式C++实现(10)——桥接模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍桥接模式的实现。 [DP]书上定
2014-11-13 22:39:51
461
转载 设计模式C++实现(9)——享元模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》(DP)两本书。本文介绍享元模式的实现。 举个
2014-11-13 22:37:15
431
转载 设计模式C++实现(8)——代理模式
[DP]上的定义:为其他对象提供一种代理以控制对这个对象的访问。有四种常用的情况:(1)远程代理,(2)虚代理,(3)保护代理,(4)智能引用。本文主要介绍虚代理和智能引用两种情况。 考虑一个可以在文档中嵌入图形对象的文档编辑器。有些图形对象的创建开销很大。但是打开文档必须很迅速,因此我们在打开文档时应避免一次性创建所有开销很大的对象。这里就可以运用代理模式,在打开文档时,并不
2014-11-13 22:20:52
361
转载 设计模式C++实现(7)——外观模式、组合模式
外观模式应该是用的很多的一种模式,特别是当一个系统很复杂时,系统提供给客户的是一个简单的对外接口,而把里面复杂的结构都封装了起来。客户只需使用这些简单接口就能使用这个系统,而不需要关注内部复杂的结构。DP一书的定义:为子系统中的一组接口提供一个一致的界面, 外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。举个编译器的例子,假设编译一个程序需要经过四个步骤:词法分析、语法分析、中间代
2014-11-13 22:18:22
385
转载 设计模式C++实现(6)——建造者模式
建造者模式的定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示(DP)。《大话设计模式》举了一个很好的例子——建造小人,一共需建造6个部分,头部、身体、左右手、左右脚。与工厂模式不同,建造者模式是在导向者的控制下一步一步构造产品的。建造小人就是在控制下一步步构造出来的。创建者模式可以能更精细的控制构建过程,从而能更精细的控制所得产品的内部结构。下面给出建造者模式的UML图
2014-11-13 22:00:32
367
转载 设计模式C++实现(5)——原型模式、模板方法模式
DP书上的定义为:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。其中有一个词很重要,那就是拷贝。可以说,拷贝是原型模式的精髓所在。举个现实中的例子来介绍原型模式。找工作的时候,我们需要准备简历。假设没有打印设备,因此需手写简历,这些简历的内容都是一样的。这样有个缺陷,如果要修改简历中的某项,那么所有已写好的简历都要修改,工作量很大。随着科技的进步,出现了打印设备。我们只需手写一份
2014-11-13 21:56:48
460
转载 设计模式C++实现 四 ——单例模式
单例的一般实现比较简单,下面是代码和UML图。由于构造函数是私有的,因此无法通过构造函数实例化,唯一的方法就是通过调用静态函数GetInstance。 UML图: 代码:[cpp] view plaincopyprint?//Singleton.h class Singleton { public: static S
2014-11-13 16:41:57
402
转载 设计模式C++实现三——适配器模式
DP上的定义:适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。它包括类适配器和对象适配器,本文针对的是对象适配器。举个例子,在STL中就用到了适配器模式。STL实现了一种数据结构,称为双端队列(deque),支持前后两段的插入与删除。STL实现栈和队列时,没有从头开始定义它们,而是直接使用双端队列实现的。这里双端队列就扮演了适配器的角
2014-11-13 09:17:02
495
转载 设计模式C++实现二 ——策略模式
策略模式是指定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。也就是说这些算法所完成的功能一样,对外的接口一样,只是各自实现上存在差异。用策略模式来封装算法,效果比较好。下面以高速缓存(Cache)的替换算法为例,实现策略模式。 什么是Cache的替换算法呢?简单解释一下, 当发生Cache缺失时,Cache控制器必须选择C
2014-11-12 22:28:27
378
转载 设计模式C++实现一 工厂模式
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍工厂模式的实现。 工厂模式属于创
2014-11-12 21:49:09
459
转载 ffmpeg 15条使用命令
帖子比较长,建议Ctrl+D bookmark一下,或者提交到别的什么Social bookmark sites,不想看mencoder/ffmpeg详细技术手册的,可以把它当快速简易参考看,主要的功能有:视频格式转换 音频格式转换 切割视频及音频 连接两段视频 视频音频同步 将图像系列转换成视频 这里是百鬼丸以前收集的一部分命令行视频音频编辑脚本命令,一直在自己的记事
2014-11-12 19:31:28
2045
转载 linux 只启动一个进程实例
很多应用程序都只应该启动一个运行实例,特别是设计文件IO操作的程序,如果误启动了多个实例,可能会导致混乱的IO,进而导致文件写乱。常见的做法:1.生成pid文件这种做法最常见了,应用于大多数的Linux程序,如apache httpd, mysql。思路是配置一个pid文件,当程序启动时,对pid文件加锁,然后写入本进程的pid,如果锁失败,说明有实例已经启动了。这个方案非常可靠,唯一
2014-11-01 11:55:42
2789
转载 linux时间编程
1. time_ttime_t记录自1970年1月1日凌晨以来的秒数,在Linux/Unix上定义为long int类型,在32位系统上,time_t最多只能记录2,147,483,647秒,也就是说到了2038年将会产生溢出,但在64位系统上不会出现此问题。time_t time(time_t *t);例子如下:[cpp] view plaincopy
2014-10-26 20:12:52
462
转载 Linux SystemV ipc 实现 .
目录[隐藏 ] 1用户进程间通信 1.1System V IPC对象管理 1.1.1System V IPC数据结构 1.1.1.1(1)IPC对象属性结构 kern_ipc_perm 1.1.1.2(2)结构ipc_ids 1.1.1.3(3)结构 ipc_namespace 1.1.2IPC对RCU的支持 1.
2014-10-23 13:55:14
1408
转载 美文:远方究竟有多远
http://www.lookmw.cn/zheli/32834.html远方究竟有多远QQ/434500342青春是一缕烟在懵懵懂懂之间溜走,年华是指间沙也在犹豫不决之中流逝。太多的梦想,最终也只是梦想,反倒是现实的残酷才显示出梦想的价值,而远方终究是远方,没有勇气,没有尝试,没有努力,远方便也成为了永远的远方。曾经的梦想,随着昼夜交替、四季更迭而化为散落的玉珠,一串串的记忆都到
2014-10-16 18:46:50
621
转载 Linux API 网址转换(DWORD, IP,域名)
做网络模块的时候经常会遇到有关网址的处理.一般大致的情形是3种:1.得到的是域名,如:www.3322.org2.得到的是实际的IP地址,如:61.160.235.2033.得到的是经过inet_addr处理过的IP,为unsigned long(DWORD)一.那么如果是给出点分制的IP要转为DWORD型是如何转化呢?这个其实最简单,有专门的函数专门处理此事unsigned
2014-10-16 12:46:29
836
转载 NTP能用的几个地址
133.100.11.8 prefer 日本 福冈大学210.72.145.44203.117.180.36131.107.1.10time.asia.apple.com64.236.96.53130.149.17.2166.92.68.246www.freebsd.org18.145.0.30clock.via.net137.92.140.8013
2014-09-24 17:23:13
916
转载 git的几个小技巧
分享git的几个小技巧,后面会根据使用补充。目前包括git撤销本地修改、git回退到前n个版本、git多用户提交冲突解决、git 命令简化。欢迎大家补充^_*1、git撤销本地修改Javagit reset --hard origin/mastergit pull12gitr
2014-09-16 19:34:02
4332
转载 深入理解l内核v4l2框架之video for linux 2(一)
在看了很多关于v4l2驱动的例程之后,想深入研究下linux内核的v4l2框架,顺便把这些记录下来,以备查用。Video for Linux 2 随着一些视频或者图像硬件的复杂化,V4L2驱动也越来越趋于复杂。许多硬件有多个IC,在/dev下生成多个video设备或者其他的诸如,DVB,ALSA,FB,I2C ,IR等等非V4L2的设备。所以,V4L2驱
2014-09-14 11:56:02
1294
1
转载 Sublime Text 2 快捷键用法大全
Ctrl+D 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑)Ctrl+G 跳转到相应的行Ctrl+J 合并行(已选择需要合并的多行时)Ctrl+L 选择整行(按住-继续选择下行)Ctrl+M 光标移动至括号内开始或结束的位置Ctrl+T 词互换Ctrl+U 软撤销Ctrl+P 查找当前项目中的文件和快速搜索;输入 @ 查找文件主标题/函数;或者
2014-09-07 23:24:34
498
ATL 封装MFC对话框
2013-09-03
Inside_The_CPP_Object_Model
2013-06-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人