您的位置:首页 > 其它

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

2005-01-31 18:42 453 查看
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来实现视频捕捉。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows video api 平台