視頻會議的開發過程會涉及到圖像的采集和圖像的重畫,我們這兩個模塊需要怎樣進行開發呢?首先我們知道window開發視頻采集和重畫,最好的選擇就是采用DirectX SDK提供的接口進行音視頻的采集和重畫,原因是DirectX為我們提供了一個直接調用底層硬件的接口,我們不需要直接寫和底層打交道的代碼,只要簡單的幾個語句就可以實現硬件的操作。下面我們介紹一下DirectX SDK 里面的DirectShow,為什么我們要介紹DirectShow呢?因為DirectShow里面除了提供音視頻的采集還提供視頻的部分的接口,我們視頻會議開發主要就是通過DirectShow里面的接口進行開發。
DirectX軟件開發包是微軟公司提供的一套在Windows操作平臺上開發高性能圖形、聲音、輸入、輸出和網絡游戲的編程接口。作為DirectX家族的成員,DirectShow能夠在Windows平臺上處理各種格式的媒體文件的回放,音頻、視頻的采集等高性能的多媒體應用,并提供了相應完整的解決方案。
DirectShow使用Filter Graph來管理整個數據流的處理過程,各個模塊叫做Filter。按照功能來分,Filter可以分為三類:源過濾器(Source Filters)、變換過濾器(Transform Filters)和顯示過濾器(Rendering Filters),分別用來引入獲取的數據、獲取并處理數據、提交數據給外設。有了這樣的協同工作,應用程序就按照一定的意圖建立起相應的Filter Graph,通過Filter Graph Manager來控制整個的數據處理過程,就實現了應用程序與DirectShow系統之間的交互。
通過DirectShow我們可以實現音視頻的采集,通過變換過濾器,我們可以實現視頻數據的發送和接收,最后我們通過顯示過濾器對音視頻進行播放和重畫。通過這三個步驟,就可以實現視頻會議的音視頻采集、傳輸以及播放和重畫,具體實現的代碼,大家可以參考相應的DirectShow開發文檔。

售前咨詢專員
