主頁(http://www.130131.com):基于B/S模式的嵌入式視頻監(jiān)控系統(tǒng)的設計 【中國集群通信網】視頻監(jiān)控系統(tǒng)將被監(jiān)控現場的實時圖像和數據等信息準確、清晰、快速地傳送到監(jiān)控中心服務器,監(jiān)控中心將實時、直接地掌握各個被監(jiān)控現場的當前情況(包括圖像、聲音及其他敏感數據),從而對敏感事件進行快速反應[1]。視頻監(jiān)控系統(tǒng)將被監(jiān)控現場的實時圖像和數據等信息準確、清晰、快速地傳送到監(jiān)控中心服務器,監(jiān)控中心將實時、直接地掌握各個被監(jiān)控現場的當前情況(包括圖像、聲音及其他敏感數據),從而對敏感事件進行快速反應[2]。 本文設計了一種具有用戶零維護、價格低廉、性能穩(wěn)定等特點的嵌入式視頻監(jiān)控系統(tǒng)。該系統(tǒng)以ARM處理器S3C2440和嵌入式Linux操作系統(tǒng)為核心平臺,通過USB攝像頭采集視頻數據,基于TCP/IP協(xié)議進行網絡傳輸,用戶通過瀏覽器即可監(jiān)控遠程視頻,視頻可以保存,以便回放。 1視頻監(jiān)控系統(tǒng)方案設計 1.1監(jiān)控系統(tǒng)硬件平臺設計 ![]() 監(jiān)控系統(tǒng)硬件平臺是整個監(jiān)控系統(tǒng)的基礎,在系統(tǒng)設計中占有至關重要的地位,硬件選擇的成功與否直接決定著系統(tǒng)功能的優(yōu)劣。本設計中主要硬件有NANDFLASH、嵌入式處理器S3C2440、SDRAM、網卡、USB接口攝像頭等。 視頻監(jiān)控系統(tǒng)的硬件結構方案如圖1所示。系統(tǒng)以S3C2440處理器為核心,外擴其他外圍設備。S3C2440處理器是SAMSUNG公司基于ARM公司的ARM920T處理器核,它是一款高度集成的芯片,主頻為400MHz,提供了一套較完整的通用外圍設備接口,支持性價比非常高的NANDFLASH啟動,可支持Linux等多種操作系統(tǒng)的移植[3]。 1.2監(jiān)控系統(tǒng)軟件方案設計 本系統(tǒng)選擇Linux操作系統(tǒng)作為軟件開發(fā)平臺,編譯環(huán)境采用交叉編譯調試的方式,嵌入式Linux的內核選用2.6.13,根文件系統(tǒng)采用yaffs。 一套完整的視頻監(jiān)控系統(tǒng)應該至少包含視頻數據的采集、處理、傳輸、存儲與控制等功能,為了很好地實現以上功能,本系統(tǒng)劃分為三大功能模塊:嵌入式流媒體服務器、嵌入式Web服務器和用戶視頻監(jiān)控端。嵌入式流媒體服務器模塊主要實現視頻數據的采集、存儲和傳輸等功能;嵌入式Web服務器模塊負責處理監(jiān)控端發(fā)來的請求并通過與瀏覽器的交互為用戶提供監(jiān)控平臺;用戶視頻監(jiān)控端模塊實現對遠程視頻的實時監(jiān)控,并且可以控制視頻的亮度和對比度等。 2嵌入式流媒體服務器的實現 流媒體服務器模塊的主要功能有視頻采集、視頻壓縮、視頻存儲和視頻傳輸。本系統(tǒng)采用中星微公司生產的ZC0301芯片的USB攝像頭,ZC0301主要由五大功能模塊組成,即系統(tǒng)控制、圖像信號處理、次取樣和水平掃描模塊、JPEG編碼器和USB設備控制[4]。采用該芯片的攝像頭應用最廣泛,方便購買和維護,經過此芯片處理后得到的是JPEG編碼的位流,實現了視頻的壓縮。
2.1基于Video4 Linux的視頻采集 Video4 Linux(簡稱“V4L”)是Linux中關于視頻設備的內核驅動,它是針對視頻設備的應用程序編程提供的一系統(tǒng)接口函數。視頻采集的基本流程如圖2所示。利用V4L對USB攝像頭的編程需要用到Linux下2個系統(tǒng)調用,分別是ioctl()調用和mmap()調用。 在V4L標準中提供了多個數據結構和控制命令,程序通過調用函數對設備進行控制,完成視頻采集的任務。ioctl()函數中主要的設備控制命令有: (1)VIDIOCGCAP:獲取采集設備基本信息,比如支持最大最小分辨率等; (2)VIDIOCSPICT、VIDIOCGPICT:分別為設置和獲取采集圖像的各種屬性; (3)VIDIOCGMBUF:獲取緩沖區(qū)信息,比如每幀大小、最多支持的幀數等; (4)VIDIOCMCAPTURE:捕捉圖像,獲取圖像信息; (5)VIDIOCSYNC:等待采集一幀圖像完畢。 應用程序獲取攝像頭采集的圖像數據有兩種方法,分別是read()(直接讀取的方法)和mmap()(內存映射的方法)。mmap()系統(tǒng)調用使得進程之間通過映射同一個文件而實現內存共享,優(yōu)點是效率高,因為進程可以直接讀寫內存,而不需要任何數據的拷貝,加速了I/O訪問,本系統(tǒng)就采用此方法。 (中國集群通信網 | 責任編輯:陳曉亮) |






