DirectShow Filter的开发实践】的更多相关文章

一.介绍 摄像头图像采集处理在业界有着多种成熟的方案.从老的DirectShow.Grabber技术,到新的Windows Media Foundation框架,网络上都有着丰富的参考资料.OpenCV库里面甚至提供了非常简洁的接口,用户只要一两行代码即可实现数据采集.编解码等功能,使用起来甚是方便.但是,如果把数据采集的任务放到我们自己的程序中来实现的话,CPU的占用率会比较高.这在某些情况下不太可取.虽然可以实现,但是在客户端使用时效率非常低下.而公司恰好有一项开发任务:要求采集到摄像头数据…
本文分析一下<DirectShow开发指南>中的一个典型的Transform Filter的例子:字幕叠加(FilterTitleOverlay).通过分析该例子,我们可以学习到DirectShow Transform Filter 开发的方式. 直接打开项目工程(我这里是VC2010),看到项目的结构如下图所示: 先看一下运行的结果: 注意,DirectShow的Filter是不可以直接运行进行调试的.一般情况下需要借助于Graphedit.exe这个程序进行调试.当然这不是绝对的,也可以用…
首先,简单介绍:Redis是一个基于内存的键值对存储系统,常用作数据库.缓存和消息代理. 支持:字符串,字典,列表,集合,有序集合,位图(bitmaps),地理位置,HyperLogLog等多种数据结构. 支持事务.分片.主从复之.支持RDB(内存数据保存的文件)和AOF(类似于MySQL的binlog)两种持久化方式.3.0加入订阅分发.Lua脚本.集群等特性. 命令参考:http://doc.redisfans.com 中文官网:http://www.redis.net.cn 安装(都大同小…
原文:Xamarin.Android开发实践(五) 一.服务的生命周期 服务与活动一样,在它的整个生命周期中存在着一些事件,下图可以很好解释整个过程以及涉及到的方法: 在真实的使用中,Service来还包含一个OnBind方法,并且必须要使用该方法,但是只要返回NULL即可,除非当前服务是一个绑定服务,那么就要返回实现了IBinder的实例. 二.回调方法的总结 上图中涉及到了几个方法,下面将做简单的介绍: OnCreate:只会在服务第一次开启的时候调用,主要负责一些初始化代码 OnStart…
DirectShow SDK提供了一套开发Filter的基类源代码.基于这些基类开发Filter将大大简化开发过程. 1.CBaseObject 大部分SDK类都从CBaseObject类(参见combase.h)中继承而来的. [cpp] view plaincopy class CBaseObject { private: // Disable the copy constructor and assignment by default so you will get //   compil…
DjangoRestFramework开发实践 在这之前我写过一篇关于Django与Drf快速开发实践的博客,Django快速开发实践:Drf框架和xadmin配置指北,粗略说了一下Drf配置和基本使用,不过里面只是涉及到最基本的CRUD,在正常的后端开发中涉及的诸如认证和权限.消息队列.缓存之类的操作,上一篇博客并没有涉及,这次开发我仔细了看了官方文档的这几个部分,把这部分的功能完善了起来. Drf的设计很有Django的味道,(毕竟就是伴生框架嘛)封装了很多功能,稍微配置一下就可以用,这点在…
最近在研读一本书<JavaScript设计模式与开发实践>,进阶用的. 一.高阶函数 高阶函数是指至少满足下列条件之一的函数. 1. 函数可以作为参数被传递. 2. 函数可以作为返回值输出. 1)高阶函数实现AOP AOP(面向切面编程)的主要作用是把一些跟核心业务逻辑模块无关的功能抽离出来,这些跟业务逻辑无关的功能通常包括日志统计.安全控制.异常处理等. 把这些功能抽离出来之后,再通过“动态织入”的方式掺入业务逻辑模块中. 这样做的好处首先是可以保持业务逻辑模块的纯净和高内聚性,其次是可以很…
Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专题,主要分享下AndroidStudio下的NDK与JNI开发的相关操作以及简述下CMake的使用.最后,会以一个实例来结束这个小专题的分享,那个,就放在最后一篇吧. 作者:AlphaGL.版权所有,欢迎保留原文链接进行转载 :) 传送门: Android游戏开发实践(1)之NDK与JNI开发01…
前言:在 上一篇 TFS2015敏捷开发实践 中,我们给大家介绍了TFS2015中看板的基本使用和功能,这一篇中我们来看一个具体的场景,如何使用看板来运行一个sprint.Sprint是Scrum对迭代的称谓,也是Scrum中团队协作的一个迭代单元,包含了Scrum中最主要的活动,我们来看看如何使用看板来支持这些活动. TFS 2015中对看板功能进行了大量改进.我们可以通过对列,泳道,展示样式及卡片内容进行定制,使TFS看板具有更强的展示效果与可操作性.本篇博文中我就对TFS 看板进行了一些深…
Android游戏开发实践(1)之NDK与JNI开发01 NDK是Native Developement Kit的缩写,顾名思义,NDK是Google提供的一套原生Java代码与本地C/C++代码"交互"的开发工具集.而Android是运行在Dalvik虚拟机之上,支持通过JNI的方式调用本地C/C++动态链接库.C/C++有着较高的性能和移植性,通过这种调用机制就可以实现多平台开发.多语言混编的Android应用了.当然,这些都是基于JNI实现的.在游戏开发中,这种需求更是必不可少.…