2010-01-10 49 views
0

我正在使用SampleGrabber过滤器来获取AVI文件的帧,并在使用文件写入器过滤器将它们写入另一个(新)AVI文件之前进行更改。文件写入器过滤器创建一个更大的AVI文件,然后原始

我面临的问题是新的AVI文件大小大于原始文件。我删除了SampleGrabber筛选器,认为它可能是导致问题的代码,但新文件的大小仍然大于原始文件。我用graphedit测试了它。 使用的过滤器是文件读取器 - > AVI分配器 - > AVI复用器 - >文件编写器。

我真的想保留文件大小。是否有其他过滤器或属性需要设置?目前我只在GraphBuilder中添加滤镜并渲染文件。 我正在使用DirectShowLib.Net。

回答

0

我只是做了使用

File source (async) -> AVI splitter -> AVI mux -> file writer 

在GraphEdit中和输出文件似乎总是出来一样大小的输入对我来说是快速测试。我能想到的唯一的事情是你的输入文件可能被压缩。用像gspot这样的应用程序来检查输入文件可能是值得的。据我了解,DirectShow有时会插入适当的过滤器以建立连接,所以如果您想将文件源连接到AVI分离器,它可能会在需要时插入解压缩器。希望这是一些使用

+0

不,没有解压缩器。生成的文件大小从几个KB到MB不等。我认为使用DirectShow过滤器保存文件时,可能会在其中添加一些额外的信息。因为当我再次通过新生成的File-B通过同一图表时,我得到一个新的File-C,它与File-B一样保存了大小。 – ata 2010-02-05 11:59:37

相关问题