WINDOWS下如何提高PWLIB的视频捕捉速度

PWLIB版本:1.6.6
OPENH323版本:1.13.5

  在WINDOWS平台下,为了保证稳定性,PWLIB库的视频捕捉是采用的是WINDOWS的VFW(VIDEO FOR WINDOWS)API来实现的,而且,默认情况下,库的编译设置是采用停等模式来捕捉视频,为了提高捕捉速度,我们应该采用流模式来进行捕捉,如何进行修改呢?
  首先,我们应该把捕捉模式设置为流模式,为此我们要把pwlib/src/ptlib/msos/vfw.cxx文件头的预定义行#define STEP_GRAB_CAPTURE 1修改为#define STEP_GRAB_CAPTURE 0。
  其次,在pwlib/src/ptlib/msos/vfw.cxx文件中找到函数BOOL PVideoInputDevice_VideoForWindows::SetFrameRate(unsigned rate)的定义,在parms.fLimitEnabled = FALSE;的后面加入下面一行parms.fYield = TRUE;(按理说,修改成流模式就可以,但有可能是作者的大意,少了一个参数没有设置,为此我们还得多做下面的一步。)
  至此,修改完成,重新编译PWLIB库,可以使库的视频捕捉按流模式来进行,但相应的,系统资源占用率会提高,根本的解决之道是采用MS的DX来实现视频捕捉。

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值