avicap.dll是Windows API應(yīng)用程序接口,用于截取AVI視頻和攝像頭及其它視頻硬件設(shè)備的視頻
操作方法
1.創(chuàng)建“捕獲窗” 在進(jìn)行視頻捕獲之前必需要先創(chuàng)建一個(gè)“捕獲窗”,并以它為基礎(chǔ)進(jìn)行所有的捕獲及設(shè)置操作。“捕獲窗”用AVICap窗口類(lèi)的“CapCreateCaptureWindow”函數(shù)來(lái)創(chuàng)建,其窗口風(fēng)格一般為WS_CHILD和WS_VISIBLE。 捕獲窗類(lèi)似于標(biāo)準(zhǔn)控件(如按鈕、列表框等),并具有下列功能: 將視頻流和音頻流捕獲到一個(gè)avi文件中; 動(dòng)態(tài)地同視頻和音頻輸入器件連接或斷開(kāi); 以O(shè)verlay或Preview模式對(duì)輸入的視頻流進(jìn)行實(shí)時(shí)顯示; 在捕獲時(shí),可指定所用的文件名并能將捕獲文件的內(nèi)容拷貝到另一個(gè)文件; 設(shè)置捕獲速率; 顯示控制視頻源、視頻格式、視頻壓縮的對(duì)話(huà)框; 創(chuàng)建、保存或載入調(diào)色板; 將圖像和相關(guān)的調(diào)色板拷貝到剪貼板; 將捕獲的單幀圖像保存為DIB格式的文件。 2.關(guān)聯(lián)捕獲窗和驅(qū)動(dòng)程序 單獨(dú)定義的一個(gè)捕獲窗是不能工作的,它必需與一個(gè)設(shè)備相關(guān)聯(lián),這樣才能取得視頻信號(hào)。用函數(shù)CapDriverConnect可使一個(gè)捕獲窗與一個(gè)設(shè)備驅(qū)動(dòng)程序相關(guān)聯(lián)。 3.設(shè)置視頻設(shè)備的屬性 通過(guò)設(shè)置TcaptureParms結(jié)構(gòu)變量的各個(gè)成員變量,可以控制設(shè)備的采樣頻率、中斷采樣按鍵、狀態(tài)行為等等。設(shè)置好TCaptureParms結(jié)構(gòu)變量后,可以用函數(shù)CapCaptureSetSetup使設(shè)置生效。之后還可以用CapPreviewScale、CapPreviewRate來(lái)設(shè)置預(yù)覽的比例與速度,也可以直接使用設(shè)備的默認(rèn)值。 4.打開(kāi)預(yù)覽 利用函數(shù)CapOverlay選擇是否采用疊加模式預(yù)覽,這樣占用系統(tǒng)資源小,并且視頻顯示速度快。然后用CapPreview啟動(dòng)預(yù)覽功能,這時(shí)就可以在屏幕上看到來(lái)自攝像機(jī)的圖像了。 通過(guò)以上4步就可以建立一個(gè)基本的視頻捕獲程序。但如果想自已處理從設(shè)備捕獲到的視頻數(shù)據(jù),則要使用捕獲窗回調(diào)函數(shù)來(lái)處理,比如一幀一幀地獲得視頻數(shù)據(jù)或以流的方式獲得視頻數(shù)據(jù)等等。