一、引言
我們知道視訊交談軟體的關鍵技術在於採集視頻,並即時傳輸給聊天軟體線上的人。對於視頻的採集,這裡採用微軟公司的關於數位視訊的一個軟體包VFW(Video for Windows)。相信很多人對它都很熟習,VFW能使應用程式通過數字化裝置從傳統的類比視頻源得到數字化的視訊剪輯,VFW的一個關鍵思想是播放時不需要專用硬體。為瞭解決數位視訊資料量大的問題,需要對資料進行壓縮,而VFW引進了AVI的檔案標準。該標準未規定如何對視頻進行捕捉、壓縮及播放,僅規定視頻和音頻該如何儲存在硬碟上及在AVI檔案中交替儲存視訊框架和與之相匹配的音頻資料。通過VFW,開發人員通過發送訊息或設定屬性來捕捉、播放和編輯視訊剪輯。當使用者在安裝VFW時,安裝程式會自動地安裝配置視頻所需要的組件,如裝置驅動程式、視頻壓縮程式等。VFW主要由6個模組組成。VFW功能模組:
AVICAP.DLL 包含執行視頻捕捉的函數,它給AVI檔案的I/O處理和視頻、音訊裝置驅動程式提供一個進階介面
MSVIDEO.DLL 包含一套特殊的DrawDib函數,用來處理螢幕上的視頻操作
MCIAVI.DRV 包括對VFW的MCI命令直譯器的驅動程式
AVIFILE.DLL 包含由標準多媒體I/O(mmio)函數提供的更高的命令,用來訪問.AVI檔案
ICM 壓縮管理器,用於管理的視頻壓縮/解壓縮的編解碼器(Codec)
ACM 音頻壓縮管理器,提供與ICM相似的服務,適用于波形音頻
對於視頻的傳輸,我們使用UDP來傳,因為UDP傳輸速度快,TCP是連線導向的,建立串連時雙方需經過三向交握,資料轉送可靠,FTP、telnet等就是基於TCP的,UDP是面向非串連的,發出資訊不需對方確認,但這樣速度比TCP快,但有可能遺失資料,象SMTP、tftp等就是基於UDP的。另外UDP還支援廣播,UDP廣播兩種,一種是directed broadcast,比如你的網段是192.168.0.X,你就往192.168.0.255發就可以了。另一種是limited broadcast,廣播位址是255.255.255.255