圍繞AVI檔案,VFW推出了一整套完整的視頻採集、壓縮、解壓縮、回放和編輯的應用程式接口(API)。它引進AVI的檔案標準,該標準未規定如何對視頻進行捕獲、壓縮及播放,僅規定視頻和音頻該如何存儲在硬碟上,在AVI檔案中交替存儲視頻幀和與之相匹配的音頻數據。VFW給程式設計師提供.VBX和AVICap視窗類的高級編程工具,使程式設計師能通過傳送訊息或設定屬性來捕獲、播放和編輯視頻剪輯。現在用戶不必專門安裝VFW了,Windows95本身包括了Video for Windows1.1,當用戶在安裝Windows時,安裝程式會自動地安裝配置視頻所需的組件,如設備驅動程式、視頻壓縮程式等。 由於AVI檔案格式推出較早且在數字視頻技術中有廣泛的套用,所以VFW仍然有很大的實用價值,而且進一步發展的趨勢。
VFW主要由以下六個模組組成:
(1)AVICAP.DLL:包含了執行視頻捕獲的函式,它給AVI檔案I/O和視頻、音頻設備驅動程式提供一個高級接口;
(2)MSVIDEO.DLL:用一套特殊的DrawDib函式來處理螢幕上的視頻操作;
(3)MCIAVI.DRV:此驅動程式包括對VFW的MCI命令的解釋器
(4)AVIFILE.DLL:支持由標準多媒體I/O(mmio)函式提供的更高的命令來訪問.AVI檔案;
(5)壓縮管理器(ICM):管理用於視頻壓縮-解壓縮的編解碼器(CODEC);
(6)音頻壓縮管理器ACM:提供與ICM相似的服務,不同的是它適於波形音頻。
Visual C++在支持VFW方面提供有vfw32.lib、 msacm32.lib 、winmm.lib等類似的庫。特別是它提供了功能強大、簡單易行、類似於MCIWnd的視窗類AVICap。AVICap為應用程式提供了一個簡單的、基於訊息的接口,使之能訪問視頻和波形音頻硬體,並能在將視頻流捕獲到硬碟上的過程中進行控制
在VC++開發環境中調用VFW和使用其它開發包沒有什麼不同,只是需要將VFW32.lib檔案加入工程中,但在開放視頻捕捉與壓縮管理程式時需要其它軟體硬體設定。VFW為AVI檔案提供了豐富的處理函式和宏定義,AVI檔案的特點在於它是典型的數據流檔案,它由視頻流、音頻流、文本流組成。所以對AVI檔案的處理主要是處理檔案流。