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

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

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

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