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來實現視頻捕捉。

  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章