记录两个关于用asf writer修改wmv文件大小的文章 2010-12-17 17:43

http://topic.csdn.net/t/20060904/16/4997413.html

http://blog.csdn.net/Meuck/archive/2006/09/12/1211831.aspx

记录两个关于用asf writer修改wmv文件大小的文章,默认大小是320*240

再增加一篇
http://topic.csdn.net/t/20050131/10/3765097.html
该篇有讨论修改profile部分,最后的解决办法是直接修改系统文件,文件名:WMSysPr9.prx。
除此之外,网上“止水”的博客中也介绍了有关内容,记录如下:
DirectShow应用中,采用asf writer这个Filter来存储文件是个不错的选择,因为asf writer是一个存储音视频信息的容器,而非简单某种视频格式的文件。并且当采用WMV压缩时,压缩质量可控制。
但是,微软做的这个asf writer真的是很不好用,无法配置你想需要的视频属性!它只有几个特定的系统配置文件(profile)来供你选择。非常的不灵活。
于是就想到了自己创建profile来满足程序特定的需要,至此,问题出来了。asf writer的特性是,在连接此filter之前,必须将profile设置给filter,也就是说,视频的各个属性在连接之前就必须确定。而在大多数应用中,我们要设置的视频属性都是从上游Filter那里传过来的,就是说没连接之前我们根本不知道视频的属性...,这里,形成了一个死锁,呵呵。
上网搜了N篇文章,都没有提出解决办法。
不断尝试之下,最后采用了对陆其明先生的asf writer代码进行修改的办法。在这个代码里面,在pin连接完成之时,程序会将媒体的属性设置给Filter的属性。注意,这里的设置并没有导致最后录制的视频属性改变,这里告知的,只是源视频信息,当然也是必须要设置的,否则写不了文件。
首先,程序为了连接其他Filter,临时创建了一个profile,这样我们才能连接起来。然后,在pin连接完成之时,我在设置源视频属性代码的前面添加了再创建一个profile(根据源视频属性,或者自己要定制的属性创建),并设置给Filter.这里要注意的是,不能在设置源视频属性后创建和设置profile。而要在之前。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mlchen2009/archive/2010/04/15/5489850.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值