基于關鍵幀提取技術的網(wǎng)絡視頻監(jiān)控系統(tǒng)
CAM即內容可尋址存儲器。CAM這種存儲器在其每個存儲單元都包含了一個內嵌的比較邏輯,CAM基于內容尋址,通過硬件電路并行查找,實現(xiàn)快速匹配。一般來說在一個時鐘周期內,寫入CAM的待比較數(shù)據(jù)和其內部存儲的每一個數(shù)據(jù)進行比較,并返回與端口數(shù)據(jù)相同的內部數(shù)據(jù)存儲的地址和是否匹配的標識符。CAM的這種并行處理特性使得它在數(shù)據(jù)分選領域倍受青睞,被廣泛應用在以太網(wǎng)網(wǎng)址搜尋、路由器中的地址交換表、高速數(shù)據(jù)處理等方面。
基于CAM在模式匹配方面的良好特性,我們將關鍵幀的匹配單元在FPGA中實現(xiàn)。由于Spartan 3E的BRAM資源有限,所以系統(tǒng)存儲的關鍵幀數(shù)據(jù)不會很多。將匹配圖像的顏色直方圖和形狀輪廓信息存儲在CAM中后,提取關鍵幀的顏色直方圖和形狀輪廓信息進行匹配。用這種方法可以提高關鍵幀匹配的速率,避免了系統(tǒng)的瓶頸。
關鍵幀匹配規(guī)則庫
視頻關鍵幀匹配規(guī)則庫的更新是提高視頻監(jiān)測準確性的關鍵。因此,視頻匹配規(guī)則庫良好的接口設計是用戶交互的重要方面,在本系統(tǒng)中,我們將關鍵幀信息存儲在CAM中,當用戶根據(jù)自己的需求,提取出自定義圖像的顏色直方圖和形狀輪廓特征信息后,可在線寫入CAM中,作為新的匹配規(guī)則。
告警響應處理單元
鑒于當前網(wǎng)絡攻擊方式的多種多樣和系統(tǒng)本身的處理能力有限,我們建議將此系統(tǒng)和其它網(wǎng)絡安全設備相結合構成網(wǎng)絡安全保障體系結構。綜合各種安全監(jiān)測設備自身的優(yōu)點和不足,合理利用有限的資源,全方位保障內部網(wǎng)絡的安全。
在此系統(tǒng)中,我們可以提取出視頻源的IP地址和端口號,如果確定當前視頻含有垃圾信息,系統(tǒng)將其IP地址和端口號傳輸?shù)襟w系中的防火墻等設備,由防火墻截斷其數(shù)據(jù)包的傳輸,并將其列入黑名單重點監(jiān)測。同時,提取出的關鍵幀還將由病毒掃描系統(tǒng)等安全審計設備進行檢查,防止視頻中捆綁有病毒和木馬等攻擊信息。
圖5 硬件實現(xiàn)示意圖
II.軟件實現(xiàn)
系統(tǒng)網(wǎng)絡接口
Lwip是瑞士計算機科學院(Swedish Institute of Computer Science)的Adam Dunkels等開發(fā)的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。Lwip既可以移植到操作系統(tǒng)上,又可以在無操作系統(tǒng)的情況下獨立運行.
LwIP的特性如下:
(1) 支持多網(wǎng)絡接口下的IP轉發(fā);
(2) 支持ICMP協(xié)議 ;
(4) 包括阻塞控制,RTT估算和快速恢復和快速轉發(fā)的TCP協(xié)議;
(5) 提供專門的內部回調接口(Raw API)用于提高應用程序性能;
(6) 可選擇的Berkeley接口API(多線程情況下);
(7) 在最新的版本中支持PPP;
(8) 新版本中增加了的IP fragment的支持;
(9) 支持DHCP協(xié)議,動態(tài)分配ip地址。
在Xilinx公司提供的ISE 10.1開發(fā)套件中,EDK開發(fā)軟件支持Lwip的應用,同時軟件自身包含Lwip的庫。因此,系統(tǒng)中的網(wǎng)絡接口我們全部基于Lwip的RAW IP模式開發(fā)。
關鍵幀提取
FFmpeg是用于制作和轉化流媒體音頻和視頻的完整解決方案, 包括 libavcodec ,一套先進的的音視頻編解碼類庫。FFmpeg 在Linux上開發(fā),當可以在大多數(shù)操作系統(tǒng)下編譯,包括Windows。
Ffmpeg開源項目由以下幾部分組成:
FFmpeg 視頻文件轉換命令行工具,也支持經過實時電視卡抓取和編碼成視頻文件;
FFserver 基于HTTP(RTSP正在開發(fā)中)用于實時廣播的多媒體服務器.也支持時間平移;
FFplay 用 SDL和FFmpeg庫開發(fā)的一個簡單的媒體播放器;
libavcodec 一個包含了所有FFmpeg音視頻編解碼器的庫.為了保證最優(yōu)性能和高可復用性,大多數(shù)編解碼器從頭開發(fā)的;
libavformat 一個包含了所有的普通音視格式的解析器和產生器的庫.
在系統(tǒng)中的網(wǎng)絡視頻解碼和關鍵幀提取單元,解碼器的實現(xiàn)是在開源音視頻解碼器庫libavccodec的開發(fā)上實現(xiàn)的。
RS232串口通信
1K Xmodem文件傳輸協(xié)議為基于點對點連接的服務與客戶端間的通信,提供了一種固定包長度的簡單的連續(xù)文件傳輸協(xié)議。每一個包都包含1024字節(jié)的文件數(shù)據(jù),并且都單獨的被接收客戶端響應。每次只能傳輸一個文件,并且失敗后只能從新開始傳輸。
圖 6
文件數(shù)據(jù)包格式1K Xmodem文件傳輸協(xié)議并不需要向接收客戶端發(fā)送待發(fā)送文件的名稱 ,該文件將會被接收方授予一個局部有效的文件名。 要開始文件傳輸?shù)倪^程,首先接收方向發(fā)送方發(fā)送一個輪詢字符,來提示發(fā)送方客戶端已經準備好了。如果接收方支持check-sum (CRC)校驗,則輪詢字符可以用0x43 (ASCII 字母 C);如果接收方只支持舊的checksum (求總和)校驗,則輪詢字符可以用0x15 (NACK線控制字符)。發(fā)送方響應接收方的啟動字符,開始發(fā)送文件數(shù)據(jù)包,每個包都是1024字節(jié)的固定長度。如果最后一個文件數(shù)據(jù)包不足1024字節(jié),則利用NACK(0x1A)填充到1024字節(jié)。接收方通過ACK(正常接收)或者NACK(非正接收)來響應每一個包。如果發(fā)送方收到ACK,則發(fā)送下一個包知道文件傳輸完成;如果發(fā)送方收到NACK,則重新發(fā)送上一個包。當發(fā)送方發(fā)送完成后,發(fā)送EOT通知接收方文件傳輸結束,接收方發(fā)送ACK來響應,發(fā)送方收到ACK后則文件傳輸完成。在系統(tǒng)中,eBox-4300通過1K Xmodem文件傳輸協(xié)議和Spartan 3E的RS232串口進行關鍵幀的傳輸。同時,系統(tǒng)也可以通過串口和系統(tǒng)管理主機進行通信。
圖 7 軟件實現(xiàn)流程圖
1.捕獲分析:用戶可根據(jù)實際情況,調整視頻數(shù)據(jù)包捕獲的標志字段,來截取當前網(wǎng)絡中的視頻數(shù)據(jù)包; 2.靈活的解碼系統(tǒng):由于當前流媒體文件格式多樣,我們在此系統(tǒng)中只進行了ASF格式流媒體文件的解碼,但用戶可以自己編譯自定義的解碼器并添加到當前系統(tǒng)中; 3.匹配規(guī)則更新:匹配規(guī)則的更新是系統(tǒng)高效工作的前提,系統(tǒng)良好的用戶交互界面,將幫助用戶輕松添加新的匹配規(guī)則到當前系統(tǒng)中; 4.協(xié)調功能:系統(tǒng)架構初期充分考慮到目前的網(wǎng)絡安全設備已經多種多樣,為了充分利用網(wǎng)絡中已有安全設備的資源,對一些常見的防御功能不再設計。因此,本系統(tǒng)可以很好地和其他安全設備交互網(wǎng)絡信息,協(xié)調工作功能,從而保障網(wǎng)絡各方面的安全。
評論