基于關鍵幀提取技術的網絡視頻監控系統
CAM即內容可尋址存儲器。CAM這種存儲器在其每個存儲單元都包含了一個內嵌的比較邏輯,CAM基于內容尋址,通過硬件電路并行查找,實現快速匹配。一般來說在一個時鐘周期內,寫入CAM的待比較數據和其內部存儲的每一個數據進行比較,并返回與端口數據相同的內部數據存儲的地址和是否匹配的標識符。CAM的這種并行處理特性使得它在數據分選領域倍受青睞,被廣泛應用在以太網網址搜尋、路由器中的地址交換表、高速數據處理等方面。
基于CAM在模式匹配方面的良好特性,我們將關鍵幀的匹配單元在FPGA中實現。由于Spartan 3E的BRAM資源有限,所以系統存儲的關鍵幀數據不會很多。將匹配圖像的顏色直方圖和形狀輪廓信息存儲在CAM中后,提取關鍵幀的顏色直方圖和形狀輪廓信息進行匹配。用這種方法可以提高關鍵幀匹配的速率,避免了系統的瓶頸。
關鍵幀匹配規則庫
視頻關鍵幀匹配規則庫的更新是提高視頻監測準確性的關鍵。因此,視頻匹配規則庫良好的接口設計是用戶交互的重要方面,在本系統中,我們將關鍵幀信息存儲在CAM中,當用戶根據自己的需求,提取出自定義圖像的顏色直方圖和形狀輪廓特征信息后,可在線寫入CAM中,作為新的匹配規則。
告警響應處理單元
鑒于當前網絡攻擊方式的多種多樣和系統本身的處理能力有限,我們建議將此系統和其它網絡安全設備相結合構成網絡安全保障體系結構。綜合各種安全監測設備自身的優點和不足,合理利用有限的資源,全方位保障內部網絡的安全。
在此系統中,我們可以提取出視頻源的IP地址和端口號,如果確定當前視頻含有垃圾信息,系統將其IP地址和端口號傳輸到體系中的防火墻等設備,由防火墻截斷其數據包的傳輸,并將其列入黑名單重點監測。同時,提取出的關鍵幀還將由病毒掃描系統等安全審計設備進行檢查,防止視頻中捆綁有病毒和木馬等攻擊信息。

圖5 硬件實現示意圖
II.軟件實現
系統網絡接口
Lwip是瑞士計算機科學院(Swedish Institute of Computer Science)的Adam Dunkels等開發的一套用于嵌入式系統的開放源代碼TCP/IP協議棧。Lwip既可以移植到操作系統上,又可以在無操作系統的情況下獨立運行.
LwIP的特性如下:
(1) 支持多網絡接口下的IP轉發;
(2) 支持ICMP協議 ;
(4) 包括阻塞控制,RTT估算和快速恢復和快速轉發的TCP協議;
(5) 提供專門的內部回調接口(Raw API)用于提高應用程序性能;
(6) 可選擇的Berkeley接口API(多線程情況下);
(7) 在最新的版本中支持PPP;
(8) 新版本中增加了的IP fragment的支持;
(9) 支持DHCP協議,動態分配ip地址。
在Xilinx公司提供的ISE 10.1開發套件中,EDK開發軟件支持Lwip的應用,同時軟件自身包含Lwip的庫。因此,系統中的網絡接口我們全部基于Lwip的RAW IP模式開發。
關鍵幀提取
FFmpeg是用于制作和轉化流媒體音頻和視頻的完整解決方案, 包括 libavcodec ,一套先進的的音視頻編解碼類庫。FFmpeg 在Linux上開發,當可以在大多數操作系統下編譯,包括Windows。
Ffmpeg開源項目由以下幾部分組成:
FFmpeg 視頻文件轉換命令行工具,也支持經過實時電視卡抓取和編碼成視頻文件;
FFserver 基于HTTP(RTSP正在開發中)用于實時廣播的多媒體服務器.也支持時間平移;
FFplay 用 SDL和FFmpeg庫開發的一個簡單的媒體播放器;
libavcodec 一個包含了所有FFmpeg音視頻編解碼器的庫.為了保證最優性能和高可復用性,大多數編解碼器從頭開發的;
libavformat 一個包含了所有的普通音視格式的解析器和產生器的庫.
在系統中的網絡視頻解碼和關鍵幀提取單元,解碼器的實現是在開源音視頻解碼器庫libavccodec的開發上實現的。
RS232串口通信
1K Xmodem文件傳輸協議為基于點對點連接的服務與客戶端間的通信,提供了一種固定包長度的簡單的連續文件傳輸協議。每一個包都包含1024字節的文件數據,并且都單獨的被接收客戶端響應。每次只能傳輸一個文件,并且失敗后只能從新開始傳輸。

圖 6
文件數據包格式1K Xmodem文件傳輸協議并不需要向接收客戶端發送待發送文件的名稱 ,該文件將會被接收方授予一個局部有效的文件名。 要開始文件傳輸的過程,首先接收方向發送方發送一個輪詢字符,來提示發送方客戶端已經準備好了。如果接收方支持check-sum (CRC)校驗,則輪詢字符可以用0x43 (ASCII 字母 C);如果接收方只支持舊的checksum (求總和)校驗,則輪詢字符可以用0x15 (NACK線控制字符)。發送方響應接收方的啟動字符,開始發送文件數據包,每個包都是1024字節的固定長度。如果最后一個文件數據包不足1024字節,則利用NACK(0x1A)填充到1024字節。接收方通過ACK(正常接收)或者NACK(非正接收)來響應每一個包。如果發送方收到ACK,則發送下一個包知道文件傳輸完成;如果發送方收到NACK,則重新發送上一個包。當發送方發送完成后,發送EOT通知接收方文件傳輸結束,接收方發送ACK來響應,發送方收到ACK后則文件傳輸完成。在系統中,eBox-4300通過1K Xmodem文件傳輸協議和Spartan 3E的RS232串口進行關鍵幀的傳輸。同時,系統也可以通過串口和系統管理主機進行通信。

圖 7 軟件實現流程圖
1.捕獲分析:用戶可根據實際情況,調整視頻數據包捕獲的標志字段,來截取當前網絡中的視頻數據包; 2.靈活的解碼系統:由于當前流媒體文件格式多樣,我們在此系統中只進行了ASF格式流媒體文件的解碼,但用戶可以自己編譯自定義的解碼器并添加到當前系統中; 3.匹配規則更新:匹配規則的更新是系統高效工作的前提,系統良好的用戶交互界面,將幫助用戶輕松添加新的匹配規則到當前系統中; 4.協調功能:系統架構初期充分考慮到目前的網絡安全設備已經多種多樣,為了充分利用網絡中已有安全設備的資源,對一些常見的防御功能不再設計。因此,本系統可以很好地和其他安全設備交互網絡信息,協調工作功能,從而保障網絡各方面的安全。
評論