高余勝
隨著計算機技術的飛速發展越來越多的需求要軟件來實現視頻采集,而且也要獲得較好的圖像效果。在這種情況下,Windows平臺專門開發了滿足這種需求的信息處理和集成技術,也為數字視頻信息的實時捕捉提供了多種實現技術,其中主要有VFW技術和Directshow技術。文章將主要介紹VFW和Directshow技術,并簡要介紹了運用該技術實現視頻捕捉的技術研究。
近年來Internet不斷發展,人們希望通過網絡可以傳輸更多的視頻信息或者視頻信號,而實現視頻傳輸的核心問題便是多媒體信息的壓縮及傳輸技術。傳統意義上的視頻處理系統以模擬設備為主,其結構是一種單功能、單向、集總方式的信息采集系統,因此傳統設備盡管發展到很高的水平,但其局限性依然存在,已無太大發展空間。面對越來越高質量的需求,視頻字數化的發展將是必由之路。實時數字視頻處理系統具有傳統模擬處理系統無法比擬的優點,而且符合當前字數化、網絡化和智能化的發展趨勢,所以基于VFW和Directshow的視頻捕捉技術的數字視頻處理正在逐步取代傳統視頻處理技術并廣泛應用于多媒體發展中。
1 VFW視頻捕捉技術
VFW(Video for Windows)即視窗操作系統下載視頻是Microsoft公司為適應社會發展需求而推出的關于數字視頻的一個軟件開發包,而AVI(Audio VideoInterleave)文件標準是VFW技術的核心。VFW的優勢在于簡單直觀,能較快捷地運用回調函數、宏等函數完成實時的視頻捕捉和單幀捕獲并提供對視頻源的控制。此外,AVICap類能直接訪問視頻緩沖區,而不需要生成中間文件,實時性和效率較高。
實現VFW視頻捕捉技術的流程可以設計為:創建視頻捕獲窗口、捕獲窗口與視頻捕獲驅動鏈接、視頻捕獲參數的設置、設置捕獲窗口的顯示模式、注冊系統回調函數、捕獲圖像到緩存或文件并進行相應處理、捕獲結束。值得注意的是,VFW技術也有某些缺點:首先該技術支持的數據格式有限,只能處理AVI的文件;其次,采用VFW技術的捕獲系統存在通用性差、維護困難、系統可擴展性差等問技術題。在網絡視頻會議等領域迅速發展的今天,VFW架構自身固有的設計缺陷逐步顯露出來,缺少對視頻會議、電視觀賞、視頻場捕捉以及處理附加數據流如垂直消隱間隔等的關鍵功能支持。
2 Directshow視頻捕捉技術
DirectShow是微軟公司推出的新一代基于COM(Component Object Model)的流媒體處理的開發包,與DirectX開發包一起發布。DirectShow使用一種叫FilterGraph的模型來管理整個數據流的處理過程,運用DirectShow,我們可以很方便地從支持WDM驅動模型的采集卡上捕獲數據,并且進行相應的后期處理乃至存儲到文件中。它廣泛地支持各種媒體格式,包括Asf、Avi、Mp3、Wave等,為多媒體流的捕捉和回放提供了強有力的支持。
DirectShow視頻捕捉技術應主要完成的功能有:枚舉系統中視頻采集設備,并生成列表;調整輸圖出像的顯示參數;對采集設備進行視頻內容的預覽;給編碼器filter提供幀圖像。Filter是Directshow技術里最基本的概念,也是該技術能夠實現視頻捕捉技術的關鍵部分。按照功能大致分為三類:source Filters、Transform Filters和Renderer Filters。Filter是FilterGraph中的最小功能模塊,Direetshow使用FilterGraph來管理Filter,Filteroraph是Filter的容器。SourceFilters主要負責取得數據,然后將數據往下傳輸;Transform Filters主要負責數據的格式轉換、傳輸;Renderer Fihers主要負責數據的最終去向。值得注意的是,每個部分都有幾個甚至更多Filter去完成功能,各個Filter之間協同工作。除了系統提供的Filter外,我們可以根據自己的實際需要制定Filter,從而滿足我們的需要。
Directshow的視頻捕捉技術具有VFW不具有的優勢:成本低,使用廉價的攝像頭和話筒設備,可以被普通用戶接;可以實現多種文件格式的轉換,從而滿足不同客戶的需求;此外,Directshow技術也提供了更好的視頻和音頻質量,并可以根據用戶需要對音、視頻作出相應調整。
3 總結
隨著視頻捕捉技術的快速發展,用戶對視頻處理技術的要求也越來越高,尤其是現在網絡技術的流行,將是該系統功能擴展的很有價值的方向。在此基礎上,為提高視頻捕捉性能,目前大多Windows平臺下的視頻采集都采用了VFW技術作為驅動模型,并開發所需的微驅動程序。
(作者單位:沈陽大學文化傳媒學院)