代码改变世界

随笔分类 -  DirectShow

在Directshow中使用VMR9

2010-03-02 14:56 by libiver, 713 阅读, 收藏, 编辑
摘要: 声明:欢迎任何人和组织转载本blog中文章,但必须标记文章原始链接和作者信息。 本文链接:http://blog.csdn.net/li_007/archive/2010/03/02/5338976.aspx开拓进取的小乌龟------->CSDN点滴点点滴滴Blog废话就少说了,把这段时间做的某***活动要用播发器的部分Directshow代码发出来,方便大家使用(声明:遵循LGPL协议)。本来同事想用openframeworks使用quicktime来播放这个3084*720的高清AD片子的,可是播放的时候有点卡,所以没办法就只有再次自己用directshow来写,现在分享的代码可以 阅读全文

directshow之vs2005配置

2007-12-16 23:31 by libiver, 186 阅读, 收藏, 编辑
摘要: 学习directshow有一段时间了,作为过来人我是吃了很多苦的,比如环境的配置等。可这几天一直见到有人给我留言,问我关于directshow在vs 2005中的环境配置。我上了www.directshow.cn (陆老师办的),发现上面也没有补充完整,所以我就花点时间将我的配置发出来,不敢说是完全正确,但我一直是这样配置来学习directshow和Windows Media 编程的。如果有错误,欢迎大家指正,我会在确认后及时改正。(联系我:leezhm@126.com) 好了言归正传。首先,我们是要在vs 2005下编译baseclass,当然有一些问题是要我们自己来修改(可以参考我以前写. 阅读全文

老生常谈——关于将baseclass编译成Debug

2007-12-16 22:54 by libiver, 196 阅读, 收藏, 编辑
摘要: 老生常谈——关于将baseclass编译成Debug 这是个老话题,可我们总是犯错误,故再次提醒。当我们在2005下编写directshow的程序时,我们一定要在用2005编译baseclass时将项目配置成如下图:这样我们才是正确编译baseclass。不然可能出现一下问题,在我们用到CPosPassThru class时。(当然这只是一个例子)__thiscall CPosPassThru::CPosPassThru(char const *,struct IUnknown *,long *,struct IPin *)" (??0CPosPassThru@@QAE@PB... 阅读全文

基于MPEG-4和RTP的网络视频监控系统研究

2007-12-12 14:03 by libiver, 349 阅读, 收藏, 编辑
摘要: 声明:我在学习的过程中,看到一些好的文档,对我的帮助很大,在这里先感谢你们。但为了学习的方便,免得每次去找,我就转载到了我的blog上了。我无意侵犯作者的产权,如有不妥,请联系我(leezhm@126.com),我马上删除。谢谢!基于MPEG-4和RTP的网络视频监控系统研究文/北京邮电大学通信网络综合技术研究所 龚猷龙 刘勇摘 要:随着计算机、网络及多媒体通信技术的发展,视频监控在业界得到了广泛的应用,许多先进的技术被逐渐引入视频监控系统。本文采用了递进的方式,先介绍了IP网络视频监控系统的组成及其关键技术,接着阐述了MPEG-4视频流的RTP分组净荷格式。最后,在视频流的RTP传输中,着. 阅读全文

关于在GraphEdit中显示应用程序的Filter graph

2007-08-24 11:22 by libiver, 296 阅读, 收藏, 编辑
摘要: GraphEdit can load a filter graph created by an external process. With this feature, you can see exactly what filter graph your application builds, with only a minimal amount of additional code in your application.The application must register the filter graph instance in the Running Object Table (. 阅读全文

关于自己对IMediaControl::Run()返回S_FALSE的一点见解

2007-08-17 17:03 by libiver, 983 阅读, 收藏, 编辑
摘要: 这段时间在学习DirectShow时,写了一些古怪的代码。刚好在这几天学习音频的采集时,再一次遇到了这样的问题。当我的程序执行到IMediaControl::Run()函数时,每次都时返回S_FALSE。我想很多人肯定都会遇到了这个问题,不过它有时并不影响我们程序的运行。这是为什么,我们可以看一下MSDN是怎么说的。The Run method runs all the filters in the filter graph. While the graph is running, data moves through he graph and is rendered. 由上面可知,有的时候它 阅读全文

DirectShow音频采集

2007-08-16 18:06 by libiver, 595 阅读, 收藏, 编辑
摘要: 学习了好长一段时间的directshow,关于视频那一块的一些部分简单地过了一遍,如采集、解压缩、传输等。现在回过头来学习音频的采集。现在将这几天的学习心得写下来。我们知道directshow对我们的硬件的支持是通过特定的包装Filter来实现的,如我们的声卡是使用的Audio Captue Filter,他在内部有使用了以waveIn开头的一些API函数来实现(学过windows编程就知道,如waveInOpen).这些我们可以通过GraphEdit来检查。下面我们在建一个完整的Filter Graph链路。如下: 图(1)注意:这里用到了一个Filter,WAV Dest。他是我们的Di. 阅读全文

mpeg介绍

2007-08-13 21:44 by libiver, 393 阅读, 收藏, 编辑
摘要: 码流(Data Rate) 码流是指视(音)频文件在单位时间内使用的数据流量,有时候也叫码率,是Mpeg4画面质量控制中最重要的部分。同样分辨率下,视(音)频文件的码流越大,压缩比就越小,画面质量就越高。试采集同一帧同一分辨率的原版《木乃伊》做细部比较,如下图: 我们注意观察黑色前景周围的高对比度区域,和背景天空的对比度和碎化程度。以原图为标准画面(10Mbits/s的Mpeg2),可以看到“码流500kbits/s的DivX”高对比度区域呈斑点状,背景天空碎化、混沌;“码流1000kbits/s的DivX”介于前后两者之间;“码流1500kbits/s的DivX”画面柔和,背景天空已经可以. 阅读全文

AVI文件格式

2007-08-06 14:28 by libiver, 271 阅读, 收藏, 编辑
摘要: 最近在研究基于DirectShow的方面的知识,看到了一些好的文章,免得自己每次去查找,所以就转载到我的Blog里,我无意侵犯作者的版权,只是学习,没有别的意思,望作者谅解,向你致歉AVI文件格式(附件是C语言实现AVI文件创建的源码)AVI (Audio Video Interleaved的缩写)是一种RIFF(Resource Interchange File Format的缩写)文件格式,多用于音视频捕捉、编辑、回放等应用程序中。通常情况下,一个AVI文件可以包含多个不同类型的媒体流(典型的情况下有一个音频流和一个视频流),不过含有单一音频流或单一视频流的AVI文件也是合法的。AVI可以 阅读全文

用于MPEG-4视听流的RTP负载格式 (RFC 3016)

2007-07-28 16:34 by libiver, 495 阅读, 收藏, 编辑
摘要: 用于MPEG-4视听流的RTP负载格式 (RFC 3016)组织:中国互动出版网(http://www.china-pub.com/)RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)E-mail:ouyang@china-pub.com译者: 李超(licc_li ,licc_li@sina.com)译文发布时间:2001-4-26版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须保留本文档的翻译及版权信息。Network Working Group ... 阅读全文

基于RTP协议和MPEG-4的流媒体系统分析与实现

2007-07-27 22:41 by libiver, 288 阅读, 收藏, 编辑
摘要: 最近在研究基于DirectShow的MPEG-4视频传输方面的知识,看到了一些好的文章,免得自己每次去查找,所以就转载到我的Blog里,我无意侵犯作者的版权,只是学习,没有别的意思,望作者谅解,向你致歉 摘要:在简述MPEG-4压缩标准编码特性和RTP/RTCP协议原理的基础上提出了一个适合目前视频点播、组播的RTP流媒体应用方案,该方案使用了optibase公司的MPEG-4MovieMaker400板卡和Apple公司的DARWIN流媒体服务器,采用了MPEG-4音视频传输的RTP组包算法,该算法具有传输的高效性和丢包的鲁棒性。关键词:MPEG-4RTP/RTCPDARWINMPEG-. 阅读全文

关于开源的RTP——jrtplib的使用(2)

2007-07-13 18:44 by libiver, 426 阅读, 收藏, 编辑
摘要: 关于开源的RTP——jrtplib的使用(2)这段时间在研究RTP,好几天了,今天又来总结一下。 关于jrtplib环境的建立,可以见我以前写的总结,现在我主要来谈谈jrtplib3.71下的几个example的学习。一、sample是一个简单的IPv4的列子,它实现了RTP在本机上的数据的传输。1、初始化。我们知道RTP是通常是使用UDP协议来实现数据的传输,在windows环境下,当然要用到我们熟悉的套接字的使用,所以我们先要进行初始化,加载套接字库。#ifdef WIN32WSADATA dat;WSAStartup(MAKEWORD(2,2),&dat);#endif // W 阅读全文