日期:2018-06-13 點擊: 關鍵詞:DirectX,視頻會議,視頻會議系統,網絡視頻會議,編程
視頻會議系統最常見的問題主要體現在音頻和視頻兩方面,視頻方面的問題主要是圖像的壓縮以及圖像的處理為主,在視頻會議系統中,在現有的壓縮編碼下,經過各個環節的處理都會對視頻會議圖像造成一定的負面影響。編碼器對圖像的壓縮、解碼器對圖像的解壓縮等都會造成干擾,包括網絡也會造成視頻會議圖像卡頓不清晰燈現象。
視頻會議的開發過程會涉及到圖像的采集和圖像的重畫,首先我們知道window開發視頻采集和重畫,最好的選擇就是采用DirectX SDK提供的接口進行音視頻的采集和重畫,原因是DirectX為我們提供了一個直接調用底層硬件的接口,我們不需要直接寫和底層打交道的代碼,只要簡單的幾個語句就可以實現硬件的操作。
DirectX軟件開發包是微軟公司提供的一套在Windows操作平臺上開發高性能圖形、聲音、輸入、輸出和網絡游戲的編程接口。作為DirectX家族的成員,DirectShow能夠在Windows平臺上處理各種格式的媒體文件的回放,音頻、視頻的采集等高性能的多媒體應用,并提供了相應完整的解決方案。
DirectShow使用Filter Graph來管理整個數據流的處理過程,各個模塊叫做Filter。按照功能來分,Filter可以分為三類:源過濾器、變換過濾器和顯示過濾器,分別用來引入獲取的數據、獲取并處理數據、提交數據給外設。有了這樣的協同工作,應用程序就按照一定的意圖建立起相應的Filter Graph,通過Filter Graph Manager來控制整個的數據處理過程,就實現了應用程序與DirectShow系統之間的交互。
通過DirectShow我們可以實現音視頻的采集,通過變換過濾器,我們可以實現企業視頻會議數據的發送和接收,最后我們通過顯示過濾器對音視頻進行播放和重畫。通過這三個步驟,就可以實現視頻會議的音視頻采集、傳輸以及播放和重畫。