夏彬

摘 要 視頻監控系統越來越受重視,現提出一種基于嵌入式技術的視頻監控系統方案,與傳統方案相比具有體積小、實時性高、穩定性好的優點。選用S3C2410硬件平臺,Linux 操作系統和B/S架構。整個系統既能滿足視頻監控對網絡化、實時性的要求。
關鍵詞 S3C2410 Linux 操作系統 B/S架構
中圖分類號:TP393文獻標識碼:A
視頻監控系統主要用于現場的數據采集、處理、實時監控。國內外市場上主要推出的是數字控制的模擬視頻監控和數字視頻監控,采用的主要是自控技術、計算機技術,傳統視頻監控系統在大數據遠程通信等問題上受到限制,并且體積大、電源依賴性強、操作復雜。本文提供的方案更方便客戶使用。
1嵌入式視頻監控系統方案
整個系統分為:視頻數據采集及壓縮模塊和網絡數據傳輸模塊。其中視頻數據采集及壓縮模塊負責對說監控的視頻進行數據采集、處理、傳輸,以Linux系統和S3C2410為核心平臺,建立應用程序,把USB數字攝像頭采集到的圖像運用H.264高效壓縮算法將數據進行壓縮。網絡數據傳輸模塊負責回應客戶端發來的請求并且為客戶提供實時監控的數據;它建立Web服務器端和Web客戶端,利用TCP/IP協議,讓前臺和后臺進行相互交互。系統整體方案如圖1:
1
2視頻數據采集及壓縮模塊的實現
2.1軟硬件平臺的搭建
本系統采用的 S3C2410處理器是基于ARM公司的ARM920T處理器核,支持NAND閃存控制器,包含有UART,SPI等多個接口。其中所移植的Bootloader為U-Boot-1.16,它直接支持S3C2410處理器,因此移植過程中只需要做一些簡單處理:下載U-Boot并修改使其支持Nand Flash啟動。新建“u-boot-1.3.2/ board/smdk2410/nand.c”文件,修改“board/smdk2410/Makefile”文件,修改“u-boot-1.3.2/Include/configs/smdk2410.h”文件。完成Bootloader的移植后,則需進行Linux的移植,主要是移植其內核并添加USB、網卡等等的驅動程序。
2.2數據采集系統的建立
數據采集系統中采用微軟LifeCamHD系列的攝像頭,通過USB串口鏈接到S3C2410處理器,視頻設備內部驅動采用Video4linux2,它的視頻設備可以想普通設備文件一樣進行訪問與讀寫。一般操作如下:(1)打開設備文件并取得設備的capability。(2)選擇視頻輸入,設置視頻的制式和幀格式及幀的寬度和高度。(3)申請幀緩沖,將申請到的幀緩沖映射到用戶空間,將申請到的幀緩沖全部入列,采集視頻數據,通過出隊列得到原始數據,VIDIOC_QBUF,struct v4l2_buffer。(4)將緩沖重入對列尾,形成循環。
2.3數據壓縮系統
本方案采用H.264編碼技術壓縮視頻文件,它由視頻編碼層(VCL)和網絡適配層(NAL)組成,其中VCL主要包括核心壓縮引擎和塊、宏和片的語法句法定義。網絡提取層主要功能是定義數據的封裝格式,把VCL產生的字符串適配到各網絡來。其核心編碼技術有幀內預測編碼、幀間預測編碼和整數變換等。幀內編碼指利用幀相鄰宏塊的空間相關性,對周圍宏塊的預測值和實際值差值編碼。幀間預測碼是利用連續幀的時間冗余啦進行運動估計和補償。整數變換是使用基于4?像素塊的類似于DCT的變換,而且是以整數為基礎的空間變換。
3網絡數據傳輸模塊的實現
3.1 Web服務器的設計
網絡數據傳輸模塊由Web服務器部分和客戶端部分組成,Web服務器采用B/S模式,B/S即瀏覽器/服務器模式,將系統功能實現的核心部分集中到了服務器,客戶端統一用瀏覽器,簡化了系統開發、維護。本方案用boa-0.94.13服務器,它移植到ARM里需要將做如下改動:將#define TIMEZONE_OFFSET(foo)(foo)->tm_gmtoff改成#define TIMEZONE_OFFSET(foo)(foo)->tm_gmtoff. 將boa.c文件中 if(setuid(0)!=1){DIE(“icky Linux kernel bug!”);}注釋掉。修改生成的Makefile為針對嵌入式平臺。
3.2客戶端應用程序的設計
本方案采用Java Applet為用戶開發一個顯示界面,并為管理員開發管理窗口,設置不同的權限。本系統在顯示頁面中嵌入播放器播放監控視頻。整個系統的關鍵是建立Applet 與Servlet通信,具體過程如下:(1)創建URL對象。(2)與URL地址建立連接,可以調用openConnection( )函數來建立連接open Connection( )函數除了建立連接之外還進行通信初始化。(3)利用URLCOnne ction對象進行讀寫操作,本方案提出的基于嵌入式的視頻監控系統設計方案,采用簡單方便的ARM處理器和Linux操作系統,并基于B/S模式實現網絡傳輸,具有智能化、集成化、網絡化的特點,可廣泛應用很多場合。
參考文獻
[1] 曹少坤.一種嵌入式攝像機設計[J].微型接收機應用,2008(29).
[2] 張威.Linux網絡編程[M].北京:首都師范大學出版社,2002:143.