目前同三維推出的流媒體采集卡,都可以支持DirectShow標(biāo)準(zhǔn)開發(fā),甚至有的還提供完整的二次開發(fā)包SDK.對于多媒體視頻應(yīng)用程序二次開發(fā),給視頻捕獲編程帶來了很大的方便,特別是許多關(guān)于流媒體視頻的軟件(如視頻會(huì)議、可視電話等)開發(fā)都應(yīng)用于視頻捕獲技術(shù)。視頻捕獲與實(shí)時(shí)處理是目前視頻處理系統(tǒng)中*關(guān)鍵的技術(shù)之一。
說起視頻捕捉/視頻采集問題,我們先要來看一下視頻采集卡。
根據(jù)使用的驅(qū)動(dòng)程序的不同來分類,目前市場上大致有兩種視頻采集卡:VFW (Video for Windows)視頻卡和WDM (Windows Driver Model)視頻卡。
采用VFW的一般都是些以前生產(chǎn)的卡;市面上的視頻采集卡,一般都是采用了WDM驅(qū)動(dòng)程序。另外,視頻采集卡的接口,可以是以PCI或AGP的方式插入PC機(jī)箱,也可以直接以USB接口(USB視頻采集卡)的方式外掛;還有就是通過1394接口(DV1394卡)與PC機(jī)相連的數(shù)碼攝像機(jī)等等。
VFW是一種趨于廢棄的驅(qū)動(dòng)模型,而后者是前者的替代模型;Microsoft 的Visual C++自從4.0版就開始支持Video for Windows(簡稱VFW),這給視頻捕獲編程帶來了很大的方便。由于VFW SDK只有VC和VB版,沒有Delphi版,DirectShow使用了一個(gè)標(biāo)識為CLSID_VfwCapture的Filter來支持VFW卡。跟WDM卡相比,VFW卡實(shí)現(xiàn)的功能要簡單得多。一般要將驅(qū)動(dòng)程序內(nèi)的設(shè)置對話框顯示給用戶。
WDM支持USB、IEEE 1394、ACPI等全新的硬件標(biāo)準(zhǔn)。而且以往在兩個(gè)平臺上同時(shí)運(yùn)行時(shí)需要編寫兩個(gè)截然不同的驅(qū)動(dòng)程序,現(xiàn)在只需要編寫一個(gè)WDM驅(qū)動(dòng)程序就可以了。對于流媒體應(yīng)用程序,WDM在核心態(tài)提供了快速反應(yīng)的接口來處理I/O流。WDM的流接口是通過標(biāo)準(zhǔn)的WDM類接口提供出的。
WDM還支持更多新的特性,比如直接支持電視接收、視頻會(huì)議、1394接口的設(shè)備、桌面攝像機(jī)、多條視頻流(Line-21或Closed-Caption等)同時(shí)輸出等等。
WDM采集卡,設(shè)置Capture輸出的圖像格式、圖像的對比度、亮度、色度、飽和度等,都是通過IAMStreamConfig、IAMVideoProcAmp等接口來實(shí)現(xiàn),當(dāng)然,在GraphEdit中可以通過Filter的Property Page來設(shè)置,
使用DirectShow(DirectShow是美國微軟公司在ActiveMovie和Video for Windows的基礎(chǔ)上推出的新一代基于COM的流媒體處理的開發(fā)包,與DirectX開發(fā)包一起發(fā)布)來處理一般的視頻捕捉問題,是相對比較簡單的。這當(dāng)然得益于DirectShow這一整套先進(jìn)的應(yīng)用架構(gòu)。DirectShow提供了大量的接口,但在編程中發(fā)現(xiàn)還是不夠方便,如果能構(gòu)建一個(gè)視頻捕捉類把常用的一些動(dòng)作封裝起來,那么就更方便了。如視頻會(huì)議軟件等都需要加入視頻捕捉功能,那么必須首先獲取并初始化IcaptureGraphBuilder2接口,然后選擇一個(gè)適當(dāng)?shù)囊曨l捕捉設(shè)備。選擇好設(shè)備后,為該設(shè)備創(chuàng)建Capture filter,然后調(diào)用AddFilter把Capture filter添加到Filter Graph。目前很多視頻會(huì)議軟件、直播軟件等都是在DirectShow標(biāo)準(zhǔn)上開發(fā)的,DirectShow提供了一個(gè)叫做Capture Graph Builder的對象,Capture Graph Builder提供IcaptureGraphBuilder2接口,建立視頻捕捉應(yīng)用程序更加容易。DirectShow是一種開發(fā)包,廣泛應(yīng)用于視頻編輯、錄播、直播等行業(yè)。支持大量視頻格式,如Asf、Mpeg、Avi、Dv、Mp3、Wave等等,并能直接播放DVD。
視頻采集卡開發(fā)工具
SDK:Direct Show 、VC、VB、Delphi。
驅(qū)動(dòng):WDM、VFW、DirectX、OpenCV、Matlab、LabView、Halcon、MIL。
視頻捕捉卡通常也是以一個(gè)(Capture) Filter的形式出現(xiàn)的。處理視頻捕捉,我們同樣是使用Filter Graph,同樣是操作Filter;控制起來,就似于操作媒體文件的播放。當(dāng)然,這主要是從應(yīng)用程序控制層面上來說的;視頻捕捉的應(yīng)用場合比較多,視頻捕捉本身的一些處理還是有它的特殊性的,而且牽涉面比較廣。
同三維視頻采集卡系列產(chǎn)品中有多款針對專業(yè)流媒體高清領(lǐng)域打造的音視頻采集卡,其能直接兼容各種Direct Show標(biāo)準(zhǔn)開發(fā)的視頻應(yīng)用軟件,無需開發(fā)便能直接進(jìn)行應(yīng)用,如目前市面上常見的視頻會(huì)議、網(wǎng)絡(luò)直播點(diǎn)播、大屏融合等軟件,都能直接進(jìn)行應(yīng)用,針對視頻開發(fā)的需求可提供SDK開發(fā)包。
對于多路音視頻流媒體采集卡:同三維T306E流媒體采集卡是一款可以同時(shí)采集六路音頻和六路視頻信號的采集卡,支持各種DirectShow開發(fā)的視頻軟件,并可以在微軟Amcap、Media Encoder,Real公司Real Producer等各種常用使用軟件下使用,在Direct Show 的Video Capture Filter中新增了“設(shè)備屬性”、“**視頻屬性”設(shè)置面板,詳情可參考:T306E 6路音視頻流媒體采集卡新增功能。
對于1080P高清音視頻流媒體采集卡:采用微軟AVStream標(biāo)準(zhǔn)驅(qū)動(dòng),輸入視頻信號可達(dá)1080p/60 Hz的同三維T620E高清萬能視頻采集卡,兼容使用DirectShow接口的各種音視頻采集軟件和使用DirectSound接口的音頻采集軟件,同三維T620E采集卡在Direct Show 的Video Capture Filter中增加了“設(shè)備屬性”、“**視頻屬性”等相關(guān)的設(shè)置面板,詳情可參考:萬能。高清視頻采集卡相關(guān)屬性面板說明
相關(guān)新聞
視頻采集中DirectShow音頻和視頻同步方法
同三維T200AE VGA高清采集卡SDK函數(shù)說明