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