代码改变世界

随笔档案-2007年08月

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

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

关于Form中的post方法和get方法

2007-08-12 08:24 by libiver, 235 阅读, 收藏,
摘要: 今天在学习ASP.NE时,程序在运行时老是发生错误 System.NullReferenceException: 未将对象引用设置到对象的实例。 指向:String strUserName = this.Request.Form.Get("txtUserName").ToString(); 后来经过我的努力解决的问题,原因是我对表单的post和get提交方法的理解错误。我们都知道在B/S应用程序中,前台与后台的数据交互,都是通过HTML中Form表单完成的。Form提供了两种数据传输的方式——get和post。但这两种方法是有区别的。 1、对于get提交的数据,WWW服务器 阅读全文

AVI文件格式

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