關 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設計應用 > 基于ARM的視頻安全監控終端的設計與實現

        基于ARM的視頻安全監控終端的設計與實現

        作者: 時間:2010-04-29 來源:網絡 收藏
         

        (1)鍵入命令make menuconfig,對內核進行配置,選擇YAFFS文件系統,支持NFS啟動,系統使用的是USB接口的攝像頭,故要啟用USB設備支持,包括USB設備文件支持、USB主控制器驅動等。此外,USB攝像頭屬于視頻設備,為了使應用程序能夠訪問它,還需要啟用Video4Linux模塊。

          (2)用make dep命令生成內核程序間依賴關系。

          (3)make zImage命令生成內核映像文件。

          (4)make modules和make modules_install命令生成系統可加載模塊。

          這樣就生成了zImage內核映像文件,把它下載到目標平臺的Flash中。

          本設計采用USB外置攝像頭,在內核配置時要求以模塊形式加載。首先要完成驅動程序,驅動中需要提供基本的I/O操作接口函數open、read、write、close的實現,對中斷的處理實現,內存映射功能以及對I/O通道的控制接口函數ioctl等,并把他們定義在struct file_operations中。這樣當應用程序對設備文件進行諸如open、close、read、write等,系統調用操作時,嵌入式Linux內核將通過file_operations結構訪問驅動程序提供的函數。接著把USB驅動程序編譯成可以動態加載的模塊,這樣攝像頭就可正常工作了。

          軟件的設計

          軟件按功能分為三部分:視頻采集、壓縮、傳輸。這個軟件的開發都是基于先前配置好的嵌入式內核。

          (1)視頻采集部分

          使用Video4Linux接口函數訪問USB攝像頭設備,捕獲實時的視頻流。首先完成v4l_struct數據結構的定義,如設備基本信息,圖像屬性,各個信號源屬性等;采集模塊一方面通過USB集線器采集USB攝像頭中的圖像,另一方面啟動多個采集線程,分別在不同的端口上監聽,一旦有請求連接,采集線程立即從設備緩沖區中把視頻流數據讀出,放入到視頻處理緩沖區中進行下一步的處理。

          (2)視頻數據的壓縮部分

          在系統中,大量的數據需要通過網絡傳輸,為了保證傳輸質量和傳輸實時性,就需要在傳輸之前進行編碼壓縮以減少數據量,本文采用MPEG-4編碼標準進行數據壓縮。在網絡上可以下載到開源的xvidcore軟件作為視頻壓縮的核心算法,xvidcore是一個高效的、移植性很強的多媒體編碼軟件,將它在PC機上進行交叉編譯,生成的文件拷貝到目標系統下。

          (3) 視頻數據傳輸部分

          傳輸模塊的作用在于把壓縮之后的視頻流傳送到遠程的PC機客戶上,視頻流數據的傳輸是基于TCP/IP協議。視頻傳輸采用了標準的RTP傳輸協議。RTP是目前解決流媒體實時傳輸問題的最好辦法,在Linux平臺上進行實時流媒體編程,需要使用一些開放源代碼的RTP庫,如LIBRTP、JRTPLIB等。定義一種較為簡單的握手協議:PC機端的采集程序不停地發請求數據包到采集,采集終端把已經捕獲的圖像打包返回給主機。每個RTP信息包被封裝在UDP消息段中,然后再封裝在IP數據包中發送出去。接收方自動組裝接收到的數據幀,還原成視頻數據。

        結束語

          本文介紹了一種基于的視頻監控系統的設計方案,采用軟壓縮算法,討論了系統的硬件和軟件設計。本系統和市場上其它視頻監控系統相比,開發周期短,價格低廉,適用于對視頻圖像要求不太高的場合。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凌源市| 柳州市| 漾濞| 辉县市| 盈江县| 四川省| 雅安市| 宁陕县| 朔州市| 张家口市| 玉溪市| 马关县| 阳山县| 安丘市| 芮城县| 桐城市| 霍城县| 南昌县| 平湖市| 黑水县| 黄大仙区| 江孜县| 昌吉市| 瓦房店市| 临沭县| 重庆市| 台东县| 张家口市| 墨竹工卡县| 黄骅市| 阳新县| 嘉兴市| 灵丘县| 磴口县| 马边| 临武县| 廉江市| 交城县| 新和县| 沂水县| 承德市|